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

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

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

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

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

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

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