When looking at portability, does NASM seem to be the best route to take?

What are some good books to get started, esp. on NASM (assuming the above statement is true)?

-----------------------

I have limited experience with 68000 programming, but have a background based mainly in C++, C, and Pascal.
Posted on 2007-03-17 00:42:39 by Betamax

When looking at portability, does NASM seem to be the best route to take?


It depends. If you are talking about *target* portability, well, the obvious limitation is the x86 and IA64/Itanium architectures. There is currently development going on to extend NASM to support x86-64.

If you are talking about *program* portability, as in it can "run on N platforms", then NASM would be the smartest choice as it is designed to run on as many platforms as possible due to its development in strict ANSI/C99 C. I don't think any other widely used assembler for the x86 architecture even comes close to this.


What are some good books to get started, esp. on NASM (assuming the above statement is true)?

-----------------------

I have limited experience with 68000 programming, but have a background based mainly in C++, C, and Pascal.


Well, since you already have some machine/assembly language experience with the 68K, you should probably just reference the Documentation Link found on the NASM Homepage. That link points to the latest version of NASMDOC, the NASM Documentation. NASMDOC can also be found any distribution of NASM. NASMDOC is also packaged inside The NASM32 Project, a project aimed at helping support various APIs (including LibC) in NASM with little difficulty.

NASMDOC is undoubtedly the most complete assembly language support documentation out there. It contains everything you need to operate NASM, from the syntax all the way to even describing the instructions themselves (icing on the cake.)

However, NASMDOC isn't a replacement for proper programming tutorials. Since you seem to have a background in programming already, it shouldn't be too difficult for you to *translate your ideas* into NASM :)

Good luck ;)
Posted on 2007-03-17 02:34:06 by SpooK
I don't think any other widely used assembler for the x86 architecture even comes close to this.

YASM does
Posted on 2007-03-17 07:47:24 by vid

I don't think any other widely used assembler for the x86 architecture even comes close to this.

YASM does


In case I didn't emphasize the obvious...

I don't think any other *widely* used assembler for the x86 architecture even comes close to this.

I think YASM is even less *widely* used than FASM, which removes it from the status of being *widely* used completely.

Since I don't like to spurt opinion over fact, I looked up some freshmeat.net statistics, a good level measure in terms of open source software ;)

NASM

  • Rating: 8.38/10.00

  • Vitality: 0.01%

  • Popularity: 7.39%



FASM

  • Rating: 8.32/10.00

  • Vitality: 0.05%

  • Popularity: 2.89%



YASM

  • Rating: 8.44/10.00

  • Vitality: 0.28%

  • Popularity: 1.28%



This doesn't even include how much NASM is used and distributed amongst Linux systems alone.

PS: Don't worry, I'm working on raising the NASM "vitality" meter ;)
Posted on 2007-03-17 09:38:47 by SpooK