問10 次のアセンブラプログラムの説明及びプログラムを読んで,設問に答えよ。
〔プログラムの説明〕
二つの整数の乗算を行う副プログラム MULT である。
(1) 主プログラムは,被乗数を GR1 に,乗数を GR2 に設定して,MULT を呼ぶ。
(2) MULT は,乗算結果を GR0 に設定して,処理を終える。
(3) MULT は,主プログラムに戻るとき,汎用レジスタ GR1〜GR3 を元に戻す。
(4) 被乗数,乗数,乗算結果ともに 1 語とし,けたあふれは考慮しない。
〔プログラム〕 MULT START PUSH 0,GR1 PUSH 0,GR2 PUSH 0,GR3 LEA GR0,0 ; 乗算結果の初期化 ST GR0,SGN ; 乗数の符号チェック JPZ MUL LEA GR3,1 ST GR3,SGN EOR GR2,CFF LEA GR2,1,GR2 MUL ST GR1,SAVE ; 被乗数の退避 LEA GR3,14 LP SLL GR2,1 JZE ADJ SLA GR1,0,GR3 ST GR1,WORK ADD GR0,WORK LP2 LEA GR3,-1,GR3 JMP LP ADJ LD GR3,SGN ; LEA GR3,0,GR3 ; JZE FIN ; 乗算結果の符号調整 ; ADD GR0,C1 ; FIN POP GR3 POP GR2 POP GR1 RET SAVE DS 1 WORK DS 1 SGN DS 1 CFF DC #FFFF C1 DC 1 END
設問 プログラム中の に入れる正しい 答えを,解答群の中から選べ。
a に関する解答群
ア AND GR1,C1 イ AND GR2,C1 ウ CPA GR1,CFF
エ CPA GR2,CFF オ LEA GR1,0,GR1 カ LEA GR2,0,GR2
b に関する解答群
ア JMI ADJ イ JMI FIN ウ JMI LP
エ JMI LP2 オ JPZ LP カ JPZ LP2
c に関する解答群
ア LD GR1,CFF イ LD GR1,SAVE ウ LD GR2,CFF
エ LD GR2,SAVE オ ST GR1,SAVE カ ST GR2,SAVE
d に関する解答群
ア AND GR0,C1 イ AND GR0,CFF ウ EOR GR0,C1
エ EOR GR0,CFF オ OR GR0,C1 カ OR GR0,CFF