32位組合語言中lea指令!

  • 作者:由 匿名使用者 發表于 文化
  • 2022-08-02

32位組合語言中lea指令!網友f6753a1fd 2011-09-05

由編譯器計算出data變數的地址,然後替換掉指令中出現data變數標識。

lea指令的源運算元就是一個變數標號,所以就是將變數的地址取出來,放到目的運算元中

=====================================================================

比如:

。data

hInstance dd ?

。code

lea eax,hInstance

======================================================================

編譯後:

0040102D |。 8D05 00304000 lea eax, dword ptr [403000]

意思就是將[]中的值放入eax中,[]中出現的就是hInstance的記憶體地址

32位組合語言中lea指令!我是隻菜Bird 推薦於2017-09-04

LEA指令的功能是取偏移地址,例如LEA AX,[1000H],作用是將源運算元[1000H]的偏移地址1000H送至AX;

MOV指令的功能是傳送資料,例如MOV AX,[1000H],作用是將1000H作為偏移地址,定址找到記憶體單元,將該記憶體單元中的資料送至AX。

32位組合語言中lea指令!匿名使用者 2012-03-09

我覺得說的不對。offset是由編譯器計算的。而lea是程式執行時計算的。

Top