Pythonからライブラリとして呼び出せる小規模なVMの作製しています。
2つの汎用レジスタR0, R1を持たせる。
どちらも 0~15 の値を保持できるようにする。
| バイトコード | 命令 | 処理 |
|---|---|---|
| 0x00 | HALT | 実行終了 |
| 0x10, n | LOAD R0, n | R0に値を設定 |
| 0x11, n | LOAD R1, n | R1に値を設定 |
| 0x20 | ADD R0, R1 | R0 += R1 |
| 0x21 | ADD R1, R0 | R1 += R0 |
| 0x30 | SUB R0, R1 | R0 -= R1 |
| 0x31 | SUB R1, R0 | R1 -= R0 |
| 0x40 | MOV R0, R1 | R0 = R1 |
| 0x41 | MOV R1, R0 | R1 = R0 |
このほか、内部にプログラムカウンタ pc を持たせる