Система команд x86 |
|
Программирование - Архитектура и система команд микропроцессоров x86 |
XCHG
Влияние команды на флаги и форматы команды:
|
|
|
|
|
|
|
|
|
90+rw |
XCHG AX,r16 |
Обменять r16 и AX |
8086 |
xchg ax,bx |
90+rw |
XCHG r16,AX |
Обменять AX и r16 |
8086 |
xchg bx,ax |
90+rd |
XCHG EAX,r32 |
Обменять r32 и EAX |
Intel386 |
xchg eax,ebx |
90+rd |
XCHG r32,EAX |
Обменять EAX и r32 |
Intel386 |
xchg edi,eax |
86 /r |
XCHG r/m8,r8 |
Обменять r8 и r/m8 |
8086 |
xchg dh,dl |
86 /r |
XCHG r8,r/m8 |
Обменять r/m8 и r8 |
8086 |
xchg cl,[bx] |
87 /r |
XCHG r/m16,r16 |
Обменять r16 и r/m16 |
8086 |
xchg [di],dx |
87 /r |
XCHG r16,r/m16 |
Обменять r/m16 и r16 |
8086 |
xchg ax,[bp] |
87 /r |
XCHG r/m32,r32 |
Обменять r32 и r/m32 |
Intel386 |
xchg ecx,edx |
87 /r |
XCHG r32,r/m32 |
Обменять r/m32 и r32 |
Intel386 |
xchg edi,[esi+5] |
Описание:
Команда XCHG осуществляет обмен значений двух операндов. Операнды могут быть двумя регистрами общего назначения или регистром общего назначения и ячейкой памяти. Если используется операнд в памяти, то на время выполнения команды автоматически выставляется сигнал блокировки шины LOCK#, причем это делается независимо от наличия префикса блокировки и текущего значениия IOPL.
Операция:
temp = DEST;
DEST = SRC;
SRC = temp;
Особые ситуации защищенного режима:
#GP(0), если операнд находится в сегменте, запрещенном для записи, если используется некорректный эффективный адрес операнда в памяти в сегментах CS, DS, ES, FS, GS или нулевой селектор.
#SS(0) при использовании некорректного эффективного адреса в сегменте SS.
#PF(Код ошибки) при страничной ошибке.
#AC(0) при невыровненной ссылке в память при текущем уровне привилегий равном 3.
Особые ситуации режима реальной адресации:
#GP, если любая часть операнда находится вне пространства эффективных адресов в сегментах CS, DS, ES, FS или GS.
#SS, если любая часть операнда находится вне пространства эффективных адресов в сегменте SS.
Особые ситуации режима V86:
Такие же, как и в режиме реальной адресации.
#PF(Код ошибки) при страничной ошибке.
#AC(0) при невыровненной ссылке в память.
Все права защищены © Алексей Ровдо, 1994-2023. Перепечатка возможна только по согласованию с владельцем авторских прав. admin@club155.ru