3 ms·
While you're at it, any alternative recommendations? I'm still a novice at writing assembly (more interested in code gen and instruction set design than coding
by silentbicycle 15y ago
While you're at it, any alternative recommendations?
I'm still a novice at writing assembly (more interested in code gen and instruction set design than coding assembly by hand), but I've found these helpful:
* http://asm.sourceforge.net/resources.html
* http://www.intel.com/products/processor/manuals/
* http://news.ycombinator.com/item?id=1662430 (good resource, link to HN discussion)
- gnosis 15y agoIf you're going to be writing assembly on Linux, you should decide which of the two major syntaxes to learn: - AT&T (gas, gcc inline assembly) - Intel (nasm, fasm, yasm, but also gas) Some links to help you decide: Pro-gas: http://www.deater.net/weave/vmwprod/asm/ll/README.gas_sucks http://www.deater.net/weave/vmwprod/asm/ll/README.gas_sucks Anti-gas: http://x86asm.net/articles/what-i-dislike-about-gas/ http://x86asm.net/articles/what-i-dislike-about-gas/ Neither/both: http://www.ibm.com/developerworks/linux/library/l-gas-nasm/index.html http://www.ibm.com/developerworks/linux/library/l-gas-nasm/i... Neither: http://webster.cs.ucr.edu/AsmTools/WhichAsm.html http://webster.cs.ucr.edu/AsmTools/WhichAsm.html If you decide to go with AT&T/gas, check out "Programming from the Ground Up", by Jonathan Bartlett: http://download.savannah.gnu.org/releases/pgubook/ http://download.savannah.gnu.org/releases/pgubook/ If you decide to go with Intel/nasm, see "PC Assembly Language" by Paul A. Carter: http://www.drpaulcarter.com/pcasm/ http://www.drpaulcarter.com/pcasm/ Also, the following tutorial is focused on DOS/8086, but it's really unique in that it's very interactive, and provides you with a fully functional assembly interpreter and 8086 simulator: http://www.btinternet.com/~btketman/tutpage.html http://www.btinternet.com/~btketman/tutpage.html I highly recommend it for getting a quick feel for the basics, though some of the DOS/8086 specific stuff in it won't apply to Linux.