mov,lea指令的區別

轉載自 渣渣愛學習
最近在學習彙編語言,過程中遇到很多問題,對此在以後的隨筆會逐漸更新,這次談談mov,lea指令的區別

一,關於有沒有加上[]的問題

1,對於mov指令來說
有沒有[]對於變量是無所謂的,其結果都是取值

   如: num dw 2
       mov bx,num
       mov cx,[num];bx=cx=2

對於寄存器而言,有[]表示取地址,沒[]表示取值

: num dw 2
     mov ax,num
     mov bx,ax;bx=2 

2,對於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=地址,隨程序的不同而不同
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章