2

我昨天写了一个答案: 你见过或做过的最酷的黑客是什么? 而且我非常努力地记住我的 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,会影响进位,但我不确定它是否适用于这种情况。

4

2 回答 2

5

如果小于 ,则 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
于 2010-09-22T07:50:01.550 回答
0

第一次谷歌点击:http ://en.wikibooks.org/wiki/6502_Assembly#Branch

于 2009-02-04T23:20:11.390 回答