データ転送命令
命令 | 内容 |
---|---|
MOV | 汎用レジスタと汎用レジスタまたは汎用レジスタとメモリ間でデータ転送します。 |
PUSH | 汎用レジスタの内容をスタックに退避します。 |
POP | スタックから汎用レジスタへデータを復帰します。 |
MOVTPE | 汎用レジスタの内容をクロックに同期したタイミングで外部メモリに転送します。 |
MOVFPE | 外部メモリの内容を クロックに同期したタイミングで汎用レジスタに転送します。 |
算術演算命令
命令 | 内容 |
---|---|
ADD | 汎用レジスタと汎用レジスタまたは汎用レジスタとイミディエイトデータ間の加減算を行います |
SUB | 汎用レジスタと汎用レジスタまたは汎用レジスタとイミディエイトデータ間の加減算を行います |
ADDX | 汎用レジスタと汎用レジスタまたは汎用レジスタとイミディエイトデータ間のキャリ付きの加減算を行います。 |
SUBX | 汎用レジスタと汎用レジスタまたは汎用レジスタとイミディエイトデータ間のキャリ付きの加減算を行います。 |
INC | 汎用レジスタに 1 または 2 を加減算します |
DEC | 汎用レジスタに 1 または 2 を加減算します |
ADDS | 32 ビットレジスタに 12または 4 を加減算します。 |
SUBS | 32 ビットレジスタに 12または 4 を加減算します。 |
DAA | 汎用レジスタ上の加減算結果を CCR を参照して 4 ビット BCD データに補正します。 |
DAS | 汎用レジスタ上の加減算結果を CCR を参照して 4 ビット BCD データに補正します。 |
MULXU | 汎用レジスタと汎用レジスタ間の符号なし乗算を行います。 |
MULXS | 汎用レジスタと汎用レジスタ間の符号付き乗算を行います。 |
DIVXU | 汎用レジスタと汎用レジスタ間の符号なし除算を行います。 |
DIVXS | 汎用レジスタと汎用レジスタ間の符号付き除算を行います。 |
CMP | 汎用レジスタと汎用レジスタまたは汎用レジスタとイミディエイトデータ間の比較を行いその結果を CCR に反映します。 |
NEG | 汎用レジスタの内容の 2 の補数(算術的補数)をとります。 |
EXTS | 16 ビットレジスタの下位 8 ビットをワードサイズに符号拡張します。 |
EXTU | 16 ビットレジスタの下位 8 ビットをワードサイズにゼロ拡張します。 |
論理演算命令
命令 | 内容 |
---|---|
AND | 汎用レジスタと汎用レジスタまたは汎用レジスタとイミディエイトデータ間の論理積をとります。 |
OR | 汎用レジスタと汎用レジスタまたは汎用レジスタとイミディエイトデータ間の論理和をとります。 |
XOR | 汎用レジスタと汎用レジスタまたは汎用レジスタとイミディエイトデータ間の排他的論理和をとります。 |
NOT | 汎用レジスタの内容の 1 の補数(論理的補数)をとります。 |
シフト命令
命令 | 内容 |
---|---|
SHAL | 汎用レジスタの内容を算術的にシフトします。 |
SHAR | 汎用レジスタの内容を算術的にシフトします。 |
SHLL | 汎用レジスタの内容を論理的にシフトします。 |
SHLR | 汎用レジスタの内容を論理的にシフトします。 |
ROTL | 汎用レジスタの内容をローテートします。 |
ROTR | 汎用レジスタの内容をローテートします。 |
ROTXL | 汎用レジスタの内容をキャリフラグを含めてローテートします。 |
ROTXR | 汎用レジスタの内容をキャリフラグを含めてローテートします。 |
ビット操作命令
命令 | 内容 |
---|---|
BSET | 汎用レジスタまたはメモリのオペランドの指定された 1 ビットを 1 にセットします。 |
BCLR | 汎用レジスタまたはメモリのオペランドの指定された 1 ビットを 0 にクリアします。 |
BNOT | 汎用レジスタまたはメモリのオペランドの指定された 1 ビットを反転します。 |
BTST | 汎用レジスタまたはメモリのオペランドの指定された 1 ビットをテストしゼロフラグに反映します。 |
BAND | 汎用レジスタまたはメモリのオペランドの指定された 1 ビットとキャリフラグとの論理積をとり結果をキャリフラグに格納します。 |
BIAND | 汎用レジスタまたはメモリのオペランドの指定された 1 ビットを反転しキャリフラグとの論理積をとり結果をキャリフラグに格納します。 |
BOR | 汎用レジスタまたはメモリのオペランドの指定された 1 ビットとキャリフラグとの論理和をとり結果をキャリフラグに格納します。 |
BIOR | 汎用レジスタまたはメモリのオペランドの指定された 1 ビットを反転しキャリフラグとの論理和をとり結果をキャリフラグに格納します。 |
BXOR | 汎用レジスタまたはメモリのオペランドの指定された 1 ビットを反転しキャリフラグとの論理和をとり結果をキャリフラグに格納します。 |
BIXOR | 汎用レジスタまたはメモリのオペランドの指定された 1 ビットを反転しキャリフラグとの排他的論理和をとり結果をキャリフラグに格納します。 |
BLD | 汎用レジスタレジスタまたはメモリのオペランドの指定された 1 ビットをキャリフラグに転送します。 |
BILD | 汎用レジスタレジスタまたはメモリのオペランドの指定された 1 ビットを反転しキャリフラグに転送します。 |
BST | 汎用レジスタまたはメモリのオペランドの指定された 1 ビットにキャリフラグの内容を転送します。 |
BIST | 汎用レジスタまたはメモリのオペランドの指定された 1 ビットにキャリフラグの内容を転送します。 |
分岐命令
命令 | 内容 |
---|---|
Bcc | 指定した条件が成立しているとき指定されたアドレスへ分岐します。 |
JMP | 指定されたアドレスへ無条件に分岐します。 |
BSR | 指定されたアドレスへサブルーチン分岐します。 |
JSR | 指定されたアドレスへサブルーチン分岐します。 |
RTS | サブルーチンから復帰します。 |
システム制御命令
命令 | 内容 |
---|---|
TRAPA | 命令トラップ例外処理を行います。 |
RTE | 例外処理ルーチンから復帰します。 |
SLEEP | 低消費電力状態に遷移します。 |
LDC | 汎用レジスタまたはメモリの内容を CCR に転送します。またイミディエイトデータを CCR に転送します。 |
STC | CCR の内容を汎用レジスタまたはメモリに転送します。CCR は 8 ビットですがCCR とメモリ間の転送はワードサイズで行われ上位 8 ビットが有効になります。 |
ANDC | CCR とイミディエイトデータの論理積をとります。 |
ORC | CCR とイミディエイトデータの論理和をとります。 |
XORC | CCR とイミディエイトデータの排他的論理和をとります。 |
NOP | PC のインクリメントだけを行います。 |
ブロック転送命令
命令 | 内容 |
---|---|
EEPMOV | ブロック転送命令です。ER5 で示されるアドレスから始まりR4L または R4 で指定されるバイト数のデータをER6 で示されるアドレスのロケーションへ転送します。 |