请问怎么在vc6上运行win32汇编文件

请问怎么在vc6上运行win32汇编文件,第1张

编程环境:VC6.0,Masm32v8

方法如下:

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汇编,那就不知道了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11174278.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存