方法如下:
1、 使用VC6新建一个空工程如test(win32 console,win32 application等均可)。
2、 把汇编工程中的文件拷至新建工程目录下(hello.asm,hello.rc),并把这些文件加入工程中(将*.asm添加到Source Files, 将*.rc添加到Resource Files)。
3、 配置IDE:
(1)、tools/option,Directories下的Include files,Directories:中添加一个路径d:/MASM32/INCLUDE 这是假设你的Masm32v8安装在d:/MASM32
(2)、打开工程设置(project settings),点击*.asm文件选择(Custom Build),
命令中加上: ml /c /coff /Zi /Fo$(TargetDir)/$(InputName).obj $(InputPath)
输出中加上: $(TargetDir)/$(InputName).obj
注意选Settings for: Win32 Debug 和 Win32 release,将上面的两条都加上。
(3)、将Win32ASM中的ml.exe和ml.err拷贝到C:/Program Files/ Microsoft Visual Studio/VC98/Bin
5、点击VC的编译就可以运行了。
至此就可以使用VC调试器源码级调试汇编程序了,可以设置断点,察看变量、内存、寄存器等,masm出现语法错误时可以双击output window中的错误行定位到程序中的指定行。
为了不在debug和release目录中产生超大的预编译头文件xxxx.pch,在工程设置(project settings)中的C/C++ ->Precompiled Headers的选项上选择
"不使用预编译头",其实就现在的电脑而言,不使用预编译头也能快速地编译C代码的.
1 新建工程,这时会让你选择要不要加入KEIL的启动代码,随便选(最好选是)2 新建新文件,保存为xx.asm或xx.a51
3 把刚才的文件加入到工程
4 如果你开始时选否,即未加入启动代码,那么启动跳转、堆栈SP的初始化、
内存初始化、重入栈初始化、标准51寄存器定义、段定位等都要自己弄,估计你搞
不定,但是这样你可以自由写
5 如果你选的是加入KEIL的启动文件,那么这些你就不必写,都好了,但是问题是这个启动文件
最初的目的是针对C51程序写的,因为这个启动文件的最后一句是去调用main()函数段,所以你
要么把这个main()函数段的申明和调用都去掉,让他去调用你自己 的函数段,要么你就干脆写个他想调用的那个main函数段段名,让他以为 就是main函数,让他调用好了
6 再简单一点,你也别新建什么文件,直接删掉它的最后一句main调用和main函数段申明,就在删掉 的那里写自己的程序
7 再再简单一点,启动文件也别要了,直接新建asm文件,从地址0开始写 ORG 0000H,如果你的程序足够简单, 也不一定要什么函数段、不一定要修改SP、更不必关心什么重入呀、初始化代码呀
8 如果你问的不是51汇编,那就不知道了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)