此次学习,看的小甲鱼 视频教程,感谢小甲鱼
汇编和机器语言 一样 汇编语言将0和1 翻译成英文,更好看懂
机器指令:1000100111011000
操作: 寄存器BX 的内容 送到 AC 中
汇编指令 : MOV AX,BX
寄存器是什么
寄存器 : 简单的讲是CPU中可以存储数据的器件,一个CPU中有多个寄存器。
AX是其中一个寄存器的代号,
BX是另一个寄存器的代号。
汇编语言的产生
如果汇编指令,直接 发送到 计算机 , 计算机会看不懂的, 必须由编译器,来进行转化
1.3汇编语言的组成
- 汇编指令(机器码的助记符)
- 伪指令(有编译器执行)
- 其它符号(有编译器识别)
汇编语言的核心 是 汇编指令 ,决定了汇编语言的特性
1.4 存储器
什么是存储器,
cpu 是 计算实际的核心部件,他控制整个计算机的运行,进行运算,要想cpu互作,就必须向他提供 指令 和 数据
指令和数据在存储器中存放,也就是平时所说的内存
内存,仅此于cpu, 离开内存,cpu再好,也不行,
磁盘 ------ 不同于内存,磁盘的数据,不读到内存中,就不能cpu使用
1.5指令和数据
指令和 数据 是应用上的概念
在内存或磁盘上 指令 和 数据没有任何区别,都是二进制信息
二进制 信息 :
1000100111011000 -----> 89D8H (数据)
1000100111011000 ------> MOV AX,BX(程序)
八进制 是 0 16进制 Hex
1.6存储单元
存储器,被划分 若干个存储单元,每个存储单元从0开始按顺序编号
例如:
一个存储器有128个存储单元
编号:0~127
8bit = 1b
1KB = 1024B 2的10次方 接近1000 误差
1MB = 1024kb
1GB = 1024MB
1TB = 1024GB
磁盘的容量,和 同内存中一样, 以上是 微机中常用的计量单位,
1.7 CPU对存储器的读写
cpu 对 数据读写,必须和外部器件,(标准的说法是 芯片),进行三类信息交互
1.存储单元的地址(地址信息)
2.器件的选择,读或写命令(控制信息)
3.读或写的数据,(数据信息)
那么CPU是通过什么将地址、数据和控制信息传到存储芯片中的呢了
电子计算机能处理、传输的信息都是电信号,电信号当然要用导线传送。 (地址线)
在计算机中专门有连接CPU和其他芯片的导线,通常称为总线。
物理上: 一根根导线的集合
逻辑上话分为:
地址总线 ------ 1.存储单元的地址(地址信息)
数据总线 ------- 3.读或写的数据,(数据信息)
控制总线 --------- 2.器件的选择,读或写命令(控制信息)
总线 在逻辑上划分的图示:
8086CPU 下面的机器码能完成从3号单元读数据
机器码: 101000000000001100000000
含义: 从3号单元读取 数据 送入寄存器AX
cpu接收 这条机器码后,将完成上面所述的读写互作
1.8地址总线
cpu是通过地址总线来指定存储单元的
地址总线上能传送多少个不同信息,cpu就可以对多少个存储单元进制寻址
cpu的寻址能力
cpu要有 64位 ,操作系统 64位,软件64位, 这时真正的64位
一个cpu有N根地址总线,则可以说这个cpu的地址总线的宽度为N
这样的CPU最多可以寻找2的N次方个内存单元
1个字节 byte == 8bit == 1 个内存单元
2的 8 次方
1.9数据总线
CPU 与 内存 之间的数据传送 是通过数据总线来进行的
数据总线的宽度,决定了cpu和外界的数据传输速度
就好比高速公路, 道路越宽,通车的车辆越多,
数据 89D8H 写入内存中 是如何通过数据总线传输的?
8088 CPU 数据总线的情况 每次传输8位
先传输低位,在传输高位,每次8位,需要传输2次,所以是2秒
8086CPU 数据总线的传输情况 一次传输16位,
1.10控制总线
CPU对外部器件 的控制是通过控制总线 来 进行的 ,控制总线是一些不同控制线的集合
有多少根控制总线,就意味着CPU提供了对外部器件的多少种控制
控制的话 要么读,要么写, 两种
一个根线,可以表示 两个数据 正1,负0 ,可以用 1来表示读,0表示写
有多少根,可以控制多少个 ,控制总线的宽度决定了cpu对外部器件的控制能力
cpu向控制线上输出低电平表示将要读取数据;
小结:
(1) 汇编指令是机器指的助记符,同机器指令一一对应。
(2) 每一种CPU都有自己的汇编指令集 有效指令,经常用到的放在一起,叫指令集
(3) CPU可以直接使用的信息在存储器中存放。
(4) 在存储器中指今和数据没有任何区别,都是二进制信息。
(5) 存储单元 从 0 开始,按顺序编号
(6) 一个存储单元,可以 存储 8个bit(位)8b , 即8位二进制数
位(bit) 计算机中最小的存储单位,只能存储0或1。
(7) 1B = 8b 1kb = 1024B 1MB = 1024KB 1GB = 1024MB
(8) 针脚? 针脚与 总线 相连, 针脚引出总线, 一个cpu 可以引出三种 总线,
cpu不同总线的性能,
地址总线,的宽度 决定了cpu的 寻址能力
数据总线,的宽度 决定了与 其它器件 进行传输时 一次传输多少 传送量
控制总线,的宽度 决定了cpu对系统中,其它器件控制能力
IDA, OD ,逆向工具,
1.11 内存地址空间
什么是内存地址空间呢?
一个CPU的地址线,宽度为10,那么可以寻址1024 个 内存单元,这1024个可寻到的内存单元,就构成这个cpu的内存地址空间,
需要了解一下,主板 和 接口
1.12主板
通过总线(地址总线,数据总线,控制总线)相连
1.13接口卡
cpu对外部设备 不能之间控制, 如 显示器,音箱,这些是插在扩展插槽上的接口卡
1.14各类存储器芯片
1.从读写属性上,分为两类,
随机存储器(RAM) 和 只读存储器(ROM)
内存就是一个大的 随机存储器
2.从功能和连接上分类,
随机存储器RAM
装有BIOS的ROM
接口卡上的RAM
这些存储器在物理上是独立的器件
1.15内存地址空间
这些存储器在物理上是独立的器件
1.都和cpu的总线相连
2.cpu 对 他们进行读或写的时候,都通过控制线 发出内存读写命令
将各各类存储器看作一个逻辑存储器
不同的计算机系统,的内存地址空间分配 是不同的
8086cpu 的内存地址空间分配
内存地址空间:
最终 运行程序的是CPU 必须从CPU角度来考虑问题,
学习这门课程的核心思维,
对CPU来讲,系统中的所有存储器中的存储单元都处于一个统一的逻辑存储器中,
它的容量受CPU寻址能力的限制。这个逻辑存储器即是我们所说的内存地址空间。