8086CPU有14个寄存器
通用寄存器:AX、BX、CX、DX
变址寄存器:SI、DI
指针寄存器:SP、BP
指令指针寄存器:IP
段寄存器:CS、SS、DS、ES
标志寄存器:PSW
共性:8086CPU所有寄存器都是16位的,可以存放两个字节
通用寄存器结构(AX)
思考:
方案:
通用寄存器可以分为两个独立的8位寄存器使用
AX寄存器裂开分为AH和AL,AH表示AX的高8位,AL表示AX的第8位
同样,BX可以分为BH和BL,CX可以分为CH和CL……
“字”在寄存器中的存储
8086是16位CPU
8086的字长(word size)为16bit
多少位CPU,它的字长就是多少bit
一个字可以存在一个16位寄存器中
这个字的高位字节存在这个寄存器的高8位寄存器
这个字的低位字节存在这个寄存器的低8位寄存器
确定物理地址的方法
- CPU访问内存单元时要给出内存单元的地址。
- 所有的内存单元构成的存储空间是一个一维的线性空间
没有给内存单元在这个空间中都有唯一的地址,这个唯一的地址称为物理地址
事实
8086有20位的地址总线,可传送20位地址,寻址能力为1M。
- 8086是16位结构的CPU
用分段的方式管理CPU
8086CPU用 段地址*16+偏移地址=物理地址 的方式给出内存单元的物理地址。
内存的逻辑地址是连续的线性的,内存并没有分段,段的划分来自CPU。
存储单元地址的表示方法
例:数据在21F60H内存单元中,段地址是2000H,说法
数据存在内存2000:1F60单元中
数据存在内存的2000H段中的1F60H单元中。
段地址寄存器——用专门的寄存器存放段地址
CS:代码段寄存器
DS:数据段寄存器
SS:栈段寄存器
ES:附加段寄存器
偏移地址寄存器
IP:记录偏移地址