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

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

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

〔プログラムの説明〕

 副プログラム SYMTST は,16 ビットからなるビット列が左右対称かどうかを検査するプログラムである。 図に左右対称なビット列の例を示す。

1 0 1 1 0 1 0 11 0 1 0 1 1 0 1

 図 左右対称なビット列の例

(1) ビット列は GR1 に設定されて,主プログラムから渡される。

(2) ビット列が左右対称であれば GR0 に1を,そうでなければ0を設定して主プログラムに返す。

(3) 副プログラムから戻るとき,汎用レジスタ GR1 〜 GR7 の内容は元に戻す。

〔プログラム〕

(行番号)
 1  SYMTST  START
 2          RPUSH
 3          LD    GR3,=8
 4          LD    GR2,GR1
 5  LOOP    SLL   GR1,1
 6          JOV   OFLOW
 7          SRL   GR2,1       ; 右端のビットは1か?
 8          JOV   NG          ; 1であれば左右対称でない。
 9          JUMP  OK
10  OFLOW   SRL   GR2,1
11          
12  NG      LD    GR0,=0      ; 左右対称でない。
13          JUMP  FIN
14  OK      SUBA  GR3,=1
15          
16          LD    GR0,=1      ; 左右対称である。
17  FIN     RPOP
18          RET
19          END

設問1 プログラム中の に入れる正しい答えを, 解答群の中から選べ。

解答群

ア JMI LOOP     イ JOV NG      ウ JOV OFLOW

エ JOV OK      オ JPL LOOP     カ JZE LOOP

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

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

基本情報技術者試験


設問2 ビット列が図のとおりであった場合,行番号 17 のマクロ命令 RPOP の実行直前に おける GR2 の内容として正しい答えを,解答群の中から選べ。

解答群

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

基本情報技術者試験


設問3 ビット列が次のとおりであった場合(▲で示されるビットが左右対称ではない場合), 行番号 10 の SRL 命令は何回実行されるか。 正しい答えを,解答群の中から選べ。

解答群

ア 1       イ 2       ウ 3       エ 4

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

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