前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >汇编学习总结一(10.27)

汇编学习总结一(10.27)

作者头像
用户4645519
发布2020-09-07 10:27:55
1K0
发布2020-09-07 10:27:55
举报
文章被收录于专栏:嵌入式学习

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

学习汇编的念头是前几天看了《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模拟的。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/10/27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
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模拟的。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档