8086微处理器

内部功能结构

总线接口部件 BIU

作用:与CPU外部传送指令代码或者数据,如取指令时把指令送到指令队列,执行指令时负责数据交换

组成:

  • 段地址寄存器:
    • CS:代码段首地址的高16位
    • DS:数据段首地址的高16位
    • ES:另一个数据段首地址的高16位
    • SS:堆栈区数据段首地址的高16位
  • 16位的指令指针寄存器IP:存放着下一条地址的偏移量,即CS * 16 +IP=下一条指令的地址
  • 20位的地址加法器:段基址 x 16(左移4位) + 偏移地址 = 物理地址
  • 指令队列缓冲器:存放预取指令的指令队列
  • 内部暂存器:暂存输入输出信息的寄存器
  • 总线逻辑控制器:控制总线上的信息传输

执行部件 EUP

组成

  • 通用寄存器
    • AX
    • BX
    • CX
    • DX
  • 专用寄存器
    • BP:基数指针寄存器:指向栈底
    • SP:堆栈指针寄存器:指向栈顶
    • SI:
    • DI
  • 算术逻辑部件ALU:计算算术逻辑运算,
  • EU控制器:
  • 标志寄存器
    • SF(sign)
    • ZF(zero)
    • PF(parity)
    • CF(carry)
    • AF(auxiliary carry)
    • OF(overflow)
    • DF(direction)
    • IF(interrupt enable)
    • TF(trap)

寻址方式

立即寻址

1
mov AX, 3412H

无法计算源操作数的物理地址

操作数直接包含在指令中,即可以直接从指令队列中获取立即数

寄存器寻址

1
mov AX, BX

无法计算源操作数的物理地址

操作数包含在寄存器中

内存器寻址

操作数处于内存的数据段中,指令中指明了数据所在的地址

直接寻址

1
mov AX, [3412H]

地址为DS * 10H + 3412H

寄存器间接寻址

1
mov AX, [BX]

有效地址操作数包含在寄存器中

  • 当没有前缀指令表明操作数在哪一段时(ES:[BX]),则当用BP来间接寻址时,则段寄存器默认为SS,BX、DI、SI默认寄存器为DS

寄存器相对寻址

1
mov AX,[BX+6824H]

基址加变址寄存器寻址方式

1
mov AX,[BX+SI]

相对的基址和变址寻址方式

1
mov AH,[BX+SI+2468]