組合語言XCHG指令 交換兩個運算元內容

2021-09-24 16:40:01 字數 848 閱讀 4181

xchg(交換資料)指令交換兩個運算元內容。該指令有三種形式:

xchg reg, reg

xchg reg, mem

xchg mem, reg

除了 xchg 指令不使用立即數作運算元之外,xchg 指令運算元的要求與《mov指令》一節中介紹的 mov 指令運算元要求是一樣的。

在陣列排序應用中,xchg 指令提供了一種簡單的方法來交換兩個陣列元素。下面是幾個使用 xchg 指令的例子。

xchg ax,bx      ;交換 16 位暫存器內容  xchg ah,al      ;交換 8 位暫存器內容  xchg var1,bx    ;交換 16 位記憶體運算元與 bx 暫存器內容  xchg eax,ebx    ;交換 32 位暫存器內容
如果要交換兩個記憶體運算元,則用暫存器作為臨時容器,把 mov 指令與 xchg 指令一起使用:

mov ax,val1  xchg ax,val2  mov val1,ax
4.1運算元型別

4.2 mov指令

4.3movzx和movsx指令

4.4 lahf和sahf指令

4.5 xchg指令

4.6直接偏移量運算元

4.7 組合語言資料傳送示例

4.8 加法和減法詳解

4.9offset運算子

4.10 align偽指令

4.11 ptr運算子

4.12 type運算子

4.13lengthof運算子

4.14 label偽指令

4.15 間接定址

4.16 jmp和loop指令

4.1764位mov指令

4.18 64位加法和減法

組合語言 資料處理的兩個基本問題

bx si di bp 在8086中只有這四個暫存器用於 bx si di bp 定址 這四個暫存器可以單獨出現或只能以四種組合出現 bx和is bx和di,bp和si,bp和di 機器指令處理的資料在什麼地方 處理大致分為三類 讀取,寫入,運算 指令執行的前一刻,計算機要處理的資料可以在三個地方 ...

C語言 交換兩個變數的

c語言中交換兩個變數值 a,b 的幾種方法 1 利用臨時變數 int temp temp a a b b temp 2 不用臨時變數 這種方法有可能溢位 a a b b a b a a b 3 用按位運算子 這種方法不適合浮點數 a a b b a b a a b 4 記憶體拷貝方法 個人覺得這種方...

c語言 兩個值的交換

指標的呼叫 交換兩個數值 一 子函式 被呼叫函式 的改變要想修改父函式 呼叫函式 的值需要 1.傳指標 2.解引用 二 的實現過程 錯誤一 void swap int a,int b int tmp tmp a a b b tmp int main int a 10 int b 20 swap a,...