撰寫或選擇程式
在編輯器中輸入 6502 組合語言,或選擇貪食蛇、彩色條紋或數學示範等範例。程式從 $0600 開始。
輸入 6502 組合語言並按下「執行」:程式會被組譯,並在支援鍵盤輸入的 32×32 彩色螢幕上執行。
一次執行一條指令、設定中斷點,並觀察暫存器、旗標與記憶體的變化。
正在載入模擬器…
在編輯器中輸入 6502 組合語言,或選擇貪食蛇、彩色條紋或數學示範等範例。程式從 $0600 開始。
按下「執行」(或 Ctrl/⌘+Enter)。程式碼會被組譯;錯誤會連同行號一起列出。點選畫面即可將按鍵傳送給程式。
暫停、一次執行一條指令,並點選行號設定中斷點。執行時可觀察暫存器、旗標、記憶體與反組譯。
6502 有三個 8 位元暫存器、256 位元組的堆疊與少數幾種定址模式。掌握這些概念就能走很遠。
$0200 到 $05FF 的每個位元組是一個像素,每列 32 個。STA $0200 會為左上角像素上色;加上 $20 即可往下移一列。
位址 $00–$FF 只需一個位元組就能表示,讀取也少一個週期。把計數器與指標放在這裡。
將 16 位元位址存入兩個零頁位元組(低位元組在前),然後 LDA ($10),Y 會從該位址加上 Y 讀取。貪食蛇與圖樣範例就用這個方法走遍螢幕。
ADC 也會加上進位,因此加法前先用 CLC,減法前先用 SEC。之後可用 BCC 與 BCS 等分支測試進位。
執行 SED 後,ADC 與 SBC 會以十進位計算:$58 + $46 得到 $04 並設定進位(104)。很適合用來計分;用 CLD 再關閉。
每條載入與算術指令都會更新 N 與 Z。逐步執行迴圈,在測試它們的分支之前觀察其變化。
用 WaveSpeed AI 從提示詞為您的遊戲與展示程式製作像素風圖塊、標題畫面與短片。
符合資格的新帳號可獲得 $1 免費點數,無需信用卡。 生成器需另外擁有帳號與點數。6502 模擬器則完全免費。
是的。免費、免註冊、沒有廣告、沒有限制。您的程式會儲存在瀏覽器中,下次開啟時仍在。
原始的 NMOS 6502,包含全部 151 條有文件記載的指令、具 NMOS 旗標行為的 BCD 十進位模式、JMP ($xxFF) 跨頁錯誤,以及有文件記載的週期數(含跨頁與分支的額外週期)。
它通過了一套廣泛使用的 6502 功能測試程式,以及 150 萬個檢查暫存器、旗標、記憶體與週期數的單指令測試案例。
64 KB 的 RAM。螢幕位於 $0200–$05FF(每個像素一個位元組,16 色),讀取 $FE 會得到新的隨機位元組,$FF 存放您最後按下的按鍵,程式從 $0600 載入。為採用此配置的熱門 6502 入門教學所撰寫的程式,不需修改即可執行。
點選或輕觸畫面後輸入:按鍵的 ASCII 碼會送到 $FF。方向鍵與螢幕上的方向按鈕會送出 w、a、s 與 d,貪食蛇與繪圖範例都會用到。
標籤(loop: 或行首的單字)、常數(define name value 或 name = value)、*= 或 .org、.byte/dcb、.word、.text、.asciiz 與 .res、十六進位($FF)、二進位(%1010)、十進位與字元('A')數字、算術運算,以及用 < 和 > 取低位與高位位元組。小於 $100 的值使用零頁;寫成 $00FF 可強制使用絕對形式。
點選行號(或在某一行按 F9)即可設定中斷點。「執行」會在該指令之前停下;「單步」(F10)執行一條指令並標示該行。每次停下後,暫存器、旗標、記憶體與反組譯都會更新,是學習 6502 組合語言的絕佳方式。
您的程式會自動儲存在瀏覽器中。您也可以將其存成 .asm 檔、下載組譯後的 .bin、複製十六進位傾印、儲存整台機器的狀態,或複製包含程式的連結。
不會。組譯與執行都在您的瀏覽器中進行。分享連結會把程式放在網址 # 之後的部分,瀏覽器不會將這部分傳送到伺服器。
免費、在瀏覽器中執行,並附除錯器。