[PR]今日のニュースは
「Infoseek モバイル」

H8 アセンブル言語一覧

 
   書きかけで 足りないところや不備なところもありますが
   とりあえず掲載しておきます
 

CCR
I UI H U N Z V C
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   何もしない




LDC B/W 指定したメモリーの内容をCCRに書きこみます
STC B/W CCRの内容をメモリーに書きこみます
ANDC   CCR AND # 結果はCCRに代入
ORC   CCR OR # 結果はCCRに代入
XORC   CCR XOR # 結果はCCRに代入

 r   ・・・ 凡用レジスタ
 R  ・・・ 凡用レジスタ、結果が代入される
 RM ・・・ 凡用レジスタ か メモリー
 #  ・・・ イミディエイトデータ(ようは数字)
 a  ・・・ アドレス

 

戻る ホームへ