以下に示すのがFX-マイコンの全命令です。
フラグの推移について書かれていないものは、すべてフラグを1にします。
直値とは直接数字をしていすることです。
| 16進 | ニーモニック | 意味 |
|---|---|---|
| 0 | KA | レジスタAに押されているキーの値を格納。入力がないとフラグ1 |
| 1 | AO | レジスタAの内容を7セグLEDに表示する |
| 2 | CH | レジスタAとB、YとZをチェンジする |
| 3 | CY | レジスタAとYの内容をチェンジする |
| 4 | AM | レジスタAの内容をメモリに格納する |
| 5 | MA | メモリの内容をレジスタAに読み込む |
| 6 | M+ | メモリとレジスタAを足し、結果をAに入れる。桁上がりでフラグ1 |
| 7 | M- | メモリからレジスタAを引き、結果をAに入れる。桁下がりでフラグ1 |
| 8 | TIA | 直値をレジスタAに入れる |
| 9 | AIA | レジスタAに直値を足し込む。桁上がりでフラグ1 |
| A | TIY | 直値をレジスタYに読み込む |
| B | AIY | レジスタYに直値を足し込む。桁上がりでフラグ1 |
| C | CIA | レジスタAと直値を比較し、違うときフラグ1 |
| D | CIY | レジスタYと直値を比較し、違うときフラグ1 |
| E | CAL | 割り込みを起こしてROMルーチンを呼び出す |
| F | JUMP | フラグが1の時、分岐を行う |
以下に示すのは内部ルーチンに用意されたプログラムです。これらは必ずEのCAL命令で呼び出されるので、16進やニーモニックもその組み合わせで書いてあります。
| 16進 | ニーモニック | 意味 |
|---|---|---|
| E0 | CAL RSTO | 7セグ数字LEDを消す |
| E1 | CAL SETR | レジスタYの位置の2進LEDを点灯する |
| E2 | CAL RSTT | レジスタYの位置の2進LEDを1個消す |
| E3 | CAL INPT | 外部入力をレジスタAに入れる |
| E4 | CAL CMPL | レジスタAを反転させる |
| E5 | CAL CHNG | レジスタABYZとA'B'Y'Z'をチェンジする |
| E6 | CAL SIFT | レジスタAを右にシフトする。結果が偶数のときフラグ1 |
| E7 | CAL ENDS | エンド音を鳴らす |
| E8 | CAL ERRS | エラー音を鳴らす |
| E9 | CAL SHTS | 短い音を鳴らす |
| EA | CAL LONS | 長い音を鳴らす |
| EB | CAL SUND | レジスタAの音階の音を鳴らす |
| EC | CAL TIMR | (レジスタA+1)×0.1秒待つ |
| ED | CAL DSPR | メモリ5F、5Eの内容を2進LEDに表示する |
| EE | CAL DEM- | レジスタYが示すメモリからAを引いた後、10進補正して元のメモリに格納 |
| EF | CAL DEM+ | レジスタYが示すメモリにAを足した後、10進補正して元のメモリに格納 |
以下に示すのは、CAL SUNDで使用されるレジスタAの値と音階の対応表です。同じものがキーボードにも印刷されていました。
| 0 | 無音 |
| 1 | ラ(低音) |
| 2 | シ(低音) |
| 3 | ド |
| 4 | レ |
| 5 | ミ |
| 6 | ファ |
| 7 | ソ |
| 8 | ラ |
| 9 | シ |
| A | ド(高音) |
| B | レ(高音) |
| C | ミ(高音) |
| D | ファ(高音) |
| E | ソ(高音) |
| F | 無音 |
FX-マイコンエミュレータつくったらウケるかな・・・