![]()
平成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
|
プライバシーポリシー・著作権・リンク
|
お問合わせ
| ||||||