【发布时间】:2011-02-19 23:40:07
【问题描述】:
我有 2 个简单但可能很棘手的问题。假设我有汇编指令: MOV EAX,[ebx+6*7] - 我很好奇的是,这条指令是否真的按原样转换为操作码,所以括号中代码的计算被编码为操作码,或者这只是编译器的伪指令,而不是CPU,以便编译器之前使用 add mul 计算括号中的值等,将结果存储在某个 reg 中,然后使用 MOV EAX,reg 计算值?为了清楚起见,我知道输出将是相同的。我对执行感兴趣。
其次是关于 LEA 指令。我知道它的作用,但我更感兴趣的是它的真实指令,所以编译不会进一步改变它,只是将它变成操作码,或者只是编译器的伪代码,再次首先计算地址然后存储它.
【问题讨论】: