平成29年 春期 基本情報技術者 午後 問12
問12 CASL次のアセンブラプログラムの説明及びプログラムを読んで,設問1〜3に答えよ。 〔プログラム1の説明〕 64 ビット符号なし整数の加算を行う副プログラム ADD64 である。 64 ビット符号なし整数の主記憶への格納方法を,図1に示す。
図1 64 ビット符号なし整数の主記憶への格納方法 (1) GR1 及び GR2 には,それぞれ次の内容が設定されて,主プログラムから渡される。 (2) 副プログラム ADD64 は,GR1 に設定されたアドレスから始まる連続した4語の領域に, 加算の結果を格納する。このとき,桁あふれは発生しないものとする。 (3) 副プログラム ADD64 から戻るとき,汎用レジスタ GR1 〜 GR7 の内容は元に戻す。 〔プログラム1) (行番号) 1 ADD64 START 2 RPUSH 3 LD GRØ,=Ø 4 LAD GR3,3,GR1 5 LAD GR4,3,GR2 6 LOOP LD GR5,=Ø 7 ADDL GRØ,Ø,GR3 8 JOV OV1 9 JUMP NOV1 1Ø OV1 a 11 NOV1 ADDL GRØ,Ø,GR4 12 JOV OV2 13 JUMP NOV2 14 OV2 a 15 NOV2 ST GRØ,Ø,GR3 16 LD GRØ,GR5 17 b 18 JZE EXIT 19 SUBL GR3,=1 2Ø SUBL GR4,=1 21 c 22 EXIT RPOP 23 RET 24 END
a,b に関する解答群 エ CPL GR3,GR2 オ LD GR5,=1 c に関する解答群
図2 主記憶に格納した値 d に関する解答群 エ #2EØD オ #3F1D カ #3F1E
〔プログラム2の説明〕 (1) 32 ビット符号なし整数の主記憶への格納方法を,図3に示す。
図3 32 ビット符号なし整数の主記憶への格納方法 (2) GR1 〜 GR3 には,それぞれ次の内容が設定されて,主プログラムから渡される。 GR3:乗算結果となる 64 ビット符号なし整数を格納する領域の先頭アドレス。 領域は連続した4語から成る。 (3) 副プログラム MUL32 から戻るとき,汎用レジスタ GR1 〜 GR7 の内容は元に戻す。 〔プログラム2〕 MUL32 START RPUSH LAD GR7,TEMP ; 初期化 LD GRØ,Ø,GR1 ; GR1 から始まる2語の領域の値を, ST GRØ,2,GR7 ; TEMP から始まる4語の領域のうちの LD GRØ,1,GR1 ; 下位2語に格納 ST GRØ,3,GR7 LD GRØ,=Ø ST GRØ,Ø,GR7 ; TEMP から始まる4語の領域のうちの ST GRØ,1,GR7 ; 上位2語に格納 ST GRØ,Ø,GR3 ST GRØ,1,GR3 ; GR3 から始まる4語の領域の値に Ø を格納 ST GRØ,2,GR3 ST GRØ,3,GR3 LD GR5,=Ø ; ループカウンタ LD GR4,GR2 ; GR2 の値を GR4 に退避 LOOP LD GR6,GR5 SUBL GR6,=16 e LD GRØ,Ø,GR2 SRL GRØ,Ø,GR6 JUMP TESTBIT LOWORD LD GRØ,1,GR2 SRL GRØ,Ø,GR5 TESTBIT AND GRØ,=#ØØØ1 JZE EXITLOOP LD GR1,GR3 LAD GR2,TEMP CALL ADD64 EXITLOOP CPL GR5.=31 JZE EXIT ADDL GR5,=1 LAD GR1,TEMP f CALL ADD64 LD GR2,GR4 ; GR4 に退避した値を GR2 に復帰 JUMP LOOP EXIT RPOP RET TEMP DS 4 END e,f に関する解答群 エ JZE LOWORD オ LAD GR2,TEMP カ LD GR2,=1 キ LD GR2,GR3 ク LD GR2,TEMP
[←前の問題] [次の問題→] [問題一覧表] [分野別] [基本情報技術者試験TOP ]
©2004-2024 情報処理試験.jp
|
プライバシーポリシー・著作権・リンク
|
お問合わせ
| ||||||