平成17年 春期 基本情報技術者 午後 問13
問13 CASL次のアセンブラプログラムの説明及びプログラムを読んで,設問1〜3に答えよ。
〔プログラムの説明〕 10 進数の読取りを行う副プログラム NREAD と,NREAD から呼ばれる副プログラム DTOB である。 (1) NREAD は,入力装置から1レコードを読み取り,読み込んだ文字列を2進数に変換し, 結果を GR0 に格納して,主プログラムに戻る。 (2) NREAD は,入力された文字列中の間隔文字を読み飛ばし,間隔文字以外について, 次の条件を検査する。 @ 最初の文字は数字又は負符号(−) A 2番目以降の文字はすべて数字 B 一つ以上の数字を含む。 条件を満たしていないとき,GR0 に −32768 を設定して主プログラムに戻る。 条件を満たしているとき,DTOB を呼び出し,DTOB の戻り値 GR0 をそのまま NREAD の戻り値とする。 (3) DTOB は,先頭アドレスを GR1 に設定して渡された数字列を2進数に変換し, GR0 に格納して呼出し元に戻る。 このとき,変換結果が −32767 〜 32767 に収まらない場合はエラーとし, GR0 に −32768 を設定して呼出し元に戻る。 〔数字列の形式〕
(4) 副プログラムから戻るとき,汎用レジスタ GR1 〜 GR7 の内容は元に戻す。
〔プログラム 1〕 1 NREAD START 2 RPUSH 3 IN INBUF,LENG ; 入力装置から 1 レコード読込み 4 LD GR2,LENG 5 JZE ERR 6 JMI ERR 7 LAD GR1,INBUF 8 ADDL GR2,GR1 ; 入力データ終端アドレスの設定 9 LAD GR3,0 ; 先頭文字確認フラグの初期化 10 LAD GR5,1 ; NUMSTR 領域カウンタの初期化 11 LAD GR6,0 ; 数字カウンタの初期化 12 LOOP CPL GR1,GR2 ; 入力データ終端? 13
〔プログラム 2〕 1 DTOB START 2 RPUSH 3 LD GR2,0,GR1 ; 文字数の取出し 4 ADDL GR2,GR1 ; 文字列終端アドレスの設定 5 LAD GR0,0 ; 戻り値の初期化 6 LAD GR3,0 ; 負符号フラグの初期設定 7 LD GR4,1,GR1 ; 最初の文字の取出し 8 CPL GR4,='-' 9 JNZ LOOP 10 LAD GR3,1 ; 負数であることを記憶 11 LAD GR1,1,GR1 12 LOOP LAD GR1,1,GR1 13 CPL GR1,GR2 ; 変換終了? 14 JPL FIN 15 LD GR4,0,GR1 ; 数字 1 文字の取出し 16 SUBL GR4,='0' ; 1 文字を数値に変換 17 SLL GR0,1 ; GR0(上位けたまでの変換値)を 10 倍する 18 JMI ERR ; 〔行番号 20 〜 22 は設問 3 参照〕 19 LD GR5,GR0 ; ” 20 SLL GR0,1 ; ” 21 JMI ERR ; ” 22 SLL GR0,1 ; ” 23 JMI ERR ; ” 24
設問1 プログラム中の
a に関する解答群 ア JNZ NEXT イ JNZ NUMCHK ウ JPL CNV エ JPL EXIT オ JZE CNV カ JZE EXIT b に関する解答群 ア ADDL GR0,GR4 イ ADDL GR0,GR5 ウ ADDL GR5,GR0 エ ADDL GR5,GR4 オ SLL GR0,1 カ SLL GR4,1 キ SLL GR4,2 ク SLL GR5,1 c に関する解答群 ア AND GR0,=#7FFF イ AND GR0,GR3 ウ OR GR0,=#8000 エ OR GR0,GR3 オ XOR GR0,=#8000 カ XOR GR0,=#FFFF キ XOR GR0,GR3
設問2 次の記述中の
IN 命令によって,文字列“△-5△24-△9”(△ は間隔文字)が入力されたとき,
〔プログラム 1〕の ERR へは,行番号
d に関する解答群 ア 5 イ 6 ウ 26 エ 28 オ 37 e に関する解答群 ア 1 イ 2 ウ 4 エ 5 オ 6 カ 7 キ 8
設問3 次の記述中の
次の数字列が NREAD から渡されたとき,DTOB の戻り値は 16 進表記で
なお,いずれの場合も,〔プログラム 2〕の行番号 15 で最後の文字'0'を 取り出したとき,GR0 の値は 10 進表記で 8192(16 進表記で 2000)となっている。 NREAD から渡された数字列 解答群 ア 0 イ 2000 ウ 4000 エ 8000 オ F000
[←前の問題] [次の問題→] [問題一覧表] [分野別] [基本情報技術者試験TOP ]
©2004-2025 情報処理試験.jp
|
プライバシーポリシー・著作権・リンク
|
お問合わせ
|
