使用循環指令( LOOP)可以多次重複執行特定的程序段,由累加器1確定重複執行的次數,即以累加器1的低字為(wei) 循環計數器。LOOP指令執行時,將累加器1字中的值減1,如果不為(wei) 0,則返回到循環指令LOOP的標號處,繼續循環過程,否則執行LOOP指令後麵的指令。循環體(ti) 是指循環標號和LOOP指令間的程序段。
由於(yu) 循環次數不能是負數,因此程序應保證循環計數器中的數為(wei) 正整數(數值範圍:0~32767)或字型數據(數值範圍:W#16#0000~ W#16#FFFF)。存儲(chu) 區為(wei) I、Q、M、D、L。LOOP語句的流程如圖所示。
圖 LOOP語句的流程圖
利用循環指令可以完成有規律的重複計算過程。
編程示例(求階乘“8!”的程序)如下:
L L#1 說明:將長整數常數(32位)裝入累加器1
T MD20 將累加器1的內(nei) 容傳(chuan) 送到MD20(初始化)
L 8 將循環次裝入累加器1的低字中
NEXT:T MW10 循環開始,將累加器1低字的內(nei) 容(循環變量值)送給循環計數器MW10
L MD20 取部分積
*D MD20×MW10
T MD20 存部分積,循環結束後MD20=8×7 ×6×5 ×4×3 ×2 ×1=40320
L MW10 取當前循環變量值→累加器1
LOOP NEXT 如果累加器1低字中的內(nei) 容不為(wei) 0,則轉到NEXT繼續循環執行並對
累加器1的低字減1循環結束,執行其他指令
……