编写或选择程序
在编辑器中输入 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) 跨页 bug,以及有文档的周期计数(包括跨页和分支的额外周期)。
它通过了一个广泛使用的 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、复制十六进制转储、保存整台机器的状态,或复制包含程序的链接。
不会。汇编和运行都在你的浏览器中进行。分享链接把程序放在地址中 # 之后的部分,浏览器不会把这部分发送给服务器。
免费,在浏览器中运行,自带调试器。