平成7年度 秋期 第二種 午後 問10
[更新日]1994.10.25
問10 次のアセンブラプログラムの説明及びプログラムを読んで、設問に答えよ。 [プログラムの説明] 主プログラムから与えられた個人情報テーブルを編集して出力する副プログ ラムRCDOUTがある。(1) 主プログラムは、GR1に個人情報テーブルの先頭番値 を格納して副プログラムRCDOUTを呼ぶ。 (2) 個人情報テーブルは1件以上の個人レコードからなる。最後の個人レコー ドの次の1語の内容は#0000である。 (3) 個人レコードは可変長の文字列で、氏名、住所及び電話番号をコンマ(,) で区切ったものである。氏名、住所及び電話番号にはコンマは含まれず、 いずれも省略されることはない。 (4) 個人レコードの最後は必ず制御文字(#000A)で終る。 (5) 氏名の長さは19文字以内、住所の長さは39文字以内、電話番号の19文字 以内である。 (6) RCDOUTは、個人レコード1件ごとに、氏名を1けた目から、住所を21けた 目から、電話番号を61けた目から出力する。 例 個人情報テーブル: ┌─────────────────────────────────────────┐ │Ichiro Toda,Chiyoda−ku…1−1,03−5555−1234| : └─────────────────────────────────────────┘ ┌───────────────────────────────────────────────────────┐ 続き→:Jiro Azuma,Minato−ku…3−5,03−3333−9876| … 0423−77−6666|■│ └───────────────────────────────────────────────────────┘ 注 |は制御文字(#000A)、■はテーブルの最後(#0000)を示す。 出力イメージ: ┌1けた目 ┌21けた目 ┌61けた目 ↓ ↓ ↓ ┌───────────────────────────────────────┐ │Ichiro Toda Chiyoda−ku…1−1 03−5555−1234│ │Jiro Azuma Minato−ku…3−5 03−3333−9876│ │ : : : │ │ | [プログラム] RCDOUT START ; LOOP CALL BUFCLR ;出力エリアのクリア [ a ] ;出力エリアのアドレスをGR2へ LEA GR3,1 ;出力位置テーブルのポインタ MXTCHR LD GR0,0,GR1 ; LEA GR1,1,GR1 ; CPL GR0,EOF ;文字列の最後? JZE RETURN ; CPL GR0,NL ;行の最後? JZE OUTPUT ; CPL GR0,COMMA ;区切り文字? JZE NXTCLM ; [ b ] ; LEA GR2,1,GR2 ; JMP NXTCHR ; NXTCLM [ c ] ; LEA GR3,1,GR3 ; JMP NXTCHR ; OUTPUT OUT OUTBUF,OUTLNG; JMP LOOP ; RETURN RET ; ; BUFCLR LEA GR2,0 ; LD GR3,SPACE ; LOOP2 [ d ] ; LEA GR2,1,GR2 ; CPA GR2,OUTLNG ; JMI LOOP2 ; RET ; ; OUTLNG DC 80 ; OUTBUF DS 20 ;┐ ADDR DS 40 ;│出力エリア TEL DS 20 ;┘ CLMTBL DC OUTBUF ;┐ DC ADDR ;│出力位置テーブル DC TEL ;┘ EOF DC #0000 ; NL DC #000A ; COMMA DC ’,’ ; SPACE DC ’ ’ ; END ; 設問 プログラム中の[ ]に入れる正しい答えを、解答群の中から選べ。
a 答
ア
c 答
ウ
a、cに関する解答群 ア LD GR2,CLMTBL イ LD GR2,CLMTBL,GR1 ウ LD GR2,CLMTBL,GR3 エ LD GR2,OUTBUF オ LD GR2,OUTBUF,GR1 カ LD GR2,OUTBUF,GR3 キ LEA GR2,CLMTBL,GR1 ク LEA GR2,CLMTBL,GR3 ケ LEA GR2,OUTBUF,GR1 コ LEA GR2,OUTBUF,GR3
b 答
イ
d 答
コ
b、d関する解答群 ア ST GR0,0,GR1 イ ST GR0,0,GR2 ウ ST GR0,0,GR3 エ ST GR0,OUTBUF,GR1 オ ST GR0,OUTBUF,GR2 カ ST GR0,OUTBUF,GR3 キ ST GR3,CLMTBL,GR1 ク ST GR3,CLMTBL,GR2 ケ ST GR3,OUTBUF,GR1 コ ST GR3,OUTBUF,GR2