mov 和 lea 的區別有哪些?

2021-10-01 05:57:47 字數 524 閱讀 7538

from:

彙編中 mov 和 lea 的區別是什麼 ?:

lea 是「load effective address」的縮寫,

簡單的說,

lea指令可以用來將乙個記憶體位址直接賦給目的運算元,

例如:lea eax, [ebx+8] 就是將 ebx+8 這個值直接賦給 eax,而不是把 ebx+8 處的記憶體位址裡的資料賦給 eax。

用你能聽懂的話來說:

lea eax, [eax+2*eax]  的效果是 eax = eax + eax * 2

mov edx, [ebp+16]     的效果是  edx=*(dword*)(ebp+16)

lea 傳的是位址。mov 傳的是值

舉個例子:

mov eax, [00400000] 。傳的是位址 400000 這個位址裡的值,假設 400000 這個位址中的值是 100,那麼 eax 暫存器中的值就為 100

lea eax, [00400000] 。那麼 eax 暫存器中的值就是 400000

彙編 lea指令和mov指令

load effective address,載入有效位址,可以將有效位址傳送到指定的的暫存器。指令形式是從儲存器讀資料到暫存器,效果是將儲存器的有效位址寫入到目的運算元,簡單說,就是c語言中的 在cpu內或cpu和儲存器之間傳送字或位元組,它傳送的資訊可以從暫存器到暫存器,立即數到暫存器,立即數到...

ATT格式彙編 mov與lea的區別

資料傳送指令,目的運算元不能是立即數,資料不能從記憶體直接傳送到記憶體 若需要,轉化成2條指令,從內訪問資料到暫存器,從暫存器到記憶體 lea load effective address 其實是mov的變形,它的源運算元看上去是乙個記憶體引用,但並非從指定位置讀入資料,而是將有效位址寫入到目的運算...

TCP和UDP的區別有哪些?

傳輸層協議tcp與udp。udp user datagram protocol 提供無連線的通訊,不能保證資料報被傳送到目標位址。tcp transmission control protocol 是一種面向連線 連線導向 的 可靠地 基於位元組流的通訊協議,它為傳輸大量資料或為需要接受資料許可的應...