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