H8 アセンブル言語一覧
![]()
書きかけで 足りないところや不備なところもありますが
とりあえず掲載しておきます
CCR
|
|||||||||
| I 割り込みマスクビット | 1にセットされると割り込みができなくなる(マスク可能なのは) | ||||||||
| UI ユーザー/割り込みマスク | |||||||||
| H ハーフキャリフラグ | |||||||||
| U ユーザービット | |||||||||
| N ネガティブフラグ | 計算結果が負の場合 1 正なら0 | ||||||||
| Z ゼロフラグ | 計算結果などが0のとき 1にセットされる | ||||||||
| V オーバーフローフラグ | |||||||||
| C キャリーフラグ | 結果に桁が足りなかった場合 1にセットされる | ||||||||
| 命令 | サイズ | 内容 | ||
| デ | タ 転 送 |
MOV r,R | B/W/L | レジスタr からレジスタR
にデータを転送します 又は メモリとレジスタ間 又は #からレジスタへデータを転送します |
|
| PUSH r | W/L | 凡用レジスタのデータをスタック領域に保存します | ||
| POP r | W/L | スタック領域に保存しておいたデータをレジスタに戻します | ||
| EEPMOV.B | メモリー転送をします ER5にあるアドレスからR4LかR4にある バイト数のデータを ER6にあるアドレスに転送します |
|||
| EEPMOV.W | メモリー転送をします ER5にあるアドレスからR4LかR4にある バイト数のデータを ER6にあるアドレスに転送します |
|||
| 演 算 |
加 算 |
ADD r,R | B/W/L | r+R 又は#+R 結果はRに代入 |
| ADDX r,R | r+R 又は#+R 結果はRに代入 (キャリー付) | |||
| INC #,R | B/W/L | R+1か+2(バイトサイズなら+1のみ) | ||
| ADDS #,R | L | R+1か+2か+4 | ||
| 除 算 |
SUB r,R | B/W/L | R-r 又はR-# 結果はRに代入 (ただしバイトサイズでは‐#は出来ない) | |
| SUBX r,R | R-r 又はR-# 結果はRに代入 (キャリー付) | |||
| DEC #,R | B/W/L | R-1か-2(バイトサイズなら-1のみ) | ||
| SUBS #,R | L | R-1か-2か-4 | ||
| CMP r,R | B/W/L | R-r ただし結果はRに代入されない。 CCRに結果が反映 | ||
| 乗 除 |
MULXU r,R | B/W | r×R | |
| MULXS r,R | B/W | r×R (符号付) | ||
| DIVXU r,R | B/W | R÷r | ||
| DIVXS r,R | B/W | R÷r (符号付) | ||
| そ の 他 演 算 |
DAA R | レジスタの内容を4ビットBCDに補正 | ||
| DAS R | レジスタの内容を4ビットBCDに補正 | |||
| NEG R | B/W/L | 符号を反転します(+→-|-→+) | ||
| EXTU R | W/L | ビット拡張をします | ||
| EXTS R | W/L | ビット拡張をします(符号付) | ||
| 論 理 演 算 |
AND r#,R | B/W/L | r もしくは# とRの AND | |
| OR r#,R | B/W/L | r もしくは# とRの OR | ||
| NOT R | B/W/L | Rの NOT | ||
| XOR r#,R | B/W/L | r もしくは#とRの XOR | ||
| シ フ ト 回 転 |
SHAL R | B/W/L | 左に1ビットシフト 算術的に | |
| SHLL R | B/W/L | 左に1ビットシフト 論理的に | ||
| ROTL R | B/W/L | 左に1ビット回転 | ||
| ROTXL R | B/W/L | 左に1ビット回転 (キャリー付) | ||
| SHAR R | B/W/L | 右に1ビットシフト 算術的に | ||
| SHLR R | B/W/L | 右に1ビットシフト 論理的に | ||
| ROTR R | B/W/L | 右に1ビット回転 | ||
| ROTXR R | B/W/L | 右に1ビット回転 (キャリー付) | ||
| ビ ッ ト 操 作 |
ビ ッ ト 操 作 |
BSET #,RM | #ビット目を1にします | |
| BCLR #,RM | #ビット目を0にします | |||
| BNOT #,RM | #ビット目を反転します | |||
| BTST #,RM | #ビット目をゼロフラグに反映します | |||
| BLD #,RM | #ビット目を キャリーフラグ に転送します | |||
| BILD #,RM | #ビット目を反転してから キャリーフラグ に転送 | |||
| BST #,RM | キャリーフラグの内容を #ビット目に転送 | |||
| BIST #,RM | キャリーフラグの内容を反転して #ビット目に転送 | |||
| ビ ッ ト の 論 理 演 算 |
BAND #,RM | #ビット目と キャリーフラグをAND キャリーに反映 | ||
| BIAND #,RM | #ビット目を反転して キャリーフラグとAND キャリーに反映 | |||
| BOR #,RM | #ビット目と キャリーフラグをOR キャリーに反映 | |||
| BIOR #,RM | #ビット目を反転して キャリーフラグとOR キャリーに反映 | |||
| BXOR #,RM | #ビット目と キャリーフラグをXOR キャリーに反映 | |||
| BIXOR #,RM | #ビット目を反転して キャリーフラグとXOR キャリーに反映 | |||
| ジ ャ ン プ |
ジ ャ ン プ 条 |
BRA a | 指定したアドレスへジャンプ(相対番地) 例:BRA H'FFF000 | |
| JMP a | 指定したアドレスへジャンプ(絶対番地) 例:JMP @H'FFF000 | |||
| BCC a | C=0のときジャンプ | |||
| BCS a | C=1 | |||
| BNE a | Z=0 | |||
| BEQ a | Z=1 | |||
| BPL a | N=0 | |||
| BMI a | N=1 | |||
| BVC a | V=0 | |||
| BVS a | V=1 | |||
| BHI a | C OR Z の結果が0 | |||
| BLS a | C OR Z の結果が1 | |||
| BGE a | C XOR Z の結果が0 | |||
| BLT a | C XOR Z の結果が1 | |||
| BGT a | N XOR V の結果と ZとのORの結果が0 | |||
| BLE a | N XOR V の結果と ZとのORの結果が1 | |||
| サ ブ ル | チ ン |
BSR a | サブルーチンへジャンプ(相対番地) 例:BSR SUB | ||
| JSR a | サブルーチンへジャンプ(絶対番地) 例:JSR @SUB | |||
| RTS | サブルーチンから戻る | |||
| そ の 他 |
そ の 他 |
TRAPA | 命令トラップ例外処理をします | |
| RTE | 割り込み、もしくはTRAPA命令の処理から戻ります | |||
| SLEEP | スリープ、スタンバイ状態になります | |||
| NOP | 何もしない | |||
| C C R 操 作 |
LDC | B/W | 指定したメモリーの内容をCCRに書きこみます | |
| STC | B/W | CCRの内容をメモリーに書きこみます | ||
| ANDC | CCR AND # 結果はCCRに代入 | |||
| ORC | CCR OR # 結果はCCRに代入 | |||
| XORC | CCR XOR # 結果はCCRに代入 |
r ・・・ 凡用レジスタ
R ・・・ 凡用レジスタ、結果が代入される
RM ・・・ 凡用レジスタ か メモリー
# ・・・ イミディエイトデータ(ようは数字)
a ・・・ アドレス