10. 条件逻辑:作出决定
比较数值,再根据保存的标志选择路径。
打开本课 →
1. 预测与跟踪
运行试做程序前,预测输出,并跟踪最先执行的三条指令。按需要记录相关寄存器、标志或内存,再逐步执行进行比较。
LOAD 7
CMP 7
JUMP_IF_ZERO same
LOAD 0
JUMP show
same: LOAD 1
show: PRINT
HALT
加入输入队列: 无
初始化内存: 所有字节初始为零
2. 构建与检查
读取两个整数。相等时输出 1,否则输出 0。处理相等和不相等的输入。
必需的指令类型: INPUT, CMP, JUMP_IF_ZERO
起始程序
INPUT
COPY R0 R1
INPUT
CMP R1
#
HALT
你的程序与笔记
3. 解释机器
R0 非零时,Z 能为真吗?
11. 偶数还是奇数
使用余数和分支判断输入。
打开本课 →
1. 预测与跟踪
运行试做程序前,预测输出,并跟踪最先执行的三条指令。按需要记录相关寄存器、标志或内存,再逐步执行进行比较。
LOAD -3
MOD 2
JUMP_IF_ZERO even
LOAD 0
JUMP show
even: LOAD 1
show: PRINT
HALT
加入输入队列: 无
初始化内存: 所有字节初始为零
2. 构建与检查
读取一个整数。偶数输出 1,奇数输出 0。
必需的指令类型: INPUT, MOD, JUMP_IF_ZERO
起始程序
INPUT
MOD 2
#
HALT
你的程序与笔记
3. 解释机器
−3 的 MOD 2 结果为 −1,它仍是奇数吗?
12. 依据内存作出决定
根据保存的数据判断,并记录结果。
打开本课 →
1. 预测与跟踪
运行试做程序前,预测输出,并跟踪最先执行的三条指令。按需要记录相关寄存器、标志或内存,再逐步执行进行比较。
STORE 23 40
LOAD [40] R1
LOAD 23
CMP R1
JUMP_IF_ZERO match
LOAD 0
JUMP record
match: LOAD 1
record: STORE 41
PRINT
HALT
加入输入队列: 无
初始化内存: 40: 23
2. 构建与检查
内存 40 保存给定的票券代码。读取一次猜测,匹配时在地址 41 保存并输出 1,否则保存并输出 0。
必需的指令类型: INPUT, CMP, STORE, JUMP_IF_ZERO
起始程序
LOAD [40] R1
INPUT
CMP R1
#
HALT
你的程序与笔记
3. 解释机器
内存 40 改变后,为什么程序仍应正确?