选项:
- jz
- 关注
- jc
- jnc
我有这个问题的答案,但我很难准确地理解它在问什么。这是什么意思,什么是复习这个话题的好方法?谢谢。
我主要使用x86指令集,但似乎8080的指令集足够接近,所以跳转指令是相同的。
在 x86(或 8080)中,如果您的 C 代码如下所示
if (a != b)
{
code1
}
code2
编译器通常会产生这样的汇编代码:
cmp a, b
jz label2
code1
label2:
code2
在伪代码中
a
和b
code1
)code1
code2
优化编译器可以改变你的代码布局(有时会彻底改变,所以你不会看到cmp
nor jz
),但你无法预测,所以你能做的最好的就是假设没有优化和重新排列。