平成16年 秋期 基本情報技術者 午後 問09
問09 CASL次のアセンブラプログラムの説明及びプログラムを読んで,設問に答えよ。
〔プログラムの説明〕 文字列中の二つ以上連続する間隔文字(以下,空白という)を一つに詰める副プログラム SPCSUP である。 (1) 主プログラムは,先頭に文字列長,その後に文字列が格納された領域の先頭アドレスを GR1 に設定して,副プログラム SPCSUP を呼ぶ。
(2) 副プログラム SPCSUP は,文字列中の空白を詰めた後,文字列長を再設定する。 (3) 副プログラム SPCSUP から戻るとき,汎用レジスタの内容は元に戻す。
注 △ は空白を示す。 〔プログラム〕 SPCSUP START RPUSH LD GR2,GR1 ; 転送元ポインタ( GR2 )初期化 LD GR3,GR1 ; 転送先ポインタ( GR3 )初期化 LD GR4,GR1 ; 文字列終了位置ポインタ( GR4 )初期化 ; ” LD GR6,=0 ; 連続空白識別フラグ( GR6 )初期化 LP LAD GR2,1,GR2 LD GR5,0,GR2 CPL GR5,=' ' LD GR6,GR6 JNZ CONT JUMP CHMOVE RESET LD GR6,=0 CHMOVE LAD GR3,1,GR3 ST GR5,0,GR3 CONT CPL GR2,GR4 JMI LP SUBL GR3,GR1 ; 新文字列長の算出 ST GR3,0,GR1 RPOP RET END 設問 プログラム中の に入れる正しい答えを, 解答群の中から選べ。
a に関する解答群 ア ADDL GR3,0,GR1 イ ADDL GR4,0,GR1 ウ LAD GR1,1,GR1 エ LAD GR3,1,GR3 オ LAD GR4,1,GR4 b に関する解答群 ア JNZ CHMOVE イ JNZ CONT ウ JNZ RESET エ JZE CHMOVE オ JZE CONT カ JZE RESET c に関する解答群 ア LAD GR2,1,GR2 イ LAD GR3,1,GR3 ウ LD GR6,1 エ LD GR6,=1
[←前の問題] [次の問題→] [問題一覧表] [分野別] [基本情報技術者試験TOP ]
©2004-2024 情報処理試験.jp
|
プライバシーポリシー・著作権・リンク
|
お問合わせ
| |||||||||||||||||||||||||||||||||||