汇编学习总结一(10.27)
学习 总结 汇编
2023-09-11 14:15:08 时间
今天,学习了网上的汇编视频教程,非常好,有可能据王爽本人,据说他的《汇编语言》是很经典的数据,之所以学习是想了解一下计算机底层是怎么运行的,倒不是说要拿汇编来做嵌入式,因为现在的编译器已经比我们强多了。
学习汇编的念头是前几天看了《c语言标准和实现》的附录里面提到汇编的只知识,所以还是学习一下,帮助自己家人计算机内功,网上也有说csapp的第三章就是讲述汇编语言的,到时候可以拿来看看。
手头上基本都是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模拟的。
相关文章
- Linux学习之RPM包管理-yum管理(十七)
- orocos_kdl学习(二):KDL Tree与机器人运动学
- UFLDL 教程学习笔记(三)
- C# Winform 学习(五)
- 机器学习与模式识别学习总结
- 并发无锁队列学习之一【开篇】
- 【学习总结】计算机网络-纠错编码之海明码or汉明码
- 【学习总结】Git学习-本地仓库覆盖式更新对于Git仓库的影响以及pull/push到GitHub
- 【学习总结】SQL学习总结之SQL语法
- 【学习总结】尚硅谷2019java数据结构和算法
- 【学习总结】认识MVC
- 【学习总结】Python-3-身份运算符 is 与 == 区别
- 【学习总结】GirlsInAI ML-diary day-15-读/写txt文件
- JWT学习
- 机器学习笔记 - Transformer/Attention论文解读
- 学习Javascript的书籍
- atitit 碎片化学习.docx attilax 总结
- AutoJs学习-包名查看器
- ML之MaL: 流形学习MaL的概念认知、算法分类、案例应用、代码实现之详细攻略
- QT 定时器学习
- Python学习60:序列化
- 裴蜀定理学习
- Vue学习之--------深入理解Vuex之模块化编码(2022/9/4)
- 前端MVC Vue2学习总结(八)——前端路由
- MyBatis学习总结(二)——MyBatis核心配置文件与输入输出映射
- jQuery学习总结(一)——jQuery基础与学习资源
- JavaEE学习总结(十二)—MyEclipse开发工具与HTML
- JavaScript学习总结(四)——this、原型链、javascript面向对象
- 《TPM原理及应用指南》学习 —— TPM实体0
- softmax函数学习【转载】
- 深度学习系列资料总结
- 机器学习从入门到精通(2)—— 朴素贝叶斯
- 什么是深度强化学习?
- Docker学习笔记