How do I compile assembly code?
A good friend of mine found and gave me a book on intel 80x86 assembly coding. One rather large fact that t开发者_高级运维he books skips over is what program you should use to code with. Any suggestions?
Depending on your platform, you may be interested in gas
, yasm
, nasm
, or masm
. Most Linux systems should have one of the first three in their package management system, and the fourth, the Microsoft Macro Assembler, is free on the internet.
PCASM is a free text book that you may wish to consider as a companion to your friend's book. It is written by Dr Carter, a university professor. It uses real code and teaches you how to compile with NASM. It also covers how to integrate with C/C++ libraries. Its a great book and teaches you some of the internals of C++ code. NASM is a great way to go if you want portability.
In College I learned from Irvine's Intel Assembly Book. The book covers the MASM compiler. I found this a little easier to learn from, unfortunately, the book is not free.
I would use PCASM as a companion book. Its fairly short and covers some interesting topics as I mentioned.
You could try the open source GNU Assembler: http://www.gnu.org/s/binutils/
An open source alternative is the flat assembler
, FASM.
精彩评论