第二章 寄存器(指令)
第二章 寄存器(指令)
- 内部总线:实现CPU内部各个器件之间的联系
- 外部总线:实现CPU和主板上其他器件的联系
2.1 通用寄存器
8086CPU所有寄存器都是16位,可以存放两个字节。AB、BX、CX、DX这4个寄存器通常存放一般性的数据,被称为通用寄存器
2.2 字在寄存器种的存储
2.3 几条汇编指令
2.4 物理地址
- 每个内存单元都有唯一地址,即物理地址
- CPU通过地址总线送入存储器的必须是一个内存单元的物理地址
2.5 16位结构的CPU
- 运算器一次最多可以处理16位数据
- 寄存器的最大宽度为16位
- 寄存器和运算器之间的通路为16位
2.6 8086CPU 寻址方法
- 8086CPU有20位地址总线,可以传送20位地址,达到1MB寻址能力 2^20 = 1M。
- 8086CPU又是16位结构,数据总线为16位,在内部一次处理、传输、暂存的地址位16位,寻址能力为64KB
2.7 段地址x16+偏移地址=物理地址 的本质含义
- 范围扩充
- 基础地址+偏移地址=物理地址
- 数位有限无法一次表达,故做两次表达
2.8 段的概念
- 内存没有分段,段的划分来自于CPU
- 由于CPU的寻址方式(基础地址+偏移地址=物理地址),使得我们可以用分段的方式管理内存
2.9 段寄存器
- 基础地址=段地址x16
- 偏移地址
- 段寄存器提供段地址(CS、DS、SS、ES)
2.10 CS和IP
- CS和IP指示了CPU当前要读取指令的地址
- CS:代码段寄存器(基础地址)
- IP:指令指针寄存器(偏移地址)
2.11 修改CS和IP
- mov指令不能用于设置CS、IP的值
- jmp 段地址:偏移地址
- jmp ax == mov IP ax
2.12 代码段
- 访问代码段 CS:IP 指向代码段首地址