转载自 渣渣爱学习
最近在学习汇编语言,过程中遇到很多问题,对此在以后的随笔会逐渐更新,这次谈谈mov,lea指令的区别
1,对于mov指令来说:
有没有[]对于变量是无所谓的,其结果都是取值
对于寄存器而言,有[]表示取地址,没[]表示取值
如: num dw 2 mov ax,num mov bx,ax;bx=22,对于lea指令来说:
有没有[]对于变量是无所谓的,其结果都是取变量的地址,相当于指针(与mov相反)
如:num dw 2 lea ebx,num; lea eax,[num];ebx=eax对于寄存器而言,有[]表示取值,没[]表示取地址
如:mov eax,2 lea ebx,[eax];ebx=2 lea ebx,eax;eax=地址,随程序的不同而不同