Assembly Language on the PC

Community Forums/General Help/Assembly Language on the PC

Ian Thompson(Posted 2009) [#1]
I would quite like to learn this, for low level optimisation purposes, anyone know of any good sites/books?


Who was John Galt?(Posted 2009) [#2]
I would suggest Flat Assembler as your tool of choice. It's free, well designed and it's what BlitzMax uses to assemble it's code. Start at flatassembler.net. There should be some intro tutorials avalable from there.


Ian Thompson(Posted 2009) [#3]
Looking now... thanks John.


xlsior(Posted 2009) [#4]
In all reality though, most modern C computers are already doing a lot of optimization on the backend, it are a *whole* lot more readable than plain ASM... Unless you're writing something small where execution speed is more important than anything else, ASM isn't exactly the most practical language to program in anymore.

(Plus it's a lot easier to port C to 64 bit than a native ASM program)


BlitzSupport(Posted 2009) [#5]
Here are some links I've picked up along the way, not that I've ever tried to actually learn x86 assembly or will ever do so...

Some introductory stuff...

http://webster.cs.ucr.edu/AoA/index.html
http://www.csn.ul.ie/~darkstar/assembler/
http://www.drpaulcarter.com/pcasm/
http://burks.brighton.ac.uk/burks/language/asm/asmtut/asm1.htm
http://www.winasm.net/

More advanced...

http://www.jegerlehner.ch/intel/
http://www.df.lth.se/~john_e/fr_gems.html
http://www.agner.org/optimize/

It might be an idea to try starting with a simpler processor, eg. Z80, 6502, etc, to get the basics, using a Speccy/C64/Amstrad emulator, especially as you can usually call asm code from their BASIC environments.


Ian Thompson(Posted 2009) [#6]
Thanks James, that's a great set of links, just what I was look for.

Well, I am an old hand with 8/16bit assembly and recently surprised myself with how much I actually remember.

I feel its one of those things that's good to have under you belt, very handy to know you can touch metal if need be.

I will use Delphi, because its got an easy in-line mode (or maybe have a look at the hybrid HLA language for learning).

Thanks to all,