6809の分岐命令を整理しておく^^

いつも忘れてしまう6809の分岐命令を整理しておきます。

比較順序
① lda, ldb でレジスタに比較される値をロード
② cmpa, cmpbでメモリ に 比較する値を指定
③ その後分岐命令で分岐先を指定
④分岐しない場合は分岐命令の次から評価

大小比較符号なし符号あり
Reg  > MBHI
Branch Higher
if C v Z = 0 then
BGT
Branch Greater Than
if Z v (N ⊕ V) = 0 then
Reg ≧ MBCC / BHS
Branch Carry Clear / Branch Higher or Same
if C = 0 then
BGE
Branch Greater or Equal
if N ⊕ V = 0 then
Reg = MBEQ
Branch EQual
if Z = 1 then
Reg <> MBNE
Branch Not Equal
if Z = 0 then
Reg ≦ MBLS
Branch Lower or Same
if C v Z = 1 then
BLE
Branch Less Equal
if Z v (N ⊕ V) = 1 then
Reg < MBCS / BLO
Branch Carrt Set / Branch / Branch LOwer
if C = 1 then
BLT
Branch Less Than
if N ⊕ V = 1 then
CCRフラグチェックN (Bit3)V (Bit1)C (Bit0)
1BMI
Brabch MInus
BVS
Branch oVerflow Set
BCS
Branch Carry Set
0BPL
Branch PLus
BVC
Branch oVerflow Clear
BCC
Branch Carry Clear

CCR

EFHINZVC

 

条件なし分岐 
常に分岐BRA
BRanch Always 
常に分岐しないBRN
BRanch Never

分岐命令を整理するまでは丸暗記するしかないと思っていましたが、意味を当てはめてみると
覚えやすい命令名だということに今更ながら気づきました・・・
今後は表を見なくても分岐できそう^^;;;

そんな6809分岐命令整理の記録

参考文献
6809ハンドブック アスキー出版局
FMシリーズによる6809アセンブラ教則本 CQ出版社

コメントを残す

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。 本文に全角文字を2文字以上含めて下さい (スパム対策)