章二
- 字节:byte,由8bit组成,可存于8位寄存器中
字:word,由2个byte组成,高位字节和低位字节 - 8086是16位cpu(字长16位),则:
- PU一次最多可处理16位数据
- 寄存器最大宽度位16位
- 寄存器与PU之间的通路位16位
- 有20位地址总线,即220=1MB
注意:一个二进制数左移N位,相当于该数据乘以2n。
而地址加法器完成**段地址×16,即是靠其实际的二进制数的段地址左移4位**!
推论:一个X进制数左移1位,相当于乘以X。
1.段地址×16必然是16的倍数,故而一个段的起始地址也一定是**16的倍数;
2.偏移地址为16bit,即寻址能力为216=64KB**
附:定位一个内存单元,有多种段地址+偏移地址的组合!!!
- 在内存中,指令和数据皆为二进制,CPU如何分辨?
-
CS*16+IP始终指向指令,执行完一条,IP自增
-
DS×16+[x]指向偏移为x单元的数据
-
mov不能修改CS、IP的值,可用jmp:
- 同时修改CS和IP,语法:jmp CS:IP
如:jmp 1000H:2000H
- 只修改IP:jmp 某寄存器
如:
mov ax,1000H jmp ax //直接将ax中的值赋予IP
注意:任意时刻,8086CPU将CS:IP指向的数据当指令来执行!!
- 8086工作过程:
- 同时修改CS和IP,语法:jmp CS:IP