VS2005下编译调试保护模式32位汇编程序总结

记得当初学习汇编的时候,由于时间紧张,基本上没怎么整理汇编的开发环境的使用方式。当初也就是用命令还随便编译了几个简单的程序而已,也只能算是小打小闹。好歹现在有时间了,闲来无事,于是重新拾起汇编程序,把用VS2005开发汇编应用程序的方法和大家分享。废话少说,下边开始我们的VS2005下汇编的第一个HelloWord程序。

第一步:准备工具。

下载安装Visual Studio 2005,从链接 http://ishare.iask.sina.com.cn/f/7754633.html?from=isnom 注册下载《Intel汇编语言程序设计第四版》的随书光盘。里边的资料稍后会用到。下载后解压,若不能正常解压,直接打开拖拽出来即可。解压后将setup运行,安装MASM6.15,路径按照默认在C:/Masm615不要修改。好的,准备工作完成。

       第二步:建立工程。

打开VS2005,点击 文件->新建->项目,选择Win32 控制台应用程序,输入项目名(HelloWord),点击确定。

点击下一步,勾选空项目,点击完成。

进入项目后,右键源文件->添加->新建项,选择代码,C++文件,输入汇编源文件名称,以.asm为后缀(HelloWorld.asm),点击添加.

在源文件中键入HelloWorld代码,32位汇编代码如下:

TITLE HelloWorld         (HelloWorld.asm)  ;标题

comment *

    创建的第一个HelloWorld 32位汇编程序

*

INCLUDE Irvine32.inc ; 32位汇编程序必须的包含文件

.data  ;数据段

;要显示的字符串,后跟回车/换行和结尾符

hello byte "Helloworld,this is my first assemble programe !",0dh,0ah,0

.code  ;代码段

main PROC  ;主程序入口

    mov edx,offset hello ;传递参数  

    call WriteString  ;显示字符串

    exit   ;主程序退出

main ENDP

END main

第三步:配置项目。

              针对每一个项目都需要重新配置,虽然有点繁琐,但是只是在项目刚建立的时候配置,配置完后就不需要管了。

1.       右击项目名称->自定义生成规则, 打开“Visual C++ 自定义生成规则文件窗口, 勾选可用的规则文件“MicrosoftMacro Assembler”,然后单击确定按钮关闭窗口。

2.       如果自定义生成规则成功,右击相应项目名称,选择属性菜单项,打开属性页窗口,在左手框中会出现“Microsoft Macro Assembly”配置属性,否则没有。设置Microsoft Macro AssemblyGeneralInclude Paths项目设置为刚才安装的MASM6.15目录的INCLUDE文件加夹,应该是C:/Masm615/INCLUDE这么做正是和代码的INCLUDE命令相呼应。INCLUDE文件夹下有文件Irvine32.inc

3.       还是属性页,展开连接器,选择输入属性,在右手框中的附加依赖项属性后键入值Irvine132.lib,即连接库文件名。这样Irvine32.inc就有依赖库了。

4.       针对依赖库,上边的做法还不够,除非你把他拷贝到当前的程序目录中,否则会找不到,因此我们还是最好指定他们的路径为妙。在安装的Masm6.15目录C:/Masm615/LIB有这个库文件,所以我们应该指定指定链接器/常规/附加库目录属性值为C:/Masm615/LIB

至此,项目的配置工作完成。

第四步:调试运行。

选择调试->启动调试或者开始运行,可以调或者运行试该项目。方法和C++项目相同,可以添加断点,监视变量等,这里不再赘述。下边你可以开始自己的32汇编程序的开发之旅了。

 

附加说明:

这里主要介绍了32为保护模式汇编程序的编写,对于16位实模式或者虚拟8086汇编程序的开发经过我的测试貌似这么做不大支持,大家感兴趣可以自己补充。

如果实在需要编译调试16位程序的话,可以使用刚才安装的Masm6.15自带的工具make32.bat(理论上应该使用make16.bat,但是经测试make16.bat不能生成.exe文件,而make32.bat可以)进行开发。详细使用方式可以参考Intel汇编语言程序设计第四版》(下载链接:http://ishare.iask.sina.com.cn/f/11209526.html  )的附录A。大家感兴趣可以自己学习。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值