Система команд x86 |
|
Программирование - Архитектура и система команд микропроцессоров x86 |
TEST
Влияние команды на флаги и форматы команды:
0 |
|
|
|
* |
* |
? |
* |
0 |
A8 ib |
TEST AL,imm8 |
Установить флаги SF, ZF, PF по результу операции imm8 AND AL |
8086 |
test al,0AAh |
A9 iw |
TEST AX,imm16 |
Установить флаги SF, ZF, PF по результу операции imm16 AND AX |
8086 |
test ax,0FODh |
A9 id |
TEST EAX,imm32 |
Установить флаги SF, ZF, PF по результу операции imm32 AND EAX |
Intel386 |
test eax,2456789h |
F6 /0 ib |
TEST r/m8,imm8 |
Установить флаги SF, ZF, PF по результу операции imm8 AND r/m8 |
8086 |
test ah,5 |
F7 /0 iw |
TEST r/m16,imm16 |
Установить флаги SF, ZF, PF по результу операции imm16 AND r/m16 |
8086 |
test dx,0DBBh |
F7 /0 id |
TEST r/m32,imm32 |
Установить флаги SF, ZF, PF по результу операции imm32 AND r/m32 |
Intel386 |
test edx,0CAAAAh |
84 /r |
TEST r/m8,r8 |
Установить флаги SF, ZF, PF по результу операции r/m8 AND r8 |
8086 |
test [di],ah |
85 /r |
TEST r/m16,r16 |
Установить флаги SF, ZF, PF по результу операции r/m16 AND r16 |
8086 |
test bx,si |
85 /r |
TEST r/m32,r32 |
Установить флаги SF, ZF, PF по результу операции r/m32 AND r32 |
Intel386 |
test memory,eax |
Описание:
Команда TEST вычисляет поразрядное логическое "И" своих двух операндов. Каждый бит результата равен 1, если соответствующие биты операндов равны 1, иначе каждый бит равен 0. Результат нигде не запоминается, только соответствующим образом выставляются флаги SF, ZF и PF.
Операция:
TEMP = LeftSRC AND RightSRC; (* Флаги SF, ZF, PF устанавливаются в соответствии с TEMP *)
CF = 0; OF = 0;
Особые ситуации защищенного режима:
#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