未満の場合に分岐するための正しい分岐命令はどれですか。

StackOverflow https://stackoverflow.com/questions/513785

  •  21-08-2019
  •  | 
  •  

質問

私は昨日これに対して次のような回答を書きました。あなたが見た、または実行した最もクールなハックは何ですか?私は 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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top