You are not logged in.
Pages: 1
I recently bought a book to help me learn assembly, but it was published in 1992 and uses DOS (TASM or MASM I presume?). My question is, is it worth reading that to understand assembly and then find an online tutorial that is geared toward NASM?
Offline
NASM syntax follows the Intel convention as does TASM/MASM, so it won't be hard to make the switch.
DOS environment is 16bit and 16bit x86 assembly is pretty simple and might be a good starting point, though it would be better if you found a more recent book, because you'll be working in the so called "real" mode with 16bit assembly, using the old segmentation system, and all of that is deprecated.
In my book, any assembly is better than no assembly
Offline
I'd say it depends on your reasoning for learning assembly. If you're learning for the sake of learning, then MASM/TASM is fine. If you're learning to do anything real with it, then learn GAS syntax. This is what gcc uses. It's different in that the operands are reversed ("ins src, dst" instead of "ins dst, src") but the syntax itself is fairly similar.
The Art of Assembly Language is supposed to be a decent tutorial, though I haven't had time to get around to reading it myself (yet).
Offline
Thanks guys. I am actually learning it to assist somebody I know with a kernel written in assembly (x86 of course). However, that person uses TASM on DOS, so I wanted to know if it would be a problem, especially considering the book uses DOS as well, and I obviously use linux with NASM (I hate GAS)
The Art of Assembly Language is supposed to be a decent tutorial, though I haven't had time to get around to reading it myself (yet).
Thanks! I'll have a look around that.
Last edited by cesura (2010-04-02 18:04:10)
Offline
First don't use GAS but NASM as already suggested. AT&T-Syntax just sucks imo...
Second don't use The Art of Assembly Language because it uses highlevel assembly what you don't want to learn for sure! If you already know assembly you may take a look at highlevel-assembly because it's no real language but just uses lots of macros to make assembly coding easier but I don't think you will learn the concept of assembly with it.
I would suggest get your self a copy of the intel instruction reference for your cpu, learn the basics about using syscalls and memory-managment and your halfway through
http://www.intel.com/products/processor/manuals/ (Instruction Reference)
http://www.cin.ufpe.br/~if817/arquivos/ … index.html (Small NASM and assembly introduction)
http://asm.sourceforge.net/resources.html#projects (Assembler example programs to read the source and learn from it)
Some forums with skilled assembly-folks to ask questions:
* http://www.woodmann.com/forum/
* http://community.reverse-engineering.net/
have phun
Offline
Pages: 1