贺利坚汇编语言课程笔记 绪论
又是女娲补天式地从零开始两周零基础冲击六十分…
文章目录
- 贺利坚汇编语言课程笔记 绪论
- 一.Why should we learn Assembly language?
- 二.从机器语言到汇编语言
- 三.计算机组成
- 指令和数据的表示
- 计算机中的存储单元
- 计算机中的总线
- x86CPU性能一览
- 四.内存的读写与地址空间
- CPU对存储器的读写
- 内存地址空间
- 将各类存储器看作一个逻辑存储器——统一编址
- 内存地址空间的分配方案——以8086PC机为例
- 五.实践环境
- 参考资料
一.Why should we learn Assembly language?
-
课里面提到的每月更新的TIOBE编程语言排行榜
-
汇编确实还挺靠前的
soga是这样统计的
-
-
为啥要学?呜呜其实心里对硬件还是有抵触的
-
先相信下面的理由吧,等体会到了个中趣味再回来更新🤭
-
-
贺老师课程定位
二.从机器语言到汇编语言
-
机器语言
- 是一台机器可以正确执行的命令
- 是机器指令的集合
- 由一串 二进制数表示
-
汇编语言
-
主体是 汇编指令
-
汇编指令和机器指令的差别在于 指令的表示方法
-
汇编指令是机器指令的 助记符,是机器指令便于记忆的书写格式
-
-
- 用汇编语言编写程序的工作过程
三.计算机组成
- CPU是核心。要让它工作,就必须提供 指令和数据
- 指令和数据在存储器(内存)中存放
指令和数据的表示
-
计算机中的数据和指令,存储在内存或磁盘上
-
数据和指令,都是二进制信息
-
同一个二进制数 可以当作数据也可以当作指令,由于 CPU 决定
- 例:二进制信息1000100111011000是数据,还是指令?
- 1000100111011000 ─> 89D8H (数据)
- 1000100111011000 ─> MOV AX,BX(程序)
- 例:二进制信息1000100111011000是数据,还是指令?
-
数据的表示
-
数据量:B、KB、MB、GB、TB…
计算机中的存储单元
- 存储器被划分为若干个 存储单元,从0开始顺序编号
计算机中的总线
-
在计算机中专门有连接CPU和其他芯片的导线,通常称为总线。
- 物理上:一根根导线
- 逻辑上
- 地址总线
- 数据总线
- 控制总线
-
地址总线
- CPU是通过地址总线来指定存储单元的。
- 地址总线宽度,决定了 可寻址的存储单元大小。
- N根地址总线(宽度为 N),对应寻址空间 2 N 2^N 2N。
-
数据总线
- CPU与内存或其它器件之间的数据传送是通过 数据总线来进行的。 •
- 数据总线的宽度决定了CPU和外界的数据传送速度。
-
控制总线
- CPU通过控制总线对外部器件进行控制。
- 控制总线是一些不同控制线的集合
- 控制总线宽度决定了CPU 对外部器件的控制能力
x86CPU性能一览
发现一个截图直接转表格的网站:白描网页版!
CPU | 地址总线宽度 | 寻址能力 | 数据总线宽度 | 一次传送数据 | 读取1KB数据要读__次 |
---|---|---|---|---|---|
8080 | 16 | 64KB | 8 | 1B | 1024 |
8088 | 20 | 1MB | 8 | 1B | 1024 |
8086 | 20 | 1MB | 16 | 2B | 512 |
80286 | 24 | 16MB | 16 | 2B | 512 |
80386 | 32 | 4GB | 32 | 4B | 256 |
四.内存的读写与地址空间
CPU对存储器的读写
-
CPU要想进行数据的读写,必须和外部器件进行三类信息的交互:
- 地址信息:存储单元的地址
- 控制信息:器件的选择,读或写命令
- 数据信息:读或写的数据
-
例
- 机器码: 101000000000001100000000
- 16进制:A00300
- 汇编指令:MOV AL,[3]
- 含义:从3号单元读取数据送入寄存器AL
- 机器码: 101000000000001100000000
-
上例动画演示:CPU从内存中3号单元处读取数据的过程
内存地址空间
-
CPU地址总线宽度为N,对应寻址空间 2 N 2^N 2N
-
8086CPU的地址总线宽度为20,那么可 以寻址1MB个内存单元,其内存地址空 间为1MB
-
从CPU角度看地址空间分配
RAM :随机存储器,可读可写,易失
ROM:只读
这句话来自B站弹幕:就像一个公司(逻辑存储器),有不同部门(物理存储器),不同部门有不同的办公区域(地址段或),部门有很多人(存储单元)
将各类存储器看作一个逻辑存储器——统一编址
- 所有的物理存储器被看作一个由若干存储单元组成的逻辑存储器
- 每个物理存储器在这个逻辑存储器中占有一个地址段,即一段地址空间
- CPU在这段地址空间中读写数据,实际上就是在相对应的物理存储器中读写数据
内存地址空间的分配方案——以8086PC机为例
五.实践环境
soga
-
本课选用DOS模拟器
-
注意要挂载格式
把指令所在的路径挂载到c
参考资料
- B站贺利坚老师教程