在网上溜达时看到一个不错的问答,问题难度不大,但回答的很精准:
-----------
懂nasm的进,
请问nasm程序的入口是什么 我怎么输入程序呢???
------解决方案--------------------------------------------------------
NASM和MASM有很大的不同。
在MASM中,要先定义段和程序入口点。过程调用还要显式的定义过程。
NASM支持两种编译方式,一种是传统的方法,这种方法显然是为了和其它公司的链接器配套工作。在这种方式下,可以使用SEGMENT或者SECTION来定义段。
另一种编译方式是纯二进制文件格式。原则上程序不分段。但也可分段,分段的控制由自己来进行。
如果不是为了灵活性和效率,建议不要转到NASM上来。不过,我自己用的就是NASM,它非常优秀,但对你这样脑子里还想着什么入口点的朋友来说,可能不合适,看来你用MASM用惯了。
------解决方案--------------------------------------------------------
使用nasm的时候...你从源文件往下看...看到第一句汇编指令开始时...这个就是入口了....
如果第一句是数据块定义的话...那么这个数据块就成了入口了.....机器认为这个是指令,而不是数据...
-----------
链接http://www.myexception.cn/assembly-language/335158.html
2012-8-14 吉首
-----------
懂nasm的进,
请问nasm程序的入口是什么 我怎么输入程序呢???
------解决方案--------------------------------------------------------
NASM和MASM有很大的不同。
在MASM中,要先定义段和程序入口点。过程调用还要显式的定义过程。
NASM支持两种编译方式,一种是传统的方法,这种方法显然是为了和其它公司的链接器配套工作。在这种方式下,可以使用SEGMENT或者SECTION来定义段。
另一种编译方式是纯二进制文件格式。原则上程序不分段。但也可分段,分段的控制由自己来进行。
如果不是为了灵活性和效率,建议不要转到NASM上来。不过,我自己用的就是NASM,它非常优秀,但对你这样脑子里还想着什么入口点的朋友来说,可能不合适,看来你用MASM用惯了。
------解决方案--------------------------------------------------------
使用nasm的时候...你从源文件往下看...看到第一句汇编指令开始时...这个就是入口了....
如果第一句是数据块定义的话...那么这个数据块就成了入口了.....机器认为这个是指令,而不是数据...
-----------
链接http://www.myexception.cn/assembly-language/335158.html
2012-8-14 吉首