Pergunta

Eu escrevi uma resposta ontem para isso: O que é o mais legal hack que você tenha visto ou feito? e eu estava tentando realmente difícil lembrar o meu 6502 montagem, e eu não poderia para a vida de me lembrar de como ramo se 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

Alguém sabe o que a instrução é? BNE e BEQ são iguais, BCC foi para transportar, e uma CMP é basicamente um SBC e que afeta o transporte, mas não tenho certeza se ele funciona nesse caso.

Foi útil?

Solução

BCC é ramo se menos de ; BCS é ramo, se maior ou igual. Há um bom tutorial aqui .

No entanto código de stu pode ser escrito de forma mais concisa, sem 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

Outras dicas

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top