Turing Complete Unofficial

Add 5

前提レベル

このレベルを前提とするレベル

概要

以下の動作をするプログラムを作成する問題です。

  1. 入力を受け取る
  2. 受け取った値に5を足す
  3. 計算結果を出力する

Programコンポーネントについている「Edit memory」(メモリ編集)ボタンを押すことで、 プログラムの入力画面を開くことができます。

攻略

OVERTUREアーキテクチャでは、以下の命令を使用することができます。
1個の命令は8ビットです。
命令は、画面上部の歯車アイコン (Instructions) から確認することができます。

ビット8ビット7種類動作
00Immediate (即値)下位6ビットが表す値を、レジスタ0に格納します。
01Compute (計算)レジスタ1とレジスタ2の値に下位3ビットで指定する演算を行い、結果をレジスタ3に格納します。
10Copy (値のコピー)ビット4~6で指定するレジスタまたは入力ポートの値を、ビット1~3で指定するレジスタまたは出力ポートに格納します。
11Condition (条件分岐)レジスタ3の値が下位3ビットで指定する条件を満たす場合、次のプログラムカウンタをレジスタ0の値にします。

解答

開く

OVERTUREアーキテクチャを用いる場合、以下の命令列によって要求される動作を実現できます。

命令動作
10110001レジスタ1 ← 入力ポート
00000101レジスタ0 ← 5
10000010レジスタ2 ← レジスタ0
01000100レジスタ3 ← レジスタ1 + レジスタ2
10011110出力ポート ← レジスタ3