未満の場合に分岐するための正しい分岐命令はどれですか。
質問
私は昨日これに対して次のような回答を書きました。あなたが見た、または実行した最もクールなハックは何ですか?私は 6502 アセンブリを一生懸命覚えようとしましたが、以下の場合に分岐する方法を一生思い出せませんでした...
: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
どのような指示か知っている人はいますか?BNE と BEQ は同等で、BCC はキャリー用で、CMP は基本的に SBC であり、それがキャリーに影響しますが、その場合に機能するかどうかはわかりません。
解決
BCC が以下の場合は分岐します;BCS 以上の場合は分岐します。素敵なチュートリアルがあります ここ.
ただし、stu のコードは 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
他のヒント
まず、Googleがヒット: http://en.wikibooks.org/wiki/6502_Assembly#Branch の
所属していません StackOverflow