トップ | よくある質問 | 作者ブログ | お問い合わせ・ご注文 |
FullTr-11 命令セット
MOV A, im | Aレジスタに即値を代入 |
MOV B, im | Bレジスタに即値を代入 |
MOV C, im | Cレジスタに即値を代入 |
MOV A, [im] | Aレジスタに、RAM内のimで指定されるアドレスに保存されている値を代入 |
MOV B, [im] | Bレジスタに、RAM内のmで指定されるアドレスに保存されている値を代入 |
MOV C, [im] | Cレジスタに、RAM内のimで指定されるアドレスに保存されている値を代入 |
MOV [im], A | RAM内のimで指定されるアドレスにAレジスタの値を書く |
MOV [im], C | RAM内のimで指定されるアドレスにCレジスタの値を書く |
ADD A, B | A=A+B: Aレジスタの値とBレジスタの値の合計をAレジスタに代入 |
ADD C, im | C=C+im: Cレジスタの値と即値の合計をCレジスタに代入 |
SUB | A=A-B: Aレジスタの値からBレジスタの値を引いたものをAレジスタに代入 |
JMP im | 即値で指定されるアドレスにジャンプ |
JMP [im] | RAM内のimで指定されるアドレスに保存されている値のアドレスにジャンプ |
JNC im | 直前の演算結果でキャリーが発生しなければ、即値のアドレスにジャンプ |
FullTr-11はPICなどと同様のハーバードアーキテクチャです。
RAMとROMのアドレスが分離されており、プログラムはROMに格納されます。
命令は5bitで、この後に11bitのオペランドがついて、合計の命令長は16bitになります。
ROMは1024個のスイッチで構成されており、64命令を格納できます。
RAMは11bitが4個の44bitの容量です。
ROM,RAMともアドレス幅が11bitであるため、原理的には2.75KByteまで拡張可能です。
上記のニーモニックを使って記述したプログラムをアセンブラにかけると、ビット単位の0と1で表したマシン語を書いたファイルが生成されます。これをスイッチで入力していきます。