| 16進コード |
ニーモニック |
説明 |
機能 |
| データ転送命令 |
| 0XXX |
LD   Abs. |
Abs番地のデータをアキュムレータに読み込む |
Acc. ← (Abs.) |
| C2XX |
LD   IXR,Disp. |
(IXR + Disp.)番地のデータをアキュムレータに読み込む. |
Acc. ← (IXR + Disp.) |
| C1XX |
LD   #Imm. |
Imm.をアキュムレータに読み込む. |
Acc. ← Imm. |
| 1XXX |
ST   Abs. |
Abs番地にアキュムレータのデータを書き込む |
(Abs.) ← Acc. |
| C6XX |
ST   IXR, Disp. |
(IXR + Disp.)番地のデータをアキュムレータに書き込む. |
(IXR + Disp.) ← Acc. |
| F00X |
MV   rd, rs |
rsのデータをrdに読み込む |
rd ← rs |
| C8XX |
IN   Abs. |
I/O空間のAbs.番地のデータをアキュムレータに読み込む. |
Acc. ← (Abs.) |
| CCXX |
OUT   Abs. |
I/O空間のAbs.番地にアキュムレータのデータを書き込む. |
(Abs.) ← Acc. |
| 算術論理演算命令 |
| 82XX |
ADD   IXR, Disp. |
アキュムレータと(IXR + Disp.)番地のデータを加算し,アキュムレータに格納する |
Acc. ← Acc. + (IXR + Disp.) |
| 81XX |
ADD   #Imm. |
アキュムレータとImm.を加算し,アキュムレータに格納する. |
Acc. ← Acc. + Imm. |
| 86XX |
SUB   IXR, Disp. |
アキュムレータから(IXR + Disp.)番地のデータを減算し,アキュムレータに格納する |
Acc. ← Acc. - (IXR + Disp.) |
|
| 85XX |
SUB   #Imm. |
アキュムレータとImm.を減算し,アキュムレータに格納する. |
Acc. ← Acc. - Imm. |
| 880X |
INC   rd, rs |
rsのデータをインクリメントし,rdに格納する. |
rd ← rs + 1 |
| 8CXX |
DEC   rd,rs |
rsのデータをデクリメントし,rdに格納する. |
rd ← rs - 1 |
| 92XX |
OR   IXR, Disp. |
アキュムレータと(IXR + Disp.)番地のデータの論理和をアキュムレータに格納する . |
Acc. ← Acc. ∪ (IXR + Disp.) |
| 91XX |
OR   #Imm. |
アキュムレータとImm.の論理和をアキュムレータに格納する |
Acc. ← Acc. ∪ Imm. |
| 96XX |
EOR   IXR, Disp. |
アキュムレータと(IXR + Disp.)番地のデータの排他的論理和をアキュムレータに格納する. |
Acc. ← Acc. eor (IXR + Disp.) |
| 95XX |
EOR   #Imm. |
アキュムレータとImm.の排他的論理和をアキュムレータに格納する. |
Acc. ← Acc. eor Imm. |
| 9AXX |
AND   IXR, Disp. |
アキュムレータと(IXR + Disp.)番地のデータの論理積をアキュムレータに格納する. |
Acc. ← Acc. ∩ (IXR + Disp.) |
| 99XX |
AND   #Imm. |
アキュムレータとImm.の論理積をアキュムレータに格納する. |
Acc. ← Acc. ∩ Imm. |
| 9CXX |
NOT |
アキュムレータの1の補数をアキュムレータに格納する. |
Acc. ← ¬Acc. |
| シフト命令 |
| A000 |
LSL |
アキュムレータを論理左シフトする |
Acc. ← { Acc[14:0], 0 } |
| A800 |
LSR |
アキュムレータを論理右シフトする |
Acc. ← { 0, Acc[15:1] } |
| A400 |
ASL |
アキュムレータを算術左シフトする. |
Acc. ← { Acc[14:0], 0 } |
| AC00 |
ASR |
アキュムレータを算術右シフトする. |
Acc. ← { Acc[15], Acc[15:1] } |
| B000 |
ROL |
アキュムレータを左回転する. |
Acc. ← { Acc[14:0], Acc[15] } |
| B400 |
ROL |
アキュムレータを右回転する. |
Acc. ← { Acc[0], Acc[15:1] } |
| BC00 |
SWP |
アキュムレータの上位8bitと下位8bitを入れ換える |
Acc[15…8] ⇔ Acc[7…0] |
| 分岐命令 |
| 3XXX |
JP   Abs. |
無条件でAbs.番地に分岐する. |
PC ← Abs. |
| 4XXX |
JPc   Abs. |
キャリー・フラグが1であれば,Abs.番地に分岐する. |
if(CF == 1) then PC ← Abs. |
| 5XXX |
JPz   Abs. |
ゼロ・フラグが1であれば,Abs.番地に分岐する. |
if(ZF == 1) then PC ← Abs. |
| 6XXX |
JPs   Abs. |
サイン・フラグが1であれば,Abs.番地に分岐する. |
if(SF == 1) then PC ← Abs. |
| 7XXX |
JPv   Abs. |
オーバフロー・フラグが1であれば,Abs.番地に分岐する. |
if(VF == 1) then PC ← Abs. |
| 2XXX |
Call   Abs. |
サブ・ルーチンへ分岐する |
SP--, (SP) ←PC, PC ← Abs. |
| EXXX |
Ret |
サブ・ルーチンから復帰する. |
PC ← (SP), SP++ |
| スタック命令 |
| D000 |
POP |
スタックのデータをアキュムレータに書き込む. |
Acc. ← (SP), SP ++ |
| D400 |
PUSH |
アキュムレータの値をスタックに書き込む. |
SP--, (SP) ← Acc. |
| プロセッサ制御命令 |
| F800 |
HALT |
プロセッサの動作を停止させる |
Halt |
| FC00 |
NOP |
何も行わない |
No Operation |