使用循環(huán)指令( loop)可以多次重復執(zhí)行特定的程序段,由累加器1確定重復執(zhí)行的次數(shù),即以累加器1的低字為循環(huán)計數(shù)器。loop指令執(zhí)行時,將累加器1字中的值減1,如果不為0,則返回到循環(huán)指令loop的標號處,繼續(xù)循環(huán)過程,否則執(zhí)行l(wèi)oop指令后面的指令。循環(huán)體是指循環(huán)標號和loop指令間的程序段。
由于循環(huán)次數(shù)不能是負數(shù),因此程序應保證循環(huán)計數(shù)器中的數(shù)為正整數(shù)(數(shù)值范圍:0~32767)或字型數(shù)據(jù)(數(shù)值范圍:w#16#0000~ w#16#ffff)。存儲區(qū)為i、q、m、d、l。loop語句的流程如圖所示。

圖loop語句的流程圖
利用循環(huán)指令可以完成有規(guī)律的重復計算過程。
編程示例(求階乘“8!”的程序)如下:
l l#1說明:將長整數(shù)常數(shù)(32位)裝入累加器1
t md20將累加器1的內容傳送到md20(初始化)
l 8將循環(huán)次裝入累加器1的低字中
next:t mw10循環(huán)開始,將累加器1低字的內容(循環(huán)變量值)送給循環(huán)計數(shù)器mw10
l md20取部分積
*d md20×mw10
t md20存部分積,循環(huán)結束后md20=8×7 ×6×5 ×4×3 ×2 ×1=40320
l mw10取當前循環(huán)變量值→累加器1
loop next如果累加器1低字中的內容不為0,則轉到next繼續(xù)循環(huán)執(zhí)行并對
累加器1的低字減1循環(huán)結束,執(zhí)行其他指令
……










