选项:
我有这个问题的答案,但我正在努力弄清楚它究竟是在问什么。这是什么意思,什么是一个很好的方式来了解这个主题?感谢。
答案 0 :(得分:2)
我主要使用x86指令集,但似乎8080 one足够接近,所以跳转指令是相同的。
在x86(或8080)中,如果你的C代码看起来像这样
if (a != b)
{
code1
}
code2
编译器通常会生成这样的汇编代码:
cmp a, b
jz label2
code1
label2:
code2
在伪代码中
a
和b
code1
)code1
code2
优化编译器可以更改您的代码布局(有时会从根本上改变,因此您既不会看到cmp
也不会看到jz
),但您无法预测,所以您可以做的最好就是假设没有优化和重新安排。