开发高性能的程序少不了用汇编编程,限于C语言中内嵌汇编语言的局限(如在C代码中混合汇编语言编程时,很难实现跳表),一些代码必须书写在独立的汇编源文件中。遗憾的是,在调试时,只能看到裸的汇编码,而不能到懂标号,变量等,现在能这样C与ASM混合编程就方便多了。
编程环境:VC6.0,Masm32v8
优点:
[1] 使用VC6.0集成开发环境可以利用其强大的Debug功能来实现源代码级调试(Source Code Debug),(看变量、设置断点、查看MASM32的高级命令展开......)
[2] 使用VC6.0的资源编辑器,可视化编辑资源。
[3] 实现C/C++与ASM的混合编程。
[4] 在窗口下比在CMD下工作符合一般人的习惯,再也不需要写makefile文件或xxx.bat文件了。
方法:
[1] 安装VC6.0,这个我就说了,大家都会的哦,一般我将它安装在 C:\Program Files\ Microsoft Visual Studio。
[2] 安装MASMv8.exe,一般我将它安装在 D:\MASM32 下。
[3] 将Win32ASM(masm32)中的ml.exe和ml.err拷贝到C:\Program Files\ Microsoft Visual Studio\VC98\Bin
[4] 使用VC6.0新建一个空工程,如:hello(类型为:win32 console、win32 application、DLL等均可)。
[5] 把汇编和资源文件拷至新建工程目录下(hello.asm,hello.rc),并把这些文件加入工程中(将*.asm添加到Source Files, 将*.rc添加到Resource Files)。
[6] 配置IDE(这就配置一次就搞定):在VC的菜单tools/option…/paths(include files)中添加一个路径d:\MASM32\INCLUDE
[7] 配置工程(每个工程都要这样配置):打开工程设置(project settings),点击*.asm文件选择(Custom Build),
命令中加上: ml /c /coff /Zi /Fo$(TargetDir)\$(InputName).obj $(InputPath)
输出中加上: $(TargetDir)\$(InputName).obj
注意选Settings for: Win32 Debug 和 Win32 release,将上面的两条都加上,而且每个*.ASM文件(如有多个ASM时)都这样设置。
[8] 点击VC的编译(build)就可以运行了哦。
至此就可以使用VC调试器源码级调试汇编程序了,可以设置断点,察看变量、内存、寄存器等,masm出现语法错误时可以双击output window中的错误行定位到程序中的指定行。
为了不在debug和release目录中产生超大的预编译头文件xxxx.pch,在工程设置(project settings)中的C/C++ -> Precompiled Headers的选项上选择"不使用预编译头",其实就现在的电脑而言,不使用预编译头也能快速地编译C代码的哦.
分享到:
相关推荐
教你如何用VC6.0集成开发环境来构建MASM32汇编的编程环境
VC6集成汇编环境,包括Masm32安装包及配置方法,保证成功,可以联系我:QQ363115351
MASM6.0集成汇编开发环境,可视化编辑
MASM8.0 汇编集成开发环境 Many remember assembler as a complex and tedious necessity when a high level language failed to deliver in terms of capacity or performance yet it has always been capable of ...
著名的汇编语言开发工具,MASM 6.0,其中包含编译器和连接器等
它的汇编编译器用的是MASM软件包中的ML.exe,资源编译器和32位链接器使用的是Microsoft visual stdio中的Rc.exe和Link.exe,同时包含了Microsof visual Studio中的其他一些工具,如Lib.exe和DumpPe.exe等,所有的工具...
MASM6.0 DOS环境下汇编工具
32位汇编开发工具MASM32,骨灰级底层开发工具。
masm32汇编语言编译工具,特好用。 masm32汇编语言编译工具,特好用。
MASM 集成汇编环境
windows环境MASM32汇编程序设计学习笔记windows环境MASM32汇编程序设计学习笔记windows环境MASM32汇编程序设计学习笔记windows环境MASM32汇编程序设计学习笔记
实验二 MASM 汇编器使用 .386 .model flat, stdcall option casemap :none include \masm32\include\windows.inc include \masm32\include\kernel32.inc include \masm32\include\masm32.inc includelib \masm32\lib...
table.c,g.c,其中sca.c是扫描文件,生成符号流,p.c 是生成语法树,table.c是生成各种变量的表,g.c是直接生成masm32汇编代码),是c编译器,想学编译原理的可以看看,是将c语言编译成masm32汇编,编译好后可以用masm...
一款经典的汇编编程环境,不过需要在cmd中以命令行运行,建议大家去网上搜一下使用方法
Win10系统VS2022开发环境中X86Win32汇编MASM32环境配置和一些.docx
汇编语言MASM MASM 6.0是1991年推出的,支持80486处理器,它对MASM 进行重新组织,并提供了许多类似高级语言的新特点。MASM 6.0之后又有一些改进,微软又推出MASM 6.11,利用它的免费补丁程序可以升级到MASM 6.14...
masm32汇编手册,罗云彬写的..很好用...
微软宏汇编。的安装,解压后,分批拷入待安装机器吧。
MASM32是面向WIN32程序开发的,MASM611是面向DOS的,MASM32不使用中断调用了,而是使用微软的应用程序开发接口API和其他高级开发语言差不多了。而MASM611才是使用中断。 解压后大约15M 而压缩后才3.4M 分享学习的...
前段时间自己业余抽空花了三个月编了一个c语言编译器,将c语言编译成masm32。总共4个文件,2000多行的代码,其中sca.c是词法,p.c生成语法树,table.c是符号表,g.c是转化成具体masm32代码,只支持char,short,int,...