留个爪,稍后学习php
选择编译器
nasm?fasm?yasm?仍是masm、gas或其余?html
前面三个是免费开源的汇编编译器,整体上来说都使用Intel的语法。yasm是在nasm的基础上开发的,与nasm同宗。因为使用了相同的语法,所以nasm的代码能够直接用yasm来编译。编程
yasm虽然更新较慢,但对nasm一些不合理的地方进行了改良。从这个角度来看,yasm比nasm更优秀些,而nasm更新快,能支持更新的指令集。在Windows平台上,fasm是另外一个不错的选择,平台支持比较好,能够直接用来开发Windows上的程序,语法也比较独特。在对Windows程序结构的支持上,fasm是3个免费的编译器里作得最好的。学习
masm是微软发布的汇编编译器,如今已经中止单独发布,被融合在Visual Studio产品中。gas是Linux平台上的免费开源汇编编译器,使用AT&T的汇编语法,使用起来比较麻烦。ui
因为本书的例子是在祼机上直接运行,所以笔者使用nasm,由于它的语法比较简洁,使用方法简单,更新速度很是快。不过若是要是用nasm来写Windows程序则是比较痛苦的,这方面的文档不多。.net
从nasm的官网能够下载最新的版本:http://www.nasm.us/pub/nasm/releasebuilds/?C=M,也能够浏览和下载其文档:http://www.nasm.us/docs.php。设计
参考:htm
http://book.2cto.com/201209/5464.html
http://blog.csdn.net/broadview2006/article/details/8176974
http://blog.csdn.net/broadview2006/article/details/8181182
http://blog.csdn.net/broadview2006/article/details/8058755blog
编程ING:人人都能学会程序设计开发
http://blog.csdn.net/broadview2006/article/details/7789622
支撑处理器的技术——永无止境地追求速度的世界
http://blog.csdn.net/broadview2006/article/details/8174696
-----------------------------------------
特别须要补充的两个开源软件是:FreeDOS,MiniGUI