使用VC6调试器源码级调试win32汇编程序
开发高性能的程序少不了用汇编编程,限于C语言中内嵌汇编语言的局限(如在C代码中混合汇编语言编程时,很难实现跳表),一些代码必须书写在独立的汇编源文件中。遗憾的是,在调试时,只能看到裸的汇编码,而不能到懂标号,变量等。 浏览罗云彬的汇编网站时,发现一个介绍《使用VC6调试器源码级调试win32汇编程序》的帖子,特转载之。使用VC6调试器源码级调试win32汇编程序[原创]
作者:maxzhou88(周哥)
本人拙笨,如有错误请批评指正,如有更好的方法或者技巧,欢迎互相zhougeng@tom.com
使用一个好的调试器无疑对学习win32汇编是至关重要的,本人更偏爱VC的强大调试环境, 不要makefile文件。
编程环境: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…/paths(include files)中添加一个路径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代码的哦.
WIN32 C/ASM 混合编程Demo下载: http://maxzhou88.ys168.com/
有空来下我的空间:http://hi.baidu.com/maxzhou88
:)
俺总也下载不下来MASM 6.15汇编编译器
MASM8带的是6.14吧
不支持SSE2 :)
独立汇编对变量和参数的支持比C嵌入汇编只强不弱 ml.exe 6.15 位于Visual C++ 6.0 Processor Pack, 需要下载并安装vcpp5.exe.
刚才查了一下该包中自带的ml.exe,版本号是6.15.8803. :(
该死的VC6是中文版
见不得SP5
我吐血 求一个无符号整数的10进制位数 中16# 给出一个在汇编语言源文件中使用跳表的实例。
页:
[1]