【摘要】:表5-1中的第五条指令JMP是一条无条件转移指令,即改变程序执行的顺序,无条件地转移到内存2010H单元中的指令,指令周期如图5-12所示。图5-12JMP指令的指令周期第一个CPU周期,即取指令阶段,其过程完全与INC、ADD、MOV、NOP指令相同。应当指出,执行JMP 2010 H指令时,我们此处所给的5条指令组成的程序进入了死循环,除非人为停机,否则这个程序将无休止地运行下去。
表5-1中的第五条指令JMP是一条无条件转移指令,即改变程序执行的顺序,无条件地转移到内存2010H单元中的指令,指令周期如图5-12所示。它需要两个CPU周期,其中第一个CPU周期为取指令阶段,第二个CPU周期为执行指令阶段。
图5-12 JMP指令的指令周期
第一个CPU周期,即取指令阶段,其过程完全与INC、ADD、MOV、NOP指令相同。我们看到,取出第4条NOP指令时,指令地址计数器IP的内容已经加1变成2014H,该地址存放着JMP指令。这样,取第5条指令时,取指令的过程和数据通路完全与第4条指令相同。
第二个CPU周期,即执行指令阶段,送转移地址2010H给IP,即(IP)=2010H。
CPU具体的操作步骤如图5-13所示。
图5-13 JMP指令的操作步骤(www.xing528.com)
1.取指令阶段
CPU的动作和INC、ADD、MOV、NOP指令的①~⑥步相同。取指令阶段结束时,指令寄存器IR中已经存放好JMP指令并进行了指令译码,译码结果已送往操作控制器;同时,指令地址计数器的内容又加1,变为2015H,为取第6条指令做好准备。
2.送转移地址
①操作控制器发出操作控制信号。
②IR中的地址码部分2010H送到IP,代替IP原先的内容2015H。这样,下一条指令将不从内存2015H单元读出,而是从2010H单元读出并执行,从而改变了程序原先的执行顺序。
应当指出,执行JMP 2010 H指令时,我们此处所给的5条指令组成的程序进入了死循环,除非人为停机,否则这个程序将无休止地运行下去。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。