我想把我的疑问写下来,相信有很多人会有与我同样的问题。
在从16位汇编向32位汇编转变的时候,我突然发现,原本用MASM5.0和LINK(这里指的是Segment Executable Linker)可以圆满完成任务的过程,在转变成32位汇编的时候,却出了我很那以理解的问题。
目前我所知的:
1. 利用MASM6.10以上版本以及link(Incremental Linker)可以成功编译、链接32位的保护模式下的源代码,生成在32位和64位下皆可以运行的程序。
因为MASM6.10以上版本开始支持COFF格式,并且Incremental Linker可以将coff格式链接为PE可执行文件。
据我所知,Incremental Linker是不能成功链接OMF格式的OBJ文件的。
2. 运行于保护模式下的程序的.MODEL模式一定是平坦内存模式。
.MODEL flat,stdcall
3.