嘉Jaykou工具台 · 6502 模拟器 在您的浏览器中运行
每日 免费 3 次

6502 模拟器 & 汇编器编写汇编代码,运行并观察每个寄存器。

输入 6502 汇编并按运行:它会在 32×32 彩色屏幕上组装并运行,并支持键盘输入。
一步一步执行指令,设置断点,并观察寄存器、标志和内存的变化。

100% 本地处理游客每日 3 次 · 无水印注册送 20 积分
游客每日 3 次 无需安装 支持离线使用
源代码(支持 151 条操作的寻址组合)
寄存器
$00A 累加器
$00X 索引
$00Y 索引
$0600PC
$FDSP
nv·bdIzc标志位 NV-BDIZC
0已执行指令
零页内存($00-$7F)
$00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
$10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
$20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
$30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
$40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
$50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
$60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
$70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
6502 模拟器
真实的两遍汇编(标签、各种寻址模式)+ 逐指令解释器。这里只实现了 6502 常用的一部分指令,未实现中断、PPU/APU 等外设。
6 个错误
第 2 行:未知助记符 *=$0600
第 2 行:未知指令 *=$0600
第 7 行:无法解析操作数
第 8 行:无法解析操作数
第 14 行:无法解析操作数
第 16 行:无法解析操作数
已支持指令(部分)
LDA/LDX/LDY/STA/STX/STY · ADC/SBC/AND/ORA/EOR/CMP/CPX/CPY/BIT · INC/DEC/INX/INY/DEX/DEY/ASL/LSR/ROL/ROR · JMP/JSR/RTS/RTI/BRK/NOP · 分支 BEQ/BNE/BCC/BCS/BPL/BMI/BVC/BVS · 寄存器传送与栈操作 · 标志位 CLC/SEC/CLI/SEI/CLV/CLD/SED。 未实现:中断/复位向量、十进制模式精确行为、以及全部外设。
代码在你的设备上汇编并运行,不上传任何内容。
使用说明

6502 模拟器怎么用?4 步就能上手

6502 模拟器是一个在线编程环境:写代码、运行、看输出,不需要配置本地环境。 在浏览器中编写 6502 汇编,汇编并在 32×32 彩色屏幕上运行。

1
编写代码

在编辑器中输入或粘贴代码,支持语法高亮与自动缩进。

2
设置运行参数

选择语言版本、命令行参数或输入数据,按需调整。

3
运行

点击运行按钮,控制台会显示输出结果与错误信息。

4
保存或分享

确认结果后复制代码,或分享链接把示例发给别人。

· 代码在浏览器沙箱内运行,不会影响你的电脑。· 刷新页面会清空代码,重要代码记得先复制保存。
LEARN 6502

面向初学者的 6502 小贴士

6502 有三个 8 位寄存器、一个 256 字节的堆栈和少量寻址模式。这些概念可以让您走得很远。

The screen is memory

Each byte from $0200 to $05FF is one pixel, 32 per row. STA $0200 colours the top-left pixel; add $20 to move down one row.

Zero page is fast

Addresses $00–$FF take one byte to name and one cycle less to read. Keep counters and pointers there.

Pointers use (zp),Y

Store a 16-bit address in two zero-page bytes, low byte first, then LDA ($10),Y reads from that address plus Y. The Snake and pattern examples use this to walk the screen.

Carry before maths

ADC adds the carry too, so start an addition with CLC and a subtraction with SEC. Branches like BCC and BCS test the carry afterwards.

Decimal mode

After SED, ADC and SBC count in decimal: $58 + $46 gives $04 with the carry set (104). Handy for scores; turn it off again with CLD.

Read the flags

Every load and arithmetic instruction updates N and Z. Step through a loop and watch them change before the branch that tests them.

嘉Jaykou工具台

这些也在你的浏览器里完成

无需注册即可试用,游客每日 3 次免费。所有处理都在你的设备上完成,文件不会被上传。

  • 490 个免费工具
  • 图片 · 视频 · PDF · 文本
  • 每日免费额度

所有工具每天都有免费额度。 游客每日 3 次免费,注册再送 20 积分。文件不上传,处理全在你的设备上完成。

6502 模拟器常见问题

这个 6502 模拟器是免费的吗?

是的。它免费,游客每日 3 次,无广告,无限制。你的程序会保存在浏览器中,下次仍然可以使用。

它模拟哪种 6502?

原始的 NMOS 6502,包含所有 151 条文档指令,二进制编码小数模式符合 NMOS 标志行为,JMP ($xxFF) 页面漏洞,以及文档中的周期计数,包括跨页和分支惩罚。

它的准确性如何?

它通过了广泛使用的 6502 功能测试程序和 150 万个单指令测试用例,这些测试用例检查寄存器、标志、内存和周期计数。

内存映射是什么?

64 KB 的 RAM。屏幕地址为 $0200–$05FF(每像素一个字节,16 种颜色),读取 $FE 会得到一个新的随机字节,$FF 保存你按下的最后一个键,程序从 $0600 处加载。为流行的初学者 6502 教程编写、使用此布局的程序可以不做修改直接运行。

我如何向我的程序发送按键?

点击或轻触屏幕,然后输入:按键的 ASCII 码会发送到 $FF。方向键和屏幕上的箭头发送 w、a、s 和 d,这些在 Snake 和 Paint 示例中使用。

支持什么汇编语法?

标签(loop: 或行首的单词)、常量(define name value 或 name = value)、*= 或 .org、.byte/dcb、.word、.text、.asciiz 和 .res,数字可以用十六进制 ($FF)、二进制 (%1010)、十进制和字符 ('A') 表示,支持算术运算,以及 < 和 > 获取低字节和高字节。小于 $100 的数值使用零页;写入 $00FF 可强制使用绝对形式。

断点和单步执行如何工作?

点击行号(或在某一行按 F9)以设置断点。运行会在该指令前停止;步进(F10)执行一条指令并高亮显示该行。在每次停止后,寄存器、标志、内存和反汇编都会更新,这使它成为学习 6502 汇编的好方法。

我可以保存或分享我的程序吗?

您的程序会自动保存在浏览器中。您还可以将其保存为 .asm 文件,下载组装后的 .bin 文件,复制十六进制转储,保存整个机器状态,或复制包含程序的链接。

Is my code uploaded anywhere?

No. Assembling and running happen in your browser. A share link keeps the program in the part of the address after #, which browsers do not send to the server.

免费工具

编写汇编代码,运行并观察每个寄存器

Free, in your browser, with a debugger.

打开模拟器