格式:LEA 寄存器,间接操作数
(注意第二操作数只能是间接操作数)
.data
array byte "xuyan"
.code
mov eax,offset array
lea ebx,[eax+1]
mov ecx,0
mov AL,[ebx];最后ECX中的值是十进制117,因为‘u’的ascii码是117D
内联汇编中,下面打印结果是相同的,所以可以认为LEA等同于取地址符号
int main() {
int a = 666;
int* b = &a;
int c = 0;
_asm {
lea eax,a;
mov c,eax;
}
// 下面两行代码打印出来的结果是一样的,因为LEA就是取地址
std::cout << b << std::endl;
std::cout << (int*)c << std::endl;
}