汇编语言学习及实验环境的建立

       学习汇编语言的好处不言而喻,特别是对于做底层开发,c和c++开发开发人员来说,可以深入底层加深理解,直正懂得什么是计算机语言,写出真正高效的程序,可以深入调试,快速定位bug。尤其对逆向分析人员来说,不懂汇编那几乎是不可能的事情。还有很多好处就不一一述说了。
       汇编语言难学很大程度也在于没有一本好的教材,特别是没有一本好的实践的教材和集成的实战环境,让很多人想学又无从下手,很多大学讲授汇编语言也只是照着书念几下,并无实践行动,很大程度上可能教师也无实践能力。
       早年逛书店看遍所有汇编语言教材,看到一本书<<汇编语言程序设计>> 作者朱玉龙,任文岗,朱彤 。马华东 审。存细看了一下不错,重点是作者开发一套实验环境,可以将编辑,编译,连接集成在一起,方便实践,另外汇编没有输入输出方法,靠中断实现输入输出,很不方便,作者开发一个实现在汇编下输入输出的库。用这本书及其环境可以顺利的实现16位汇编语言的学习,为国内为数不多的实践性强的教材。但是后继这么多年,没有看到作者的新版出来,现在windows平台下已经不兼容16位汇编了,它的环境只能在xp上运笔,或者装模拟器运行,搞起来挺繁琐。总的来说这书讲得挺细,也挺清楚,认真学也有不少收获。
        现在在windows平台下建立汇编环境其实挺简单,虽然感觉不那么“正宗”,其实是一样的,汇编指令都能用,和很多教材讲的格式也大同小异,使用的Intel指令格式,
玩熟悉了,使用其它汇编工具也就好理解了。讲解在Windows平台上开发汇编的一本非常好的教材是Kip IrVine教授出版的<<Assembly Language for X86 Processors>>目前最新版是第七版,个人感觉这是一本讲的非常好的书,作者同样开发了一套辅助库,顺利完成实践平台的建立和学习。这里不得不敬佩美教授的治学作风。严谨、细心、亲力亲为,像写代码这种事咱们很多教授是很不屑去做的。
        现在使用vs2017就能开发汇编语言,支持32位和64位,无需单独安装MASM,只要装了vs2017就自动装了MASM。在这里看看微软的官方文档。
https://docs.microsoft.com/en-us/cpp/assembler/masm/microsoft-macro-assembler-reference?view=vs-2017
这里也讲了加入一个汇编文件到vc++项目里面去,但是照着他的讲法跑不起来,最后看了Kip IrVine的网站,才明白了少了一个选项, 即应点中汇编文件,右键进入属性,配置属性->常规->项类型,选择Microsoft Macro Assembler。很多人都忽略这项,费了老大劲跑不起来,包括网上介绍如何使用vs2017开发汇编的文章,都没有提到这里,也是跑不起来。
        下面是Kip Irvine的教材对应的资料,里面有很详细的讲解和相关学习资料,讲的非常细致,包括开发环境如何建立,甚至代码语法关键字高亮风格都有详细介绍。
    http://www.asmirvine.com/
    如果打不开的可能要使用vpn啥的才能访问,具体原因大学都明白。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值