問10 次のアセンブラプログラムの説明及びプログラムを読んで,設問に答えよ。
〔プログラムの説明〕
入力装置からデータを読み取り,一つの文ごとにその中に含まれる語数を 出力するプログラムである。
(1) 一つの文は,全く語を含まない空文,1 語だけ,又は 1 個以上の空白で区切られた複数の語から構成される。文の終わりは“.”(ピリオド)で示す。
(2) 語は,空白又はピリオド以外の文字の並びである。
(3) 入力データはレコード単位に読み取られる。一つの文又は語が複数のレコードに またがることもあるし,複数の文が一つのレコードに含まれることもある。また, 全く文字を含まないレコードもあり得る。
(4) プログラム中で使用される副プログラム DECPRN は,GR1 で渡された 2 進数を 10 進数に変換して出力する。
〔プログラム〕
WCNT START LEA GR2,0 ;入力ポインタ初期化 ST GR2,INLENG LP1 LEA GR1,0 ;語数カウンタ初期化 LP2 CALL GETCHR ;1文字取得 JZE FIN CPL GR0,WDELM ;語の区切り文字? CPL GR0,SDELM ;文の区切り文字? JZE SEND LP3 CALL GETCHR JZE FIN CPL GR0,WDELM JZE WEND CPL GR0,SDELM JNZ LP3 ;区切り文字でなければLP3へ WEND LEA GR1,1,GR1 ;語数のカウントアップ CPL GR0,SDELM SEND CALL DECPRN ;語数の出力 JMP LP1 FIN EXIT GETCHR CPA GR2,INLENG ;1文字取得処理 JZE GETREC LD GR0,INBUFF,GR2 RET GETREC LEA GR2,0 IN INBUFF,INLENG ;入力装置から1レコード読取り CPA GR0,EOF ;入力データの終了? JNZ GETCHR RET WDELM DC ' ' SDELM DC '.' EOF DC -1 INBUFF DS 80 INLENG DS 1 END
設問 プログラム中の に入れる正しい答えを,解答群の中から選べ。
a に関する解答群
ア JNZ LP2 イ JNZ LP3
ウ JZE LP2 エ JZE LP3
オ JZE WEND
b に関する解答群
オ JNZ WEND
c に関する解答群
ア LEA GR1,1,GR1 イ LEA GR2,-1,GR2
ウ LEA GR2,1,GR2 エ ST GR0,INLENG
オ ST GR2,INLENG
d に関する解答群
ア LD GR0,0,GR2 イ LD GR0,INBUFF,GR2
ウ LD GR0,INBUFF エ LD GR0,INLENG