汇编语言的集成编译环境RadSAM的安装及使用(转载)

声明:这篇文章转自我的一个学长,由于讲解十分清晰,因此收藏。原出处:www.reyoung.me


这篇日志介绍了如何在Windows下使用RadASM进行汇编开发,并配置Irvine的库。分为如下几个步骤:* 安装汇编语言的集成开发环境RadASM* 下载Irvine的开发库* 新建项目,配置Irvine库* 运行Hello World

安装汇编语言的集成开发环境RadASM

RadASM可以从这里下载。下载完成后,是一个安装包,安装过程没有什么注意事项,正常的安装程序就可以了。(也许会报病毒,我用Avast检测报毒。

安装完毕后,可以找到程序RadASM

下载Irvine的开发库

可以在Kip Irvine的官方网站下载它书籍的配套资料。大家可以下载vs2012的example就可以了。(八卦一下,下面那个Curtis Wong的Linux版本的Irvine32库,是天津大学咱的大学长黄耀龙写的。^V^)

下载完了是一个zip包。解压缩完毕了后,提取出Irvine32.inc, Irvine32.lib, Kernel32.lib, SmallWin.inc, User32.lib, VirtualKey.inc到某一个目录中

新建项目,配置Irvine库

打开RadASM,选择文件,新建工程。选择Console,填写完名称,一路下一步。

到目录的文件夹内,把刚才解压出来的那些文件,拷到项目的根目录。

输入课本中的示例程序:

 
 
  1. TITLE Add and Subtract (AddSub.asm)
  2. ; This program adds and subtracts 32-bit integers.
  3. INCLUDE Irvine32.inc
  4. .code
  5. main PROC
  6. mov eax,10000h ; EAX = 10000h
  7. add eax,40000h ; EAX = 50000h
  8. sub eax,20000h ; EAX = 30000h
  9. call DumpRegs
  10. exit
  11. main ENDP
  12. END main

点击菜单构建–构建并运行(Ctrl+Shift+F5),会报错

 
 
  1. Test.obj : error LNK2001: unresolved external symbol _ExitProcess@4
  2. Test.obj : error LNK2001: unresolved external symbol _DumpRegs@0
  3. Test.exe : fatal error LNK1120: 2 unresolved externals

报的错是Link Error,也就是Irvine32.lib没找到。那么在源代码加入如下几行即可

 
 
  1. INCLUDELIB Irvine32.lib
  2. INCLUDELIB user32.lib
  3. INCLUDELIB kernel32.lib

现在所有的程序为: TITLE Add and Subtract (AddSub.asm)

 
 
  1. ; This program adds and subtracts 32-bit integers.
  2. INCLUDE Irvine32.inc
  3. INCLUDELIB Irvine32.lib
  4. INCLUDELIB user32.lib
  5. INCLUDELIB kernel32.lib
  6. .code
  7. main PROC
  8. mov eax,10000h ; EAX = 10000h
  9. add eax,40000h ; EAX = 50000h
  10. sub eax,20000h ; EAX = 30000h
  11. call DumpRegs
  12. exit
  13. main ENDP
  14. END main

运行结果为:

 
 
  1. EAX=00030000 EBX=7FFDE000 ECX=00000000 EDX=00401000
  2. ESI=00000000 EDI=00000000 EBP=0018FF90 ESP=0018FF88
  3. EIP=00401014 EFL=00000206 CF=0 SF=0 ZF=0 OF=0 AF=0 PF=1
  4. Press Enter key to continue...
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值