Last Updated on 2019年5月15日 by kabekin
いつも忘れてしまう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分岐命令整理の記録