80386的資料傳送指令是為了實現cpu和記憶體、輸入/輸出埠之間的資料傳送。
(1)mov:稱為數值傳送指令,格式是「mov dst,src」。
(2)mov指令將源運算元src傳送到目的運算元dst中。
(3)傳送的資料格式可以是8位元組、16位元組和32位元組。
示例**:
mov eax,56 //將56h立即數傳送到eax暫存器
mov esi,dwrod ptr [eax*2+1] //將記憶體位址為eax*2+1處的4位元組資料傳送到esi暫存器。
mov ah,byte ptr [esi*2+eax] //將記憶體位址為esi*2+eax處的8位資料傳送到ah暫存器。
mov dword ptr [esp+36],ebx //將ebx暫存器的值以4位元組傳送到堆疊位址為esp+36所指向的地方。
(4)xchg:稱為交換指令,xchg實現暫存器間和記憶體間的資料交換。
格式是「xchg dst,src」。xchg指令交換src和dst之間的資料,
交換的資料可以是8位元組、16位元組和32位元組,其中src和dst必須格式相同。
示例**:
xchg eax,edx //將edx暫存器的值和eax暫存器的值交換
xchg [esp-55],edi //將edi暫存器的值和堆疊位址為[esp-55]處的值交換。
xchg bh,bl //將bl暫存器和bh暫存器的值交換。
資料傳送指令
資料傳送指令共有29條,資料傳送指令一般的操作是把源運算元傳送到目的運算元,指令執行完成後,源運算元不變,目的運算元等於源運算元。如果要求在進行資料傳送時,目的運算元不丟失,則不能用直接傳送指令,而採用交換型的資料傳送指令,資料傳送指令不影響標誌c,ac和ov,但可能會對奇偶標誌p有影響。以累加器a...
資料傳送指令
1 mov mov ds,2000h 語法錯誤,不能用立即數給段暫存器賦值。應該為 mov ax,2000 mov ds,ax mov word ptr di 2000h ptr 是屬性運算子,功能為修改運算元的型別。word ptr 的作用是將運算元的型別 設定為字型別。mov di 04ah 語...
movs 資料傳送指令
1 指令編碼格式 mov指令是最簡單的arm指令,執行的結果就是把乙個數n送到目標暫存器rd,其中n可以是暫存器,也可以是立即數。mov指令多用於設定初始值或者在暫存器間傳送資料。指令的編碼格式如圖5.1所示。圖5.1 mov指令編碼格式 mov指令將移位碼 shifter operand 表示的資...