基本情報技術者試験の過去問と解説
[TOP] [午前分野別] [午後分野別] [キーワード索引] [令和元年秋午前] [令和元年秋午後]

平成14年 春期 基本情報技術者 午後 問09
問09   CASL

 次のアセンブラプログラムの説明及びプログラムを読んで,設問1〜3に答えよ。

〔プログラムの説明〕

 GR1 中の,値が1であるビットの個数を求め,GR2 に格納する副プログラムである。

〔プログラム〕

(行番号)
  1  CNT1  START
  2        LAD   GR2,0
  3        LD    GR1,GR1
  4        JZE   FIN
  5        PUSH  0,GR1
  6  LP    JPL   NCNT
  7        LAD   GR2,1,GR2
  8  NCNT  SLL   GR1,1
  9        JNZ   LP
 10        POP   GR1
 11  FIN   RET
 12        END

基本情報技術者試験


設問1 GR1 に #BCA0 を格納して副プログラム CNT1 を呼んだとき, 行番号6の実行によって NCNT へ分岐する回数として,正しい答えを解答群の中から選べ。

解答群

ア 4      イ 5      ウ 7      エ 8      オ 9

解答←クリックすると正解が表示されます

基本情報技術者試験


設問2  GR1 中の,値が0であるビットの個数を求め,GR2 に格納するように元のプログラムを 修正する場合,まず行番号2を“LAD GR2,16”と修正した。 さらに修正すべき行の行番号と修正内容の組として,正しい答えを解答群の中から選べ。

解答群

   行番号        修正内容
  ア  4    JMI NCNT
  イ  6 LP  JMI NCNT
  ウ  7    LAD GR2,-1,GR2
  エ  8 NCNT SRL GR1,1
  オ  9    JMI LP
解答 ←クリックすると正解が表示されます

基本情報技術者試験


設問3  別のアルゴリズムを試すため,値が1であるビットの個数を数えるプログラムを 次のように書き換えることにした。 変更前と同じ結果を得るために,プログラム中の に入れる正しい答えを,解答群の中から選べ。

(行番号)

 1  CNT1  START
 2        LAD   GR2,0
 3        LD    GR1,GR1
 4        
 5        PUSH  0,GR1
 6  LP    SLL   GR1,1
 7        
 8        JUMP  NCNT
 9  CNT   LAD   GR2,1,GR2
10  NCNT  JNZ   LP
11        POP   GR1
12  FIN   RET
13        END

a に関する解答群

ア JNZ  CNT    イ JNZ  NCNT    ウ JNZ  FIN

エ JZE  CNT    オ JZE  NCNT    カ JZE  FIN

b に関する解答群

ア JPL  CNT    イ JMI  CNT    ウ JOV  CNT

エ JPL  LP    オ JMI  LP    カ JOV  LP


[←前の問題] [次の問題→] [問題一覧表] [分野別] [基本情報技術者試験TOP ]