Next: , Previous: , Up: Register and memory   [Contents]


2.3.2 プログラム終了時の値を表示

greptailを組み合わせれば、プログラム終了時の値を表示できます。

addl.caslでプログラム終了時のGR1の値を確認するには、次のようにします。

$ casl2 -t addl.casl | grep 'GR1:' | tail -1
#0006: GR1:      5 = #0005 = 0000000000000101

sum_10.caslは、1から10までの整数の和を求め、GR2に格納してからメモリにストア(書き込み)します。

$ cat sum_10.casl
;;; sum_10.casl
;;; 1から10までの整数をすべて加算した値をメモリーに格納する
MAIN    START
        XOR     GR2,GR2         ; GR2を初期化
        LD      GR1,FST         ; GR1に初項をメモリーから転送
LOOP    ADDL    GR2,GR1         ; ループ先頭。GR2 <- GR2 + GR1
        ADDL    GR1,STEP        ; GR1 <- GR1 + 公差
        CPL     GR1,LST         ; GR1が末項より大きい場合は終了
        JPL     FIN             ; ↓
        JUMP    LOOP            ; ループ終端
FIN     ST      GR2,RST         ; GR2の結果をメモリーに転送
        RET
FST     DC      1               ; 初項
LST     DC      10              ; 末項
STEP    DC      1               ; 公差
RST     DS      1               ; 結果
        END

sum_10.caslでプログラム終了時のGR2の値を確認するには、次のようにします。

$ casl2 -t sum_10.casl | grep 'GR2:' | tail -1
#000E: GR2:     55 = #0037 = 0000000000110111 = '7'