Weitere bedingte Verzweigungen

Aus CBMPET.DE

Wechseln zu: Navigation, Suche

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.