本文へ移動

基本情報技術者試験 · 学習ガイド

2007年度 春期 午後の問題・解答解説

旧制度の午前・午後と、2023年度以降の科目A・科目Bの公開問題を区別しています。現在の試験対策では現行シラバスと科目Bの形式を確認してください。公開問題は本試験の全出題を網羅する資料ではありません。

2007年度 春期 午後の概要
30:00

問題番号から選ぶ

機械語命令の実行とレジスタ操作

コンピュータシステム · 機械語命令 / レジスタ間演算 / ビットシフト / 論理演算

1語が16ビット(命令部は上位8ビットop、オペランド部はレジスタ指定rが4ビット、レジスタ指定または定数vが4ビット)の機械語について、表に定義された命令(LR: レジスタロード、AR: 加算、OR: 論理和、SL: 左シフト、SR: 右シフト)を実行する。レジスタ1〜5の初期値がレジスタ1: 1234、レジスタ2: 8361、レジスタ3: 5F2A、レジスタ4: C38B、レジスタ5: 0010(いずれも16進数)であるとき、各設問の空欄 a 〜 d に当てはまる数値を求めよ。

ア
【a】9375 / 【b, c】005F / 【d】51
イ
【a】9395 / 【b, c】008B / 【d】52
ウ
【a】9575 / 【b, c】00C3 / 【d】61
エ
【a】9595 / 【b, c】2A00 / 【d】62
オ
【b, c】2A5F
カ
【b, c】8B00
キ
【b, c】8BC3
ク
【b, c】C38B
解答・解説を表示

解答

a: ア, b: カ, c: キ, d: ア

解説

まず要点:機械語命令は「命令の種類」と「対象・値」の部分に分かれ、その指定どおりにCPUがレジスタを操作します。レジスタとは、CPUの中にある高速な一時記憶場所のことです。左シフトは値を2倍・4倍・8倍…にする計算で、これを足し合わせると掛け算を使わずに10倍などの計算ができます。

解き方

  1. 命令語の上位2桁から命令の種類(LR・AR・OR・SL・SR)を見分け、下位2桁から対象のレジスタ番号と相手の値(レジスタ番号か定数)を読み取ります。
  2. 設問(1)は、レジスタ2の8361とレジスタ1の1234を2進数に直し、桁ごとの論理和(OR)を計算して9375を求めます。
  3. 設問(2)は、命令を順番に実行し、レジスタ3がC38B→8B00、レジスタ4が00C3→8BC3と変わっていく様子を追いかけます。
  4. 設問(3)は、レジスタ5を10倍するため、レジスタ6に8倍を作り、レジスタ5を2倍(1ビット左シフト)にして両者を足す手順を考えます。

小問ごとの答え

小問 a:ア
命令語3021は、op=30(OR命令)、r=2、v=1を表します。レジスタ2(8361)とレジスタ1(1234)のビットごとの論理和を計算すると、1000 0011 0110 0001 OR 0001 0010 0011 0100 = 1001 0011 0111 0101 となり、16進数で9375となります。
小問 b:カ
1034によりレジスタ3へレジスタ4の内容(C38B)がコピーされ、続く4038によりレジスタ3が8ビット左シフトされます。空いた下位には0が補われるため、レジスタ3の内容は8B00となります。
小問 c:キ
5048によりレジスタ4(C38B)が8ビット右シフトされて00C3となり、続く3043によりレジスタ4(00C3)とレジスタ3(8B00)の論理和が計算されてレジスタ4に格納されるため、8BC3となります。
小問 d:ア
10倍の計算は (x × 8) + (x × 2) = (x << 3) + (x << 1) で実現できます。1065でレジスタ6にレジスタ5を退避し、4063でレジスタ6を3ビット左シフト(8倍)しています。元のレジスタ5を1ビット左シフト(2倍)する必要があるため、命令はSL、対象r=5、シフト量v=1より、オペランドdは51となります。

覚えるポイント

  • 論理シフトでは空いたビット位置に常に0が補われる。
  • 左nビットシフトは元の値を2のn乗倍することに相当する。

間違えやすいところ

  • 16進数の桁ごとの論理和(OR)で、足し算のように繰り上がりが起きると勘違いしてしまう。
  • 結果を入れるレジスタと、相手のレジスタ・定数の指定位置を逆に読み取ってしまう。

出題の前提:問題文中に記載された機械語命令の仕様(表1、表2)および初期レジスタ値に基づく。

出典:IPA(PDF保管先:基本情報技術者試験ドットコム)『2007年度 春期 午後』
IPA公式問題冊子(第三者保管の保存版) p.5 ↗(cdn.fe-siken.com) / IPA公式問題冊子(第三者保管の保存版) p.6 ↗(cdn.fe-siken.com) / IPA公式問題冊子(第三者保管の保存版) p.7 ↗(cdn.fe-siken.com)

2007年度 春期 午後

参照した公式資料

IPA(PDF保管先:基本情報技術者試験ドットコム)が公開した2007年度 春期 午後の問題・解答資料です。