平成18年 春期 基本情報技術者 午後 問09
問09 CASL次のアセンブラプログラムの説明及びプログラムを読んで,設問1,2に答えよ。 〔プログラムの説明〕 (1) 副プログラム OBLONG は,各座標値が整数である 2 点 A(x1,y1), B(x2,y2)を対角の頂点とし,各辺が x 軸又は y 軸に平行な長方形の面積を 求めるプログラムである。
@ 次のパラメタの先頭アドレスが GR1 に格納されて,主プログラムから渡される。
A x1≠x2,y1≠y2 とする。 B 求めた面積は GR0 に格納して,主プログラムに返す。 C 副プログラム OBLONG から戻るとき,汎用レジスタ GR1 〜 GR7 の内容は元に戻す。 (2) 副プログラム ABS は,OBLONG から渡された GR2 の内容をその絶対値に
置き換えるプログラムである。
(3) プログラム中の演算で,あふれは起きないものとする。 〔プログラム〕 (行番号) 1 OBLONG START 2 RPUSH 3 LD GR2,0,GR1 ;GR3←|x1-x2| 4 SUBA GR2,2,GR1 ; ” 5 CALL ABS ; ” 6 LD GR3,GR2 ; ” 7 LD GR2,1,GR1 ;GR2←|y1-y2| 8 SUBA GR2,3,GR1 ; ” 9 CALL ABS ; ” 10 LD GR0,=0 ; 面積の初期化 11 LOOP SRL GR2,1 12 13 JZE FIN1 14 15 ADD ADDA GR0,GR3 16 SHIFT SLA GR3,1 17 JUMP LOOP 18 FIN1 RPOP 19 RET 20 ; 21 ABS LD GR0,GR2 22 JMI MINUS 23 JUMP FIN2 24 MINUS LD GR2,=0 25 26 FIN2 RET 27 END
設問1 プログラム中の に入れる正しい答えを, 解答群の中から選べ。
a,b に関する解答群 ア JMI ADD イ JMI LOOP ウ JMI SHIFT エ JOV ADD オ JOV LOOP カ JOV SHIFT キ JUMP ADD ク JUMP LOOP ケ JUMP SHIFT c に関する解答群 ア ADDA GR0,GR2 イ ADDA GR2,GR0 ウ SUBA GR0,GR2 エ SUBA GR2,GR0
設問2 2 点 A と B に次の座標を与えたとき,行番号 15 の ADDA 命令は何回実行されるか。 正しい答えを,解答群の中から選べ。 A の座標:(3,6) B の座標:(−5,17) 解答群 ア 1 イ 2 ウ 3 エ 4 オ 5
[←前の問題] [次の問題→] [問題一覧表] [分野別] [基本情報技術者試験TOP ]
©2004-2024 情報処理試験.jp
|
プライバシーポリシー・著作権・リンク
|
お問合わせ
|