MAIN    START
        LAD     GR1,ARG
        CALL    SAITEN     ;副プログラムの呼び出し
        RET
ARG     DC      #ABCC      ;1010 1011 1100 1100
        DC      #9D1C      ;1001 1101 0001 1100
ANS     DS      1          ;点数
        END
SAITEN  START              ;試験の採点 [a09.cas]
        RPUSH              ;汎用レジスタの退避
        LAD    GR2,0       ;得点の初期設定
        LD     GR3,0,GR1   ;解答の取り出し
        XOR    GR3,1,GR1   ;解答と正解の比較
        XOR    GR3,=#FFFF  ;ビットの反転 [  a  ]
LOOP    JZE    OWARI       ;ゼロならば終わり
        SLL    GR3,1       ;1ビットシフト
        JOV    SKIP
        JUMP   LOOP
SKIP    LAD    GR2,1,GR2   ;得点を加算 [  b  ]
        JUMP   LOOP
OWARI   ST     GR2,2,GR1   ; [  c  ]
        RPOP               ;汎用レジスタの復元
        RET
        END