Burada 6502 assembler'i etrafında oynuyorum:6502 montajcı rasgele sayı problemleri
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
Ben: Ben sadece ekranda rastgele bir yerde rastgele renk pikseli koyar bu yapmış http://skilldrick.github.io/easy6502
mümkün olduğunca az talimat kullanmaya çalışıyorum. Benim sorunum, alt rutinde fazladan bir LDA $fe
koymayınca, pikseller çok tuhaf bir şekilde çizilir ki, fazladan LDA'm varsa kod mükemmel çalışır. Nedenini anlayamıyorum - kimse bana bir ipucu verebilir mi?
Selamlar, Jacob
Evet benzeri bir desen olsun, yani üzerinde çekilmekte olduğu eşittir - 2 bayt. Düşük 10 $ 'da 11 $' da. Anlamadığım şey, akümülatördeki rasgele sayının (önceki döngüde kullanılan renk) ekran adresi için düşük bir bayt yapması gerektiğidir. – jriff
@ i486: @jriff kullandığı JavaScript emülatörünü bağladı. '$ Fe''de rastgele sayılara ve $ ff'de klavye girişine sahiptir. – Lynn