【发布时间】:2012-04-11 16:15:00
【问题描述】:
我反汇编了这段代码
int main{
vector<string> temp;
}
结果是这样的
LEA ECX, %16I64X DWORD PTR[EBP + temp]
CALL std::vector<std::basic_string<char, std::char_traits<char>, std::
我的问题是:
%16I64X 在这里做什么。
“std::vector, std::”这行是什么意思。我知道 CALL 指令调用了这个,但是被调用的指令没有意义。这是 I/O 重定向吗?
我只是对反汇编的逻辑感到困惑,因为它会加载有效地址然后调用它。我期待像首先在特定地址中移动某些东西然后加载其有效地址然后调用它。
*我只是这里的初学者。感谢您的耐心等待。
【问题讨论】:
-
可能
%16I64X看起来它告诉汇编器使用lea指令的short from(8 位位移)。
标签: assembly call cpu-registers disassembly