寄存器
在CPU中:
• 运算器进行信息处理;
• 寄存器进行信息存储;
• 控制器控制各种器件进行工作;
• 内部总线连接各种器件,在它们之间进行数据的传送
对于一个汇编程序员来说,CPU中的主要部件是寄存器。寄存器是CPU中程序员可以用指令读写的部件。程序员通过改变各种寄存器中的内容来实现对CPU的控制。
通用寄存器
8086CPU的所有寄存器都是16位的,可以存放两个字节。AX、BX、CX、DX这4个寄存器通常用来存放一般性的数据,被称为通用寄存器。
8086CPU的上一代CPU中的寄存器都是8位的,为了保证兼容,使原来基于上代CPU编写的程序稍加修改就可以运行在8086之上,8086CPU的AX、BX、CX、DX这4 个寄存器都可分为两个可独立使用的8位寄存器来用:
- AX可分为AH和AL;
- BX可分为BH和BL;
- CX可分为CH和CL;
- DX可分为DH和DL;
在线10进制转换2进制计算器:在线进制转换器 | 菜鸟工具 (runoob.com)
段寄存器
8086CPU在访问物理地址的时候,物理地址=段地址X16+偏移地址。段地址在8086CPU的段寄存器中存放。
8086CPU有4个段寄存器:CS、DS、SS、ES。当8086CPU要访问内存时由这4个段寄存器提供内存单元的段地址
代码段寄存器
CS为代码段寄存器
指令指针寄存器
IP为指令指针寄存器
在8086PC机中,任意时刻,设CS中的内容为M, IP中的内容为N, 8086CPU将从内存 M × 16 + N 单元开始,读取一条指令并执行。
也可以这样表述:8086机中,任意时刻,CPU将CS:IP指向的内容当作指令执行。
(1) 从CS:IP指向的内存单元读取指令,读取的指令进入指令缓冲器;
(2) IP=IP+所读取指令的长度,从而指向下一条指令;
(3) 执行指令。转到步骤(1),重复这个过程。
修改IP寄存器指令:
『jmp 某一合法寄存器』指令的功能为:用寄存器中的值修改IP
jmp ax , 在含义上好似:mov IP,ax