サンプルに、count1とcall_count1を追加
[YACASL2.git] / as / exam_fe / 2011_10 / Q12 / Q12.txt
1 https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2011h23_2/2011h23a_fe_pm_qs.pdf P.56 - P.59
2 次のアセンブラプログラムの説明及びプログラムを読んで,設問1,2に答えよ。
3
4 〔プログラム1の説明〕
5
6 除算を行う副プログラム DIV である。
7
8 (1) DIV は表1に示すレジスタを介して,被除数と除数を受け取り,商と剰余を返す。 数値は全て 32 ビットの符号なし整数とし,除数は0でないものとする。
9
10 表1 パラメタの受渡し方法
11                 上位語(上位 16 ビット)      下位語(下位 16 ビット)
12 入力  被除数       GR1     GR2
13         除数  連続する2語に,上位 16 ビット,下位 16 ビットの順に格納し,上位語のアドレスを GR3 に設定
14 出力  商     GR1     GR2
15         剰余  GR4     GR5
16
17 (2) 副プログラム DIV から戻るとき,汎用レジスタ GR6, GR7 の内容は元に戻す。
18
19 設問1.
20 プログラム1中の に入れる正しい答えを,解答群の中から選べ。
21
22 a に関する解答群
23
24 ア ADDL GR1,0,GR3    イ ADDL GR1,=1     ウ ADDL GR2,1,GR3
25 エ ADDL GR2,=1     オ ADDL GR4,0,GR3    カ ADDL GR5,1,GR3
26
27 b に関する解答群
28
29 ア JMI ADJ2     イ JMI CONT     ウ JOV ADJ2
30 エ JOV CONT     オ JPL ADJ2     カ JPL CONT
31
32 設問2.
33 10進表記で 0~99999 の値の整数を32ビット符号なし整数として与えたとき,DIV を用いて10進数文字列に変換する副プログラム BTOD を異なるアルゴリズムで2種類作成した。プログラム2は10進表記の上位桁から求めるものであり,プログラム3は10進表記の下位桁から求めるものである。プログラム2,プログラム3中の に入れる正しい答えを,解答群の中から選べ。
34 BTOD は32ビット符号なし整数の上位語を GR1 に,下位語を GR2 に,変換結果を格納する領域の先頭アドレスを GR3 に設定して呼び出される。
35 変換後の10進数文字列は5語の領域に格納される。ただし,5桁に満たない場合は上位桁に"0"が補われる。対象数値が16進表記で 0000054D の場合の実行結果を,次に示す。
36 pm12_3.gif/image-size:317×50
37 副プログラム BTOD から戻るとき,汎用レジスタ GR1~GR7 の内容は元に戻す。