汇编-寄存器
8086CPU有14个寄存器:
AX BX CX DX SI DI SP BP IP CS SS DS ES PSW
8086CPU所有的寄存器都是16位的,可以存放两个字节
AX BX(偏移地址寄存器) CX(计数寄存器) DX通常用来存放一般性数据被称为通用寄存器
这4个寄存器:每个寄存器可以拆开用,AX=AH+AL BX=BH+BL CX=CH+CL DX=DH+DL
段地址寄存器 : 偏移地址寄存器
ds si
es di
ss bp
cs ip
sp
bx
物理地址=基础地址+偏移地址
基础地址=段地址*10H
CS指令段地址寄存器
CPU将CS:IP组合出来的地址里面的内容全部当做指令
DS数据段地址寄存器
通常用来存放要访问数据的段地址
例如:我们要读取10000H地址中的数据
mov bx,1000
mov ds,bx
mov al,[0] 将1000H:0H【10000H】地址中数据送入al
SS栈顶段地址寄存器
sp栈顶偏移地址寄存器
注意:栈只能操作字型数据
sp默认值=0H
视频教程:https://www.bilibili.com/video/BV1ck4y1T71u/
bp寄存器
bp默认的段寄存器是ss
ES备用段地址寄存器
si和di
si和di是8086CPU中和bx功能相近的寄存器,si和di不能够分成两个8位寄存器来使用。
段地址默认是ds
下面的3组指令实现了相同的功能
标志寄存器flag