В таблице приведены воздействия команд на флаги в регистре флагов EFLAGS, при этом используются следующие обозначения:
| T | : | Флаг проверяется. |
| M | : | Флаг изменяет своё значение |
| 0 | : | Флаг сбрасывается. |
| 1 | : | Флаг устанавливается. |
| - | : | Значение флага не определено. |
| R | : | Значение флага восстанавливается в предыдущее. |
| Пустое место : Флаг не меняется. | ||
Взаимодействие команд с флагами EFLAGS
| Команда | OF | SF | ZF | AF | PF | CF | TF | IF | DF | NT | RF |
| AAA | - | - | - | TM | - | M | |||||
| AAD | - | M | M | - | M | - | |||||
| AAM | - | M | M | - | M | - | |||||
| AAS | - | - | - | TM | - | M | |||||
| ADC | M | M | M | M | M | TM | |||||
| ADD | M | M | M | M | M | M | |||||
| AND | 0 | M | M | - | M | 0 | |||||
| ARPL | M | ||||||||||
| BOUND | |||||||||||
| BSF | - | - | M | - | - | - | |||||
| BSR | - | - | M | - | - | - | |||||
| BSWAP | |||||||||||
| BT | - | - | - | - | - | M | |||||
| BTS | - | - | - | - | - | M | |||||
| BTR | - | - | - | - | - | M | |||||
| BTC | - | - | - | - | - | M | |||||
| CALL | |||||||||||
| CBW | |||||||||||
| CLC | 0 | ||||||||||
| CLD | 0 | ||||||||||
| CLI | 0 | ||||||||||
| CLTS | |||||||||||
| CMC | M | ||||||||||
| CMOVcc | T | T | T | T | T | ||||||
| CMP | M | M | M | M | M | M | |||||
| CMPS | M | M | M | M | M | M | T | ||||
| CMPXCHG | M | M | M | M | M | M | |||||
| CMPXCHG8B | M | ||||||||||
| COMSID | 0 | 0 | M | 0 | M | M | |||||
| COMISS | 0 | 0 | M | 0 | M | M | |||||
| CPUID | |||||||||||
| CWD | |||||||||||
| DAA | - | M | M | TM | M | TM | |||||
| DAS | - | M | M | TM | M | TM | |||||
| DEC | M | M | M | M | M | ||||||
| DIV | - | - | - | - | - | - | |||||
| ENTER | |||||||||||
| ESC | |||||||||||
| FCMOVcc | T | T | T | ||||||||
| FCOMI | M | M | M | ||||||||
| FCOMIP | M | M | M | ||||||||
| FUCOMI | M | M | M | ||||||||
| FUCOMIP | M | M | M | ||||||||
| HLT | |||||||||||
| IDIV | - | - | - | - | - | - | |||||
| IMUL | M | - | - | - | - | M | |||||
| IN | |||||||||||
| INC | M | M | M | M | M | ||||||
| INS | T | ||||||||||
| INT | 0 | 0 | |||||||||
| INTO | T | 0 | 0 | ||||||||
| INVD | |||||||||||
| INVLPG | |||||||||||
| UCOMSID | 0 | 0 | M | 0 | M | M | |||||
| UCOMISS | 0 | 0 | M | 0 | M | M | |||||
| IRET | R | R | R | R | R | R | R | R | R | T | |
| Jcc | T | T | T | T | T | ||||||
| JCXZ | |||||||||||
| JMP | |||||||||||
| LAHF | |||||||||||
| LAR | M | ||||||||||
| LDS | |||||||||||
| LES | |||||||||||
| LSS | |||||||||||
| LFS | |||||||||||
| LGS | |||||||||||
| LEA | |||||||||||
| LEAVE | |||||||||||
| LGDT | |||||||||||
| LIDT | |||||||||||
| LLDT | |||||||||||
| LMSW | |||||||||||
| LOCK | |||||||||||
| LODS | T | ||||||||||
| LOOP | |||||||||||
| LOOPE | T | ||||||||||
| LOOPNE | T | ||||||||||
| LSL | M | ||||||||||
| LTR | |||||||||||
| MOV | |||||||||||
| MOV control | - | - | - | - | - | - | |||||
| MOV debug | - | - | - | - | - | - | |||||
| MOV test | - | - | - | - | - | - | |||||
| MOVS | T | ||||||||||
| MOVSX | |||||||||||
| MOVZX | |||||||||||
| MUL | M | - | - | - | - | M | |||||
| NEG | M | M | M | M | M | M | |||||
| NOP | |||||||||||
| NOT | |||||||||||
| OR | 0 | M | M | - | M | 0 | |||||
| OUT | |||||||||||
| OUTS | T | ||||||||||
| POP | |||||||||||
| POPA | |||||||||||
| POPF | R | R | R | R | R | R | R | R | R | R | |
| PUSH | |||||||||||
| PUSHA | |||||||||||
| PUSHF | |||||||||||
| RCL на 1 бит | M | TM | |||||||||
| RCR на 1 бит | M | TM | |||||||||
| RCL на n бит | - | TM | |||||||||
| RCR на n бит | - | TM | |||||||||
| RDMSR | |||||||||||
| RDPMC | |||||||||||
| RDTSC | |||||||||||
| REP | |||||||||||
| REPE | |||||||||||
| REPNE | |||||||||||
| RET | |||||||||||
| ROL на 1 бит | M | M | |||||||||
| ROR на 1 бит | M | M | |||||||||
| ROL на n бит | - | M | |||||||||
| ROR на n бит | - | M | |||||||||
| RSM | M | M | M | M | M | M | M | M | M | M | M |
| SAHF | R | R | R | R | R | ||||||
| SAL на 1 бит | M | M | M | - | M | M | |||||
| SAR на 1 бит | M | M | M | - | M | M | |||||
| SHL на 1 бит | M | M | M | - | M | M | |||||
| SHR на 1 бит | M | M | M | - | M | M | |||||
| SAL на n бит | - | M | M | - | M | M | |||||
| SAR на n бит | - | M | M | - | M | M | |||||
| SHL на n бит | - | M | M | - | M | M | |||||
| SHR на n бит | - | M | M | - | M | M | |||||
| SBB | M | M | M | M | M | TM | |||||
| SCAS | M | M | M | M | M | M | T | ||||
| SETcc | T | T | T | T | T | ||||||
| SGDT | |||||||||||
| SIDT | |||||||||||
| SLDT | |||||||||||
| SMSW | |||||||||||
| SHLD | - | M | M | - | M | M | |||||
| SHRD | - | M | M | - | M | M | |||||
| STC | 1 | ||||||||||
| STD | 1 | ||||||||||
| STI | 1 | ||||||||||
| STOS | T | ||||||||||
| STR | |||||||||||
| SUB | M | M | M | M | M | M | |||||
| TEST | 0 | M | M | - | M | 0 | |||||
| UD2 | |||||||||||
| VERR | M | ||||||||||
| VERRW | M | ||||||||||
| WAIT | |||||||||||
| WBINVD | |||||||||||
| WRMSR | |||||||||||
| XADD | M | M | M | M | M | M | |||||
| XCHG | |||||||||||
| XLAT | |||||||||||
| XOR | 0 | M | M | - | M | 0 |
См. также:
| Приложения | Регистр EFLAGS | Вопросы? Замечания? Пишите: sasm@narod.ru |
| Copyright © Александр Семенко. |
|
|