SayoDevice脚本指令


6.跳转

<p>脚本支持流程控制(跳转),可内部跳转或向后一个脚本跳转 目前支持以下跳转指令</p> <pre><code> JZ //jump if (REG == 0) 参数值为0跳转,否则向下执行 JNZ //jump if (REG != 0) 参数值不为0跳转,否则向下执行 JC //jump if (CY == 0) 参数CY值为0跳转,否则向下执行 JNC //jump (if CY != 0) 参数CY值不为0跳转,否则向下执行 CJNE //CY = (REG1 &lt; REG2);jump if (REG1 != REG2) 如果REG1小于REG2则置位CY否则清零,如果不相等则跳转,否则向下执行 DJNZ //jump if (--REG != 0) REG先减一,如果不为零跳转,否则向下执行</code></pre> <p>可以使用更易用的 SET_FLAG 将目标地址写入寄存器,然后使用 JUMP_TO_FLAG 直接跳转到寄存器存储的地址而不需要计算地址</p> <h3>几个例子:</h3> <h5>短按输出A长按输出B</h5> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=b94bf8e2565284c766fa061b58b47ea2&amp;file=file.png" alt="" /> 解析:当按下按键后脚本会启动,然后首先延时等待200毫秒再次检查按键按下状态(IO是按键状态,按下为0),如果仍然按下则识别为长按并跳转到(R0)保存的地址以输出B。否则继续执行输出A并退出 虽然此时(R0)并未赋值,但其默认值是0,程序会自动向后搜索直到SET_FLAG。</p> <h5>局部循环</h5> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=7924811de0733bbb794ee6dcfe9249f1&amp;file=file.png" alt="" /> 次数的参数也可以通过按键传入</p>

页面列表

ITEM_HTML