命令表

カードの値、命令、足し算の早見表をまとめたページです。くわしい説明は「ルール」のページにあります。

カードの値

カード1枚は、0〜12の13通りの値のどれか1つを表します。スート(♠♥♦♣)は値には関係しません。

カード A 2〜10 J Q K
値 1 2〜10(数字のとおり) 11 12 0

命令

置き場のカード1枚が、1つの命令です。カードのスートで命令の種類が決まり、カードの値 n がその命令のオペランド(命令が使う値)になります。

スート 命令 日本語名 動作 例
  LOAD n 読み込み Rを n にする(R ← n) ♠5:Rを5にする
  ADD n 足し算 Rを「R+n を13で割った余り」にする(足し算の早見表) R=10 のとき ♥4:10+4=14、14÷13の余りは1なので、Rを1にする
  JUMP n ジャンプ 次に n 番地を実行する(PC ← n) ♣7:次に7番地を実行する
  OUT 出力 Rの値をI/Oポートに出力する。カードの値は使わない R=2 のとき ♦(どの値でも):「2」を出力する

1命令の実行手順

  1. PCの目印がある番地のカードを見る
  2. カードがあれば、カードのスートで命令を決め、命令表のとおりに実行する
    • Rが変わったら、メモを新しい値に書き直す
  3. PCを進める
    • JUMP n なら、PCの目印を n 番地へ動かす
    • それ以外の命令なら、PCの目印を1つ次の番地へ動かす。12番地の次は0番地(ラップ)

足し算の早見表

♥(ADD n)を実行したあとのRの値です。行が今のRの値、列が足す数 n(カードの値)です。R+n が13以上のときは、13を引いた値になります(13で割った余り)。

例:R=9 のとき ♥7(ADD 7)なら、9の行と7の列が交わるマス(太枠)を見て、Rを3にします(9+7=16、16÷13の余りは3)。

色の付いたマスは、R+n が13以上になり、13を引いたマスです。

足し算の早見表(R+n を13で割った余り)
Rn 0K 1A 2 3 4 5 6 7 8 9 10 11J 12Q
0 0 1 2 3 4 5 6 7 8 9 10 11 12
1 1 2 3 4 5 6 7 8 9 10 11 12 0
2 2 3 4 5 6 7 8 9 10 11 12 0 1
3 3 4 5 6 7 8 9 10 11 12 0 1 2
4 4 5 6 7 8 9 10 11 12 0 1 2 3
5 5 6 7 8 9 10 11 12 0 1 2 3 4
6 6 7 8 9 10 11 12 0 1 2 3 4 5
7 7 8 9 10 11 12 0 1 2 3 4 5 6
8 8 9 10 11 12 0 1 2 3 4 5 6 7
9 9 10 11 12 0 1 2 3 4 5 6 7 8
10 10 11 12 0 1 2 3 4 5 6 7 8 9
11 11 12 0 1 2 3 4 5 6 7 8 9 10
12 12 0 1 2 3 4 5 6 7 8 9 10 11

1手番の手順

  1. 引く:山札の一番上のカードを1枚引き、手札に加える
  2. 置く(してもしなくてもよい):手札から好きな枚数のカードを、自分の置き場に置く
  3. 3命令を実行:PCの番地から命令を1つずつ、3命令(タイムスライス)実行する。実行を始めてから交代するまでは、自分の置き場にカードを置けない。
  4. 交代:次のプレイヤー(時計回りで左隣)の手番にする(コンテキストスイッチ)