比如执行如下三条指令
add ax,bx
add dx,[bx+si+1]
div cx
算术逻辑器,标志位,暂存器,寄存器,指令缓冲器,执行控制器等的工作流程
------解决方案--------------------------------------------------------
add ax,bx
cpu先从指令寄存器IR中读取指令,根据OP发出控制把通用寄存器AX和BX的内容移到运算器ALU的两个暂存器中,然后进行加法运算,如果产生进位或其他影响标志位PSW,则会改变标志位的相关数值。
add dx,[bx+si+1]
cpu先从指令寄存器IR中读取指令,根据OP发出控制把通用寄存器bx和变址寄存器SI与段寄存器内容+1得到内存的物理地址,并读取地址数据到ALU的累加器中,同时把DX内容移到ALU另外一边,进行加法运算......
div cx(除法运算)
cpu先从指令寄存器IR中读取指令,根据OP发出控制把通用(隐含)寄存器AX移到ALU一边,把除数CX移到另外一边,进行除法运算(AL)=(AX)/(CX),(AH)=(AX)MOD(CX)。
以上的运算都会对标志位产生影响。
------解决方案--------------------------------------------------------
8086不是一个暂存器吗
------解决方案--------------------------------------------------------
说错了,我说的是ALU两边的一个累加器和一个寄存器!!用来存放即将进行运算得2个数据!!