1. 你的第一个表情符号程序
将数字送入 CPU,输出它,然后停止。
1. 预测与跟踪
运行试做程序前,预测输出,并跟踪最先执行的三条指令。按需要记录相关寄存器、标志或内存,再逐步执行进行比较。
📥 42 🖨️ ⏹️
加入输入队列: 无
初始化内存: 所有字节初始为零
试做预测答案
输出: 42
| 指令 | 执行前 PC | 执行后 PC | 执行前 R0 | 执行后 R0 | 相关状态 | 输出 |
|---|---|---|---|---|---|---|
| LOAD | 0 | 1 | 0 | 42 | {"registers":[42,0,0,0,0,0,0,0],"flags":{"zero":false,"negative":false,"overflow":false},"sp":255,"stack":[],"callStack":[],"loopStack":[],"memoryReads":[],"memoryWrites":[]} | 无 |
| 1 | 2 | 42 | 42 | {"registers":[42,0,0,0,0,0,0,0],"flags":{"zero":false,"negative":false,"overflow":false},"sp":255,"stack":[],"callStack":[],"loopStack":[],"memoryReads":[],"memoryWrites":[]} | 42 | |
| HALT | 2 | 2 | 42 | 42 | {"registers":[42,0,0,0,0,0,0,0],"flags":{"zero":false,"negative":false,"overflow":false},"sp":255,"stack":[],"callStack":[],"loopStack":[],"memoryReads":[],"memoryWrites":[]} | 42 |
2. 构建与检查
编写一个程序,恰好输出一次 42,然后停止。使用 LOAD、PRINT 和 HALT。
必需的指令类型: LOAD, PRINT, HALT
挑战示例答案
LOAD 42 PRINT HALT
实际检查器测试数据
案例 1
- 输入
无- 初始内存
所有字节初始为零- 预期输出
42
3. 解释机器
PRINT 前,R0 和输出是什么?HALT 将 PC 留在哪里?
推理与教学说明
R0=42;PRINT 前输出为空,之后输出 42;HALT 位于编译索引 2。