我在这里玩 6502 汇编器:http: //skilldrick.github.io/easy6502
我所做的只是将随机颜色像素放在屏幕上的随机位置:
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
我正在尝试使用尽可能少的指令。我的问题是,如果我不在子例程中添加额外LDA $fe
的genPos
像素,则像素将以非常奇怪的模式绘制,如果我确实有额外的 LDA,则代码可以完美运行。我不明白为什么 - 任何人都可以给我一个提示吗?
问候,雅各布