使用循环指令( loop)可以多次重复执行特定的程序段,由累加器1确定重复执行的次数,即以累加器1的低字为循环计数器。loop指令执行时,将累加器1字中的值减1,如果不为0,则返回到循环指令loop的标号处,继续循环过程,否则执行loop指令后面的指令。循环体是指循环标号和loop指令间的程序段。
由于循环次数不能是负数,因此程序应保证循环计数器中的数为正整数(数值范围:0~32767)或字型数据(数值范围:w#16#0000~ w#16#ffff)。存储区为i、q、m、d、l。loop语句的流程如图所示。
图 loop语句的流程图
利用循环指令可以完成有规律的重复计算过程。
编程示例(求阶乘“8!”的程序)如下:
l l#1 说明:将长整数常数(32位)装入累加器1
t md20 将累加器1的内容传送到md20(初始化)
l 8 将循环次装入累加器1的低字中
next:t mw10 循环开始,将累加器1低字的内容(循环变量值)送给循环计数器mw10
l md20 取部分积
*d md20×mw10
t md20 存部分积,循环结束后md20=8×7 ×6×5 ×4×3 ×2 ×1=40320
l mw10 取当前循环变量值→累加器1
loop next 如果累加器1低字中的内容不为0,则转到next继续循环执行并对
累加器1的低字减1循环结束,执行其他指令
……