如题,在学习汇编的时候,结合书上的例子去编写。环境是 XP + masm6.15 。
代码:
INCLUDE Irvine32.inc
.code
main PROC
mov eax , 1000h
call DumpRegs
exit
main ENDP
END main
问题有二:
1、就是包含的那个.inc 文件的目录应该如何设置。源程序不在安装目录下,是不是应该给那个.inc 文件加上目录之类的信息?
2、我把那些需要用到的.inc文件都拷贝到了源代码的目录下,用ml 命令编译都通过了。但是报告连接的时候有错误。
报告时: warning : converting object format from OMF to COFF
error : entry point must be defined
------解决方案--------------------------------------------------------
1. 可以直接给 .inc 加上完整的目录信息;也可以在编译时给 ml.exe 程序通过 /I 选项说明 inc 文件所在目录;或者是通过 INCLUDE 系统环境变量说明 inc 文件所在的目录。
2. 这个提示,应该是所用的连接程序 link.exe 只支持 Win32 类的程序创建,不支持 dos16 类的。看看 其 bin 目录下有没有 Link16.exe 这样的程序,有的话就用它;如果没有,可能要重新找份 Masm6 了。还有个简单的判别方法,就是运行 link 后,如果提示的版本为 x.xx.xxxx 这样的,就是 Win32 类的;如果是 x.xx 则一般是 dos16 类的。这两类 link.exe 不通用。
------解决方案--------------------------------------------------------
warning : converting object format from OMF to COFF 警告:将Obj文件格式从OMF转换成了COFF(应该是你编译的时候没有指定格式。)
error : entry point must be defined 入口点必须定义(显然你没有指定入口点。)
应该是你的连接命令有错误吧。
------解决方案--------------------------------------------------------
1 在include写全路径
2 如1楼所说