承上启下
寄存器
数据寄存器
AX
BX 也可以被当作偏移地址寄存器
CX CX也有其他作用
DX AX,DX用来处理数据的
通用寄存器
地址寄存器——》分为段地址寄存器和偏移地址寄存器
标志位寄存器
AX,BX,CX,DX 都是16位寄存器 可以各自分为两个互相独立的八位寄存器 AX=AH+AL……
翻译工作 为了保证数据与寄存器之间的位数的一致性 寄存器的位数来判断
mov 移动指令
add 运算指令
运算是有可能超过寄存器的最大值,超过的那部分是到其它地方去了,并没有消失
寄存器之间是互相独立的
地址寄存器:
段地址寄存器 ,偏移地址寄存器 通过组合规则组合起来
DS SP 段地址*16+偏移地址=物理地址
ES BP 因为8086CPU有20根地址线
SS SI
CS DI
IP
BX
CPU是如何区分指令和数据的
CS, IP 这两个寄存器
在任意时刻 CPU将段地址寄存器CS 和 偏移地址寄存器IP所组合出来的地址从中读取内容
全部当做指令来执行
指令是有长度的 ip寄存器有关
可以修改CS IP这两个寄存器的指令
jmp jmp 段地址:偏移地址
jmp 寄存器
call xxxx 指令执行过程 ——》改变了的IP保存了起来 跳转
指令的执行过程:
1、CPU从CS:IP所指向的内存单元读取指令,将读取的指令存放到指令缓存器中
2、IP=IP+所读指令长度,从而指向下一条指令
3、执行指令缓冲器中的内容,回到步骤1
指令和数据存放在内存中是没有任何区别的
是我们汇编程序员通过修改寄存器中的内容 地址寄存器 数据在哪里 指令在哪里