X86 LEA指令詳解

2021-08-01 11:38:16 字數 663 閱讀 1314

1.sdm指令功能描述(lea)

lea

總體描述:

從第二個運算元(源運算元)計算有效位址,並將結果存入第乙個運算元(目的運算元)。源運算元是指定了一種訪存操作的記憶體位址,目的運算元為乙個通用暫存器。位址大小和運算元大小都會影響該指令的結果,運算元大小被指令中指定的暫存器大小決定,位址大小由**段描述符中的屬性指定。如果位址位數大於運算元位數,計算結果將被截斷至運算元指定的寬度並存入暫存器中;如果位址位數小於運算元位數,計算結果將被零擴充套件至運算元指定的寬度並存入暫存器中。此指令常被編譯器用來優化一些算術運算,因為此指令占用的空間要比單獨實現base + scale * index + offset要少得多。

偽**:

(u16/u32/u64)addr = effective_addr();

(u16/u32/u64)dst_reg = addr;

標誌位影響:

無示例**

詳解LEA指令

初學彙編,可能對lea指令很迷惑。關於lea指令,下面的文章寫的很好。比如你用local在棧上定義了乙個區域性變數localvar,你知道實際的指令是什麼麼?一般都差不多像下面的樣子 push ebp mov esp,ebp sub esp,4 現在棧上就有了4各位元組的空間,這就是你的區域性變數。...

X86 POPF POPFD指令詳解

sdm指令功能描述 popf popfd 總體描述 popf popfd popfq指令從rsp esp sp指向的堆疊中 棧頂 取出operandsize大小的資料載入至rflags eflags flags暫存器,並將堆疊指標暫存器rsp esp sp增加對應operandsize大小。能被該指...

X86彙編指令詳解

x86彙編基本分為七大體系 分別是 1 資料傳送指令 2 算術運算指令 3 邏輯運算指令 4 串操作指令 5 控制轉移指令 6 處理器控制指令 7 保護方式指令 先介紹資料傳送指令集 1 資料傳送指令 1.mov 格式 mov destination,source 功能 將s ource中的資料傳送...