stu*_*stu 2 assembly branch 6502
我昨天写了一个答案: 你见过或做过的最酷的黑客是什么? 而且我正在努力记住我的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
Run Code Online (Sandbox Code Playgroud)
有人知道指令是什么吗?BNE和BEQ是平等的,BCC用于携带,而CMP基本上是一个SBC并影响进位,但我不确定它是否适用于那种情况.
BCC是分支,如果小于 ; 如果大于或等于BCS,则BCS为分支.有一个很好的教程在这里.
然而,没有CMP,stu的代码可以更简洁地编写:
BIT $C010 ;clear the keyboard strobe
:1
LDA $C000 ;check for a keypress
BPL :1 ;taken if no keypress
JSR $FDFO ;print the key
Run Code Online (Sandbox Code Playgroud)