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).
|