Categories: R10旧型PC

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

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

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

大小比較 符号なし 符号あり
Reg  > M BHI
Branch Higher
if C v Z = 0 then
BGT
Branch Greater Than
if Z v (N ⊕ V) = 0 then
Reg ≧ M BCC / BHS
Branch Carry Clear / Branch Higher or Same
if C = 0 then
BGE
Branch Greater or Equal
if N ⊕ V = 0 then
Reg = M BEQ
Branch EQual
if Z = 1 then
Reg <> M BNE
Branch Not Equal
if Z = 0 then
Reg ≦ M BLS
Branch Lower or Same
if C v Z = 1 then
BLE
Branch Less Equal
if Z v (N ⊕ V) = 1 then
Reg < M BCS / 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)
1 BMI
Brabch MInus
BVS
Branch oVerflow Set
BCS
Branch Carry Set
0 BPL
Branch PLus
BVC
Branch oVerflow Clear
BCC
Branch Carry Clear

CCR

E F H I N Z V C

 

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

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

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

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

kabekin