- for x64
- on Windows
- using MASM
There are other 64-bit OSes, CPUs and assemblers for them, and people do use them.
- for x64
- on Windows
- using MASM
There are other 64-bit OSes, CPUs and assemblers for them, and people do use them.
Randell’s got another (large) book on ARM assembly. He’s also got a handful of other great books on software engineering in general - he’s more than aware that “there are other 64-bit OSes, CPUs and assemblers for them, and people do use them.”
This particular title, “the art of assembly” has been around for a while. This x64 version is the latest iteration - it’s a great book compared to the previous version which introduced and focused on “high-level-assembly”, basically a collection of masm macros that effectively constituted a small language.
It’s fair to say that anyone even remotely interested on x86/64 assembly is aware of AoA.
Anybody who is even cursorily interested in Assembly Programming knows of Randall Hyde and his works since he has been at it since the 16-bit days. One of the few authors with truly great depth.
Makes me think that most people commenting here know nothing about assembly and are simply posting empty comments for the heck of it. This has been a trend on HN lately of similar meaningless/useless comments on any topic.
https://www.amazon.com/Art-ARM-Assembly-Randall-Hyde/dp/1718... ?
Mmm nice. Will give it a try since ARM-based Mac is my main working environment nowadays.
Another excellent classic which you should checkout if you are interested in all things ARM is ARM System Developer's Guide: Designing and Optimizing System Software by Sloss, Symes and Wright. It is old and so does not cover newer ARM architectures but will give you a solid foundation for system programming.
In any case, today nasm is mostly equivalent with it, if not better, while being kept much more up-to-date with the Intel-AMD ISA extensions.
Unless, you want to use open source MASM-compatible assemblers like JWASM or UASM.
Yes I understand, other folks may prefer Linux/BSD, NASM/FASM, ARM etc etc.