sto giocando intorno con 6502 assembler qui: http://skilldrick.github.io/easy65026502 problemi assemblatore di numeri casuali
ho fatto questa che mette solo un pixel di colore casuale in un posto a caso sullo schermo:
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
Sono cercando di utilizzare il minor numero possibile di istruzioni. Il mio problema è che se non metto un extra LDA $fe
nella sub routine genPos
i pixel sono disegnati in un modello molto strano dove se ho l'addizionale LDA il codice funziona perfettamente. Non riesco a capire perché - qualcuno può darmi un suggerimento?
saluti, Jacob
Sì - 2 byte. Basso è in $ 10, alto in $ 11. Quello che non capisco è che il numero casuale nell'accumulatore (usato per il colore nel ciclo precedente) dovrebbe rendere un byte basso fine per l'indirizzo dello schermo. – jriff
@ i486: @jriff ha collegato l'emulatore JavaScript che sta utilizzando. Ha numeri casuali a '$ fe' e input da tastiera a' $ ff'. – Lynn