void a(DWORD b) {
__asm {
mov ecx, b
mov eax, [ecx]
call dword ptr[eax + 12]
}
}
我没有得到的是它将“b”移动到ECX寄存器,然后将其移回EAX寄存器,然后调用位于EAX寄存器中的函数。
代码效率低吗?这应该是那样的吗? 为什么我不能这样做:
__asm {
mov eax, b
call dword ptr[eax + 12]
}
我真的很困惑。我是否遗漏了关于汇编中寄存器的一般概念?