Comment by ptspts

2 months ago

I do systems programming in i386 (32-bit) assembly language with NASM.

For me it doesn't scale beyond a few dozen kilobytes (executable program file size) per program. For others (such as Chris Sawyer) assembly scales much better.

Did you get a look at fasm [0] ? It has nice capabilities

[0] : https://flatassembler.net/

  • fasm is indeed great. It has many features, it can do all the code size optimizations, it even knows the sizes of variables (e.g. `mov myvar, 5` depends on `myvar db 0` vs `myvar dw 0`). NASM and fasm syntax are quite similar.

    NASM supports more output file formats (i.e. .o files for many systems), and it can receive macro definitions from the command line (e.g. `nasm -DDEBUG`).