Weitere bedingte Verzweigungen
Aus CBMPET.DE
Inhaltsverzeichnis |
Weitere Branch-Befehle
BEQ
Branch on equal
BEQ bildet das Gegenstück zu BNE. Es ist auf die gültige Sprungweite zu achten. Da der BEQ-Befehl mitgerechnet wird, ist ein Sprung von maximal -126 oder +129 möglich.
Assembler:
...
cmp #$0a
beq _100
...
_100: ...
rts
Basic-Analogon: if a=10 then gosub 100
BCC
Branch on Carry clear
BCC verzweigt bei gelöschtem Carry-Flag. Anbei ein kleines Programm zum Testen.
!to"iscarry.prg",cbm
strout = $ab1e
*=$1000
LDA #$01 ;<- Hier Wert erhöhen um BCS zu testen.
CLC
ADC #$fe
BCC c0:
BCS c1:
RTS
c0: LDA #<cc
STA $22
LDY #>cc
STA $23
JSR strout
RTS
c1: LDA #<cs
STA $22
LDY #>cs
STA $23
JSR strout
RTS
cc: !tx "CARRY CLEAR!",0
cs: !tx "CARRY SET ! ",0
BCS
Branch on Carry set
BCS verzweigt bei gesetztem Carry-Flag.
BPL
Branch on Plus
BPL verzweigt, wenn das Ergebnis positiv ist.
BMI
Branch on Minus
BMI verzweigt, wenn das Ergebnis negativ ist.
BVC
Branch on Overflow clear
BVC verzweigt, wenn das Overflow-Flag nicht gesetzt ist.
BVS
Branch on Overflow set
BVS verzweigt, wenn das Overflow-Flag gesetzt ist.
