当前位置: 代码迷 >> 汇编语言 >> 求解8086cpu演算过程,要详细
  详细解决方案

求解8086cpu演算过程,要详细

热度:5837   发布时间:2013-02-26 00:00:00.0
求解8086cpu运算过程,要详细
比如执行如下三条指令
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)。
以上的运算都会对标志位产生影响。
------解决方案--------------------------------------------------------
引用:
add ax,bx
cpu先从指令寄存器IR中读取指令,根据OP发出控制把通用寄存器AX和BX的内容移到运算器ALU的两个暂存器……

8086不是一个暂存器吗
------解决方案--------------------------------------------------------
引用:
引用:
add ax,bx
cpu先从指令寄存器IR中读取指令,根据OP发出控制把通用寄存器AX和BX的内容移到运算器ALU的两个暂存器……
8086不是一个暂存器吗

说错了,我说的是ALU两边的一个累加器和一个寄存器!!用来存放即将进行运算得2个数据!!