无条件跳转指令有哪些,快捷指令如何不二次跳转

首页 > 经验 > 作者:YD1662024-02-29 00:56:57

正常情况下,程序的执行顺序是自上而下,逐条扫描执行的。STL指令集中有一类跳转指令,可以中断程序的这种线性执行流,跳转到指定的位置继续执行。

无条件跳转指令有哪些,快捷指令如何不二次跳转(1)

一、 跳转标签

跳转的"目标"地址由"标签"来指定,该标签称之为"跳转标签"。跳转标签最多4个字符,且第一个字符必须为字母。跳转标签后必须带有冒号":" ,且在行中必须位于程序语句之前。

二、 跳转指令

跳转指令根据"跳转"的机理,首先可分为"无条件跳转"和"条件跳转",除此之外,还有一个特殊的跳转指令,可实现分支跳转。

1、 无条件跳转指令JU

无条件跳转指令有哪些,快捷指令如何不二次跳转(2)

程序在执行时,遇到JU指令,无条件的跳转到其"标签"所指示的代码行继续执行。跳转指令和跳转目标必须在同一个块内。

需要注意的是:理论上,JU指令允许向前跳,也允许向后跳。向后跳属于常规用法,一般没什么问题。但向前跳,容易形成死循环,因此,一般不建议使用JU命令向前跳。

2、 有条件跳转指令

顾名思义,与无条件跳转不同,有条件跳转指令中断原程序逻辑流,发生跳转是需要条件的,根据跳转条件的不同,它们又有不同的分类。

(1) 由RLO的状态决定是否跳转

无条件跳转指令有哪些,快捷指令如何不二次跳转(3)

对于"JC"指令,当逻辑运算结果(RLO)为"1"时,"跳转"生效,中断当前的线性扫描,跳转到"跳转标签"所标识的行继续执行。同样,可以选择向前跳,也可以向后跳。

"JCN"指令与"JC"指令相反,当"RLO"为"1"的时候,"跳转"生效。

另外:当条件不满足,不执行跳转的时候,该指令会将RLO置"1",然后继续执行下面的指令。

(2) 带BR位,由RLO状态决定是否跳转

无条件跳转指令有哪些,快捷指令如何不二次跳转(4)

首页 123下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.