汇编学习总结一(10.27)

2 篇文章 0 订阅
1 篇文章 0 订阅

今天,学习了网上的汇编视频教程,非常好,有可能据王爽本人,据说他的《汇编语言》是很经典的数据,之所以学习是想了解一下计算机底层是怎么运行的,倒不是说要拿汇编来做嵌入式,因为现在的编译器已经比我们强多了。


学习汇编的念头是前几天看了《c语言标准和实现》的附录里面提到汇编的只知识,所以还是学习一下,帮助自己家人计算机内功,网上也有说csapp的第三章就是讲述汇编语言的,到时候可以拿来看看。

MASM32是国外的MASM爱好者Steve Hutchesson自行整理和编写的一个软件包,目前最高版本为11r版。MASM32并非指Microsoft的MASM宏汇编器,而是包含了不同版本工具组建的汇编开发工具包。它的汇编编译器是MASM6.0以上版本中的Ml.exe,资源编译器是Microsoft Visual Studio中的Rc.exe,32位链接器是Microsoft Visual Studio中的Link.exe,同时包含有其他的一些如Lib.exe和DumpPe.exe等工具。


手头上基本都是win10系统,64位,而汇编教程基本上都是32位,而且是不兼容的,只能使用虚拟机或dosbox来模拟x86平台,因此自己之前用过dosbox,就沿用了这个工具。


这个工具很好下载,官网即刻,安装也简单。


汇编工具,主要是masm,这个是微软自己的,nasm是开源汇编工具。可以在linux和Windows下运行,目前知乎上有nasm的教程,主要是讲述和c语言的关联,在linux下学习。而视频教程中比例比例上,是masm+debug。


学习怎么编译。
1、dsosbox自动mount,可以配置后实现这个功能。
2、进入系统,将asm文件放入masm同目录下。
3、masm xx.asm
4、link xx.obj
5、xx.exe回车即可运行


debug的使用
-u查看机器码
-r查看寄存器数值
-a写汇编指令 
-t执行


目前学到了三种总线:地址总线,控制总线,数据总线
鼠标键盘通过端口port和cpu通信,使用input out
内存空间:包括显存、内存


写数据其实就是往寄存器写数据,进而控制cpu,从而由cpu控制显示,数据计算等
寄存器为了兼容以前的程序指令,ax等都是16位,ax=AH+A,计算的时候,数据宽度要一直,否则会出错。
masm的版本使用5.0即可,反正用dosbox模拟的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值