Add 5
前提レベル
このレベルを前提とするレベル
概要
以下の動作をするプログラムを作成する問題です。
- 入力を受け取る
- 受け取った値に5を足す
- 計算結果を出力する
Programコンポーネントについている「Edit memory」(メモリ編集)ボタンを押すことで、 プログラムの入力画面を開くことができます。
攻略
OVERTUREアーキテクチャでは、以下の命令を使用することができます。
1個の命令は8ビットです。
命令は、画面上部の歯車アイコン (Instructions) から確認することができます。
ビット8 | ビット7 | 種類 | 動作 |
---|---|---|---|
0 | 0 | Immediate (即値) | 下位6ビットが表す値を、レジスタ0に格納します。 |
0 | 1 | Compute (計算) | レジスタ1とレジスタ2の値に下位3ビットで指定する演算を行い、結果をレジスタ3に格納します。 |
1 | 0 | Copy (値のコピー) | ビット4~6で指定するレジスタまたは入力ポートの値を、ビット1~3で指定するレジスタまたは出力ポートに格納します。 |
1 | 1 | Condition (条件分岐) | レジスタ3の値が下位3ビットで指定する条件を満たす場合、次のプログラムカウンタをレジスタ0の値にします。 |
解答
OVERTUREアーキテクチャを用いる場合、以下の命令列によって要求される動作を実現できます。
命令 | 動作 |
---|---|
10110001 | レジスタ1 ← 入力ポート |
00000101 | レジスタ0 ← 5 |
10000010 | レジスタ2 ← レジスタ0 |
01000100 | レジスタ3 ← レジスタ1 + レジスタ2 |
10011110 | 出力ポート ← レジスタ3 |