打孔纸带时代:8 位玩具 CPU + 纸带孔眼可视化

指令固定 2 字节(opcode + operand),内存 256 字节,A 为 8-bit 累加器。右侧可单步/运行,观察 PC、A 与关键内存(i、sum、out)。可一键注入“跳转地址打错一字节”的经典事故。

模型与指令集

寄存器:A(8-bit)、PC 内存:256B(0x00–0xFF) 指令宽度:2B 输出:结果写入 0x80
指令集(足够原始:加载/存储/加减/跳转/停机)
Opcode助记符语义
示例程序:求和 1..10,写入 mem[0x80]
提示:每步执行 1 条指令(PC 增加 2),除非发生跳转。把 JNZ 的跳转地址打错,PC 可能落在“操作数字节”上,从而把 operand 当 opcode 执行,程序立刻跑飞。

模拟器

速度:8 steps/s
内存(展示 0x60–0x8F 区间,重点高亮 i=0x70、sum=0x71、out=0x80)

纸带孔眼(每字节 8 孔)

显示范围:程序字节流(从 0x00 开始) 孔位顺序:b7 → b0(高位到低位) 当前 PC 指向的 opcode 字节会高亮