gram około z 6502 asemblerze tutaj: http://skilldrick.github.io/easy65026502 problemy assembler liczb pseudolosowych
zrobiłem to, że po prostu kładzie losowy kolor piksela w losowym miejscu na ekranie:
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
jestem starając się używać jak najmniej instrukcji. Moim problemem jest to, że jeśli nie dodaję dodatkowej LDA $fe
w podprogramie genPos
, piksele są rysowane w bardzo dziwny wzór, gdzie jeśli mam dodatkowy kod LDA, kod działa idealnie. Nie mogę zrozumieć, dlaczego - czy ktoś może mi dać wskazówkę?
Pozdrawiam, Jacob
Tak - 2 bajty. Niskie ceny wynoszą 10 USD, a wysokie 11 USD. To, czego nie rozumiem, to że liczba losowa w akumulatorze (używana dla koloru w poprzedniej pętli) powinna zawierać drobny bajt dla adresu ekranu. – jriff
@ i486: @jriff łączył emulator JavaScript, z którego korzysta. Ma losowe liczby na '$ fe' i wejście klawiatury na' $ ff'. – Lynn