- 一个典型的cpu由运算器、控制器、寄存器等器件组成,这些器件靠内部总线相连。
- 内部总线实现cpu内部各个器件之间的联系。外部总线实现cpu和主板上其他器件的联系。
- 8086CPU中的14个寄存器:AX,BX,CX,DX,SI,DI,SP,BP,IP,CS,SS,DS,ES,PSW
- 概括的讲,16位结构描述了一个cpu具有以下几个方面的特征:(1)运算器一次最多可以处理16位的数据。(2)通用寄存器的最大宽度为16位。(3)寄存器和运算器之间的通路是16位的。
- 8086cpu有20位地址总线,可传送20位地址,寻址能力位1MB。内部为16位结构,它只能传送16位的地址,表现出的寻址能力只有64KB。它采用的是一种在内部用两个16位地址合成的方法来形成一个20位的物理地址。在读写内存时,步骤如下: (1)cpu中的相关部件提供两个16位的地址,一个称为段地址,另一个称为偏移地址。 (2)段地址和偏移地址通过内部总线送入一个称为地址加法器的部件。 (3)地址加法器将两个16位地址合并成一个20位的地址。(地址加法器合成物理地址的方法:物理地址=段地址*16+偏移地址。“段地址*16”有一个更为常用的说法就是数据左移4位(二进制位)。基础地址+偏移地址=物理地址。)
- 8086pc工作过程:
(1)从CS:IP指向的内存单元读取指令,读取的指令进入指令缓冲器。
(2)IP=IP+所读取指令的长度,从而指向下一条指令。
(3)执行指令。转到步骤(1)。
(4)重复这个过程。
也就是说内存中的一段信息曾被cpu执行过的话,那么它所在的内存单元必然被CS:IP指向过。
- mov指令可以改变8086cpu大部分寄存器的值,被称为传送指令。但是mov指令不能用于设置CS,IP的值。
- 修改CS,IP的值:
(1)同时修改CS,IP的内容:jmp 段地址:偏移地址
(2)仅修改IP的值:jmp 某一合法寄存器