我在这里尝试使用6502汇编语言:http://skilldrick.github.io/easy6502
我已经制作了一个程序,它会在屏幕上的随机位置放置一个随机颜色的像素点:
我尽量使用尽可能少的指令。我的问题是,如果我在genPos子例程中不加额外的LDA $fe,像素会以非常奇怪的方式绘制,如果我有额外的LDA,则代码可以完美地工作。我无法理解原因 - 有人能给我提示吗?
问候, Jacob
LDY #$00 ; Clear Y
loop:
JSR genPos ; Put new position in memory
LDA $fe ; Get random number for color
STA ($10), Y ; Put pixel on screen
JMP loop
genPos:
STA $10 ; Store accumulator in low
LDA $fe ; Get new random number (WHY, oh why?)
AND #$03 ; Mask out low two bits (=numbers 0-3)
CLC ; Clear carry flag
ADC #2 ; Add 2 (= numbers 2-5)
STA $11 ; Store number in high
RTS
我尽量使用尽可能少的指令。我的问题是,如果我在genPos子例程中不加额外的LDA $fe,像素会以非常奇怪的方式绘制,如果我有额外的LDA,则代码可以完美地工作。我无法理解原因 - 有人能给我提示吗?
问候, Jacob
$fe
处有随机数,键盘输入在$ff
处。 - Lynn