1. 程式人生 > >彙編 lea指令和mov指令

彙編 lea指令和mov指令

lea指令

load effective address, 載入有效地址,可以將有效地址傳送到指定的的暫存器。指令形式是從儲存器讀資料到暫存器, 效果是將儲存器的有效地址寫入到目的運算元, 簡單說, 就是C語言中的”&”.

mov指令

在CPU內或CPU和儲存器之間傳送字或位元組,它傳送的資訊可以從暫存器到暫存器,立即數到暫存器,立即數到儲存單元,從儲存單元到暫存器,從暫存器到儲存單元,從暫存器或儲存單元到除CS外的段暫存器(注意立即數不能直接送段暫存器),從段暫存器到暫存器或儲存單元。
但是注意
(1) MOV指令中的源運算元絕對不能是立即數和程式碼段CS暫存器;
(2) MOV指令中絕對不允許在兩個儲存單元之間直接傳送資料;
(3) MOV指令中絕對不允許在兩個段暫存器之間直接傳送資料;
(4) MOV指令不會影響標誌位

使用[]區別

第二運算元加不加中括號[]的區別就是:

lea對變數沒有影響是取地址,對暫存器來說加[]時取值,第二運算元不加[]非法

mov對變數來說沒有影響是取值,對暫存器來說是加[]時取地址,第二運算元不加[]是取值