SAP-1 / 8-bit
8-bit面包板电脑
Ben Eater 那台。点模块上的「内部」剖开,再点一次或点「收起」关掉。
LDA E / ADD F / OUT / HLT。改 E、F 两个操作数再跑。
STOP · T1
当前指令
取指 T1
LDA E
0001 11100x1ERAM @0
数据通路 · T1
PC → 总线 → MAR
PC
0x0
送出
MAR
0x0
锁存
RAM
1E
—
IR
00
—
A
0
—
ALU
0
—
B
0
—
OUT
0
—
00
BUS
CO 驱动 · 0x00
PC 0x0
T1T2T3T4T5T6
A 0x00 · 0
A + B = 0组合器一直在算,结果进 A 才算数
CY Z
B 0x00 · 0
MAR 0x0
NOP · 0x00
OUT 0
内存编程
选中格子,拨 DIP,立刻写入。红格是 MAR 正在指的地址,绿格是 PC。
操作数 @E3
操作数 @F5
指令表 · 高 4 位操作码
- 0001 LDA 地址
- 0010 ADD 地址
- 0011 SUB 地址
- 0100 STA 地址
- 0101 LDI 0–15
- 0110 JMP 地址
- 0111 JC 有进位跳
- 1000 JZ 为零跳
- 1110 OUT
- 1111 HLT
加法程序:地址 0–3 是 LDA E、ADD F、OUT、HLT。改 E=14、F=15 里的数,复位再运行,七段就会显示和。