Quale è l'istruzione di salto corretta alla succursale se meno di
Domanda
ho scritto una risposta di ieri a questa: Qual è la più cool hack hai visto o fatto? e stavo cercando davvero difficile ricordare il mio 6502 assemblaggio, e non ho potuto per la vita di me ricordare come diramazione se meno di ...
: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
Qualcuno sa che cosa l'istruzione è? BNE e BEQ sono uguali, BCC è stato per il trasporto, e un CMP è fondamentalmente uno SBC e che colpisce il riporto, ma non sono sicuro se funziona in questo caso.
Soluzione
BCC è ramo se inferiore a ; BCS è ramo se maggiore o uguale. C'è un bel tutorial qui .
Tuttavia il codice di Stu può essere scritto in modo più conciso senza CMP:
BIT $C010 ;clear the keyboard strobe
:1
LDA $C000 ;check for a keypress
BPL :1 ;taken if no keypress
JSR $FDFO ;print the key
Altri suggerimenti
In primo luogo Google ha colpito: http://en.wikibooks.org/wiki/6502_Assembly#Branch
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow