平成21年 春期 基本情報技術者 午後 問12
問12 CASL次のアセンブラプログラムの説明及びプログラムを読んで,設問1,2に答えよ。 〔プログラムの説明〕 32 ビットの乗算を行う副プログラム MULS である。 (1) MULS は,32 ビットの被乗数と 16 ビットの乗数を受け取り,32 ビットの積を返す。 数値はすべて符号なし整数とし,積のオーバフローは考慮しない。 被乗数と積は,それぞれ連続する2語に上位 16 ビット,下位 16 ビットの順に格納される。 それぞれの上位語のアドレスは,GR1 と GR3 に設定して渡される。 乗数は GR2 に直接設定して渡される。 (2) 副プログラム MULS から戻るとき,汎用レジスタ GR1 〜 GR7 の内容は元に戻す。 〔プログラム1〕 MULS START ; 32ビット×16ビット→32ビット RPUSH LAD GR6,0 ; 積 上位語の初期化 LAD GR7,0 ; 積 下位語の初期化 LD GR4,0,GR1 ; 被乗数 上位語の取出し LD GR5,1,GR1 ; 被乗数 下位語の取出し LP SRL GR2,1 ; 乗数を1ビット右にシフト JZE FIN JUMP NEXT ; 加算処理をスキップ ADD32 ADDL GR6,GR4 ; 32ビット+32ビット→32ビット ADDL GR7,GR5 JUMP NEXT ADJ1 ADDL GR6,=1 ; けた上げ処理 NEXT SLL GR4,1 ; 被乗数(32ビット)を1ビット左にシフト JOV ADJ2 JUMP LP ADJ2 OR GR4,=1 JUMP LP FIN ST GR6,0,GR3 ; 乗算結果の格納 ST GR7,1,GR3 RPOP RET END設問1 プログラム中の に入れる正しい答えを, 解答群の中から選べ。 a に関する解答群 ウ JOV ADD32 エ JOV LP オ JPL ADD32 カ JPL LP b に関する解答群 ウ JOV ADJ1 エ JOV ADJ2 オ JPL ADJ1 カ JPL ADJ2 c に関する解答群 ウ JZE LP エ SLL GR5,1 オ SRA GR5,1 力 SRL GR5,1
設問2 MULS を利用して,32 ビット同士の乗算を行う副プログラム MUL を作成した。 プログラム2中の に入れる正しい答えを,解答群の中から選べ。 (1) MUL は,被乗数と乗数を受け取り,積を返す。数値はすべて 32 ビットの符号なし整数とし, 積のオーバフローは考慮しない。 被乗数,乗数,積は,それぞれ連続する2語に上位 16 ビット,下位 16 ビットの順に格納される。 それぞれの上位語のアドレスは,GR1,GR2,GR3 に設定して渡される。 (2) 副プログラム MUL から戻るとき,汎用レジスタ GR1 〜 GR7 の内容は元に戻す。 〔プログラム2〕 MUL START ; 32ビット×32ビット→32ビット RPUSH PUSH 0,GR3 PUSH 0,GR2 LD GR2,1,GR2 ; 乗数下位語を取り出してGR2に設定 CALL MULS ; 被乗数×乗数下位語→積(A) POP GR2 LAD GR3,SV ; 結果の格納先として作業領域を設定 CALL MULS ; 被乗数×乗数上位語→積(B) POP GR3 ADDL GR6,0,GR3 ; 積(A)の上位語と積(B)の下位語を加算 ST GR6,0,GR3 RPOP RET SV DS 2 END d に関する解答群 ウ LD GR1,1,GR1 エ LD GR2,0,GR1 オ LD GR2,0,GR2 力 LD GR2,1,GR1 e に関する解答群 ウ LD GR6,0,GR3 エ LD GR6,1,GR1 オ LD GR6,1,GR2 力 LD GR6,1,GR3
[←前の問題] [次の問題→] [問題一覧表] [分野別] [基本情報技術者試験TOP ]
©2004-2024 情報処理試験.jp
|
プライバシーポリシー・著作権・リンク
|
お問合わせ
|