无条件转移指令

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

这条指令执行时把16位操作数的高低8位分别装入PC的PCH和PCL,无条件地转向指定地址。跳转的目的地址可以在64KB程序存储器地址空间的任何地方,不影响任何标志位。

这条指令的功能是把累加器A中的8位无符号数与数据指针DPTR中的16位地址相加,相加形成的16位新地址送入PC。指令执行过程不改变累加器和数据指针的内容,也不影响标志位。

这组指令的功能是程序每执行一次本指令,将其第一操作数所指向的地址单元的内容减1,然后判断其值是否为0,若不为0,则转移到目的地址,继续执行循环程序,若为0则结束循环程序段的执行,程序往下执行。

这条指令是无条件调用由addr16提供的16位目标地址所指定的子程序,即子程序的首地址可设置在64KB程序存储器地址空间的任何位置。这条指令隐含两次压栈操作,压栈时先压PC的低8位,后压PC高8位。

(3)从子程序返回指令

这条指令除了完成RET指令的功能外,还清除内部相应的中断状态寄存器触发器(该触发器是不可寻址的,由CPU响应中断时置位,指示CPU当前是否处理高级或低级中断)。因此,中断服务程序一般以RETI指令结束。CPU执行RETI指令后至少需再执行一条指令才能响应新的中断请求。同样,这条指令隐含两次弹栈操作,弹栈时先弹PC的高8位,后弹PC的低8位。

该指令除了完成PC内容加1外,不影响其他寄存器和标志位。该指令常用来产生一个机器周期的延时。

相关文档
最新文档