平成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-2025 情報処理試験.jp
|
プライバシーポリシー・著作権・リンク
|
お問合わせ
| ||||||
