命令セット一覧


表:命令セット一覧
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
  • Abs. = 絶対アドレス
  • Disp. = 整数ディスプレースメント
  • Imm. = 即値
  • Acc. = アキュムレータ
  • IXR = インデックス・レジスタ
  • SP = スタック・ポインタ
  • rd = 格納先レジスタ
  • rs = 供給元レジスタ


  • ホーム もどる 辞書

    This is my e-mail address:
    arch_www < www@cs.kumamoto-u.ac.jp >
    Copyright (C) KITE Microprocessor Project, 1996