傳送指令 MOV

2021-09-02 18:30:07 字數 684 閱讀 2182

功能

把源運算元傳送給目的運算元,相當於賦值運算。

語法

mov 目的運算元(a),源運算元(b) ,即a=b

擴充套件

mov sx , 先符號擴充套件,再傳送

mov zx,先零擴充套件,再傳送

格式

mov reg/mem

reg/mem/imm

其中,reg代表暫存器,mem代表儲存器,imm代表立即數。

規定

(1)兩個儲存單元之間不能直接傳送資料,即mov指令只允許乙個運算元在儲存器中。即mov [si], [2000h]

(2)mov指令中立即數不能直接傳送給段暫存器(cs,ds,ss,ed)和ip,段暫存器之間不能直接傳送。 mov ip, 2000h(錯誤)

(3)cs和ip不能同時作為目的運算元。mov cs, ax(錯誤)

(4)mov 指令中立即數不能做目標運算元。 mov 2000h, [si] (錯誤)

(5)立即數不能作為目的運算元,如:mov 100h. ax

(6)指令指標ip,不能作為mov指令的運算元

(7)兩個運算元不能同時作為儲存單元,如mov vara, va

rb等,其中vara和varb是同種資料型別的記憶體變數。對於2,4,5,我們可以採用通用暫存器作為中轉達到目標。

mov指令詳解

mov指令可以在cpu內或cpu和儲存器之間傳送字或位元組,它傳送的資訊可以從暫存器到暫存器,立即數到暫存器,立即數到儲存單元,從儲存單元到暫存器,從暫存器到儲存單元,從暫存器或儲存單元到除cs外的段暫存器 注意立即數不能直接送段暫存器 從段暫存器到暫存器或儲存單元。但是注意 1 mov指令中的源運...

彙編Lea 指令與 Mov 指令

比如你用local在棧上定義了乙個區域性變數localvar,你知道實際的指令是什麼麼?一般都差不多像下面的樣子 push ebp mov esp,ebp sub esp,4 現在棧上就有了4各位元組的空間,這就是你的區域性變數。接下來,你執行mov localvar,4,那麼實際的指令又是什麼?是...

彙編 lea指令和mov指令

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