11 資料傳送指令MOV XCHG效果

2021-07-06 07:27:22 字數 761 閱讀 7585

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 表示的資...