;;; sum_10.casl
;;; 1から10までの整数をすべて加算した値をメモリーに格納する
MAIN START
- PUSH 0,GR1
- PUSH 0,GR2
XOR GR2,GR2 ; GR2を初期化
LD GR1,FST ; GR1に初項をメモリーから転送
LOOP ADDL GR2,GR1 ; ループ先頭。GR2 <- GR2 + GR1
JPL FIN ; ↓
JUMP LOOP ; ループ終端
FIN ST GR2,RST ; GR2の結果をメモリーに転送
- POP GR2
- POP GR1
RET
FST DC 1 ; 初項
LST DC 10 ; 末項