Frage

Ich schrieb eine Antwort gestern dazu: Was ist der coolste Hack gesehen oder getan haben? und ich versuche wirklich schwer, meine 6502 Versammlung zu erinnern, und ich konnte nicht für das Leben von mir erinnern, wie verzweigen, wenn weniger als ...

  :1
  lda $C010
  cmp #$80
  bcc :1  ; branch if less than? I forget how to do that.
  lda $C000
  jsr $FDF0   ;output the accumulator value to the screen

Jeder weiß, was der Befehl? BNE und BEQ sind equals, BCC für Carry war, und ein CMP ist im Grunde ein SBC und das wirkt sich auf die Übertrags, aber ich bin nicht sicher, ob es in diesem Fall funktioniert.

War es hilfreich?

Lösung

BCC ist Zweig, wenn weniger als ; BCS ist Zweig, wenn größer oder gleich. Es gibt ein schönes Tutorial hier .

Allerdings Code des stu kann prägnant ohne CMP geschrieben mehr werden:

BIT $C010     ;clear the keyboard strobe
:1
LDA $C000     ;check for a keypress
BPL :1        ;taken if no keypress
JSR $FDFO     ;print the key

Andere Tipps

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top