平成7年度 秋期 第二種 午後 問14

                        [更新日]1995.10.25
問14 次のアセンブラプログラムの説明及び二つのプログラムを読んで、設問 1〜3に答えよ。 〔プログラムの説明〕 二つのプログラム、MULT1とMULT2は、両方とも二つの自然数mとnを受け 取り、その積m×nを求める副プログラムである。 (1) mはGR1に、nはGR2に、それぞれ格納されて主プログラムから渡される。 (2) 積m×nはGR0に格納し、主プログラムに返す。 (3) けたあふれは起きないものとする。つまり、積は10進数で32767(16進 数で7FFF)を超えないものとする。 〔プログラム1〕         (行番号)    01 MULT1 START            02       LEA   GR0,0      03 LOOP  ST    GR2,WORK2  04       AND   GR2,MASK   05       JZE   OFF        06       ST    GR1,WORK1  07       ADD   GR0,WORK1  08 OFF   SLL   GR1,1      09       LD    GR2,WORK2  10       SRL   GR2,1 11       JNZ   LOOP 12 FIN   RET 13 MASK  DC    #0001 14 WORK1 DS    1 15 WORK2 DS    1 16       END 〔プログラム2〕 (行番号) 01 MULT2 START 02       LEA   GR0,0 03       ST    GR1,WORK 04 LOOP  ADD   GR0,WORK 05       LEA   GR2,−1,GR2 06       JNZ   LOOP 07 FIN   RET 08 WORK  DS    1 09       END 設問1 次の記述中の[    ]に入れる正しい答えを、解答群の中から 選べ。 実行される命令の個数は、nの値が小さいときは[  a  ]の ほうが多いが、nの値が大きくなると[  b  ]のほうが多くな る。 プログラム1において、行番号03〜11の部分のループ回数は、nの 値が2倍になると、[  c  ]。 プログラム2において、行番号04〜06の部分のループ回数は、nの 値が1増えると、1回増える。 解答群 a、bに関する解答群 ア プログラム1 イ プログラム2 cに関する解答群 ア 1回増える イ 1回減る ウ 2倍になる エ 1/2倍になる 設問2 プログラム1に関する次の記述中の[    ]に入れる正しい答えを、 解答群の中から選べ。 n=23のときと、n=24のときを比較すると、実行される命令の個数は n=[  d   ]のときのほうが[  e  ]個多い。 n=100のとき、行番号07のADD命令は、[  f  ]回実行される。 解答群 ア 2 イ 3 ウ 4 エ 5 オ 6 カ 23 キ 24 ク 50 ケ 99 コ 100 設問3 プログラム2は、n>0を仮定して作られたものであり、n=0のときを考 えていない。このため、行番号04〜06の3行を次の命令に置き換えた。 [    ]に入れる正しい答えを、解答群の中から選べ。 LOOP LEA GR2,-1,GR2 [    ] ADD GR0,WORK JMP LOOP 解答群 ア JMI FIN イ JNZ FIN ウ JPZ FIN エ JZE FIN