¿Qué es la correcta instrucción de salto para saltar si menos de
Pregunta
escribí ayer una respuesta a esto: Cuál es el más fresco truco que has visto o hecho? y yo estaba tratando realmente difícil de recordar mi montaje de 6502, y no pude por la vida de mí recordar cómo se deriva cuando menos de ...
: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
Alguien sabe lo que es la instrucción? BNE y EQB son iguales, BCC fue para equipaje, y una CMP es básicamente un SBC y que afecta al transporte, pero no estoy seguro si funciona en ese caso.
Solución
BCC es rama si menos de ; BCS es la rama si es mayor que o igual. Hay un buen tutorial aquí .
Sin embargo código de Stu se puede escribir de manera más concisa y sin 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
Otros consejos
Primero golpeó Google: http://en.wikibooks.org/wiki/6502_Assembly#Branch
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow