對不起,如果這個問題似乎是'太基本'。我是一個68K ASM編碼器,但有一位朋友要求我瀏覽一下6502代碼。 我們有一個指向一串數據: my_ptr ds 2
此指針設置與此代碼: ldx sound_channel_busy
bne .abc_set_score1 ; at bottom of code
sta my_ptr ; fill the pointer
讀取數據與 lda
有人可以解釋LDA,ROL,STA給出結果的每條指令的確切結果嗎? C=1 (carry flag is 1)
LDA A #$08 0008 | 01
ROL A 0009 | 02
STA A $10 000A | 03 // A result is $11
000B | 04
000C | 05
我想這: LDA A #$08 0008 - Stor
我寫完了我的6502模擬器,我準備開始測試它。我發現了帶有一些文檔的ROM,但我不確定,加載ROM的正確方式是什麼。作者說,模擬器應該從0xC000開始,當我加載ROM時,它包含0,所以我必須做錯了什麼。 所以現在我的加載過程看起來是這樣的: clear memory
set PC to 0x8000
open the file
skip first 16 bytes (iNES heade
我正在通過C64仿真器學習6502微程序集。目前試圖將字符串輸出到屏幕上。這是我的代碼: processor 6502
org $1000
ldx #$00 ;using x register as column counter
print:
lda message,x;load a with x bit from message
sta $0400,x
寫我的6502/NES模擬器時,這真的讓我... 6502的存儲指令操作是這樣的: STA $2A78 - Store the value of the accumulator into memory address $2A78.
但是,該指令使用絕對尋址模式,它應該返回存儲在存儲器$2A78中的8位值。該AND指令,不遵循這個規律: (If $6A is stored in $2A78)