It might be important to mention some of the reasons that we delve into assembler code on occasion.
I've worked with HotBasic for awhile, and I like it, to a point. That point is where I come up against
problems that I want to use Assembler language to address, then find out that the Assembler function
is a part of the compiler's responsibility, and that the range of acceptable Assembler code is limited
and there are discrepancies in how it translates the Assembler mnemonics into hexidecimal opcodes. HotBasic pays more attention to FPU instructions than it does to getting any and all the operations
related to strings set in place and working as they should. If you can work out the hex opcodes
yourself, you can enter them as data bytes as part of the opcode sequence, but that means two
things: (1) It's extra work of course, and (2) can you trust it to get everything else right without you
having to double-check everything?
Mind, I am not knocking HotBasic, because there is a lot to like about it. But I've about decided that it
is not for me. So in looking about with Google for something to replace it, something that can work
with just about any OS, and either 32-bit or 64-bit CPUs, and that has good assembler support, what do
I find at the top of the results? PureBasic. PureBasic, which I've had for years, but never have had
cause to get into before. Before HotBasic it was PowerBasic, but I've moved away from that as well.
For one thing. the upgrades are too expensive if you have limited income, and I am retired now.
Other reasons for leaving PowerBasic are rather personal, and I won't get into that.
But, the reason for this post is to explain what Assembler can mean to the programmer that learns to
use it. You can achieve great things in working with strings, the contents of strings, doing pattern
matching, content identification, restructuring, and a host of other activities that can also be done in
BASIC, but with BASIC, may involve repeated scans of the strings and needless duplication of the string
contents. With Assembler, you can cut to the chase and that means avoiding unnecessary stepss. I've
no reason myself to get into Floating Point computations, so having all the FPU instructions as my
disposal in Assembler does not impress me. I mean it doesn't hurt anything, but I want my string
capabilities to be first and foremost.
has-been wanna-be (You may not agree with what I say, but it will make you think).