I'm returning to assembly programming after a long hiatus (anyone remember 286 assembly...?), and I'm wondering which (modern) assembler would be best for the following requirements:
- 32-bit and possibly 64. I assume that the only important difference is that the latter allows access to the full memory on those machines which may have more than 4 gigabytes, or am I missing something? Why do most people seem to be using 32-bit? In other words, is there a compelling reason to use one over the other?
- a format (syntax etc) which is reasonably standard
I was going to use MASM, but then I noticed the following bizarre requirement in the license agreement: "You cannot use the MASM32 Project to write software for Non-Microsoft Operating Systems."
Although my project will initially use Windows, nonetheless I may need to convert it later into a free-standing program that serves as an OS in its own right. If that becomes desirable, I don't want to have to tediously convert from one assembler format to another.
I'm still learning about the modern changes (floating point registers? No segment headaches?) and feeling a bit like a time-traveller from the distant past... so I'm hoping people will bear with me if my questions are naive.
Thank you for your advice.