This preview shows page 1. Sign up to view the full content.
Unformatted text preview: ontd.)
Instruction OUT OUTS POP/POPA POPF PUSH/PUSHA/PUSHF RCL/RCR 1 RCL/RCR count RDMSR RDPMC RDTSC REP/REPE/REPNE RET ROL/ROR 1 ROL/ROR count RSM SAHF SAL/SAR/SHL/SHR 1 SAL/SAR/SHL/SHR count SBB SCAS SETcc SGDT/SIDT/SLDT/SMSW SHLD/SHRD STC STD STI STOS STR SUB TEST M 0 M M M M M -- M M M 0 1 T -- M M -- M M 1 1 M -- M M T M -- M M R M M M M T M R M M M M T M R -- -- M M M R M M M M T M M M R M M TM M T T M M M M M M -- TM TM R R R R R R R R R R T OF SF ZF AF PF CF TF IF DF NT RF A-4 Vol. 1 EFLAGS CROSS-REFERENCE Table A-2. EFLAGS Cross-Reference (Contd.)
Instruction UD2 VERR/VERRW WAIT WBINVD WRMSR XADD XCHG XLAT XOR 0 M M -- M 0 M M M M M M M OF SF ZF AF PF CF TF IF DF NT RF Vol. 1 A-5 EFLAGS CROSS-REFERENCE A-6 Vol. 1 APPENDIX B EFLAGS CONDITION CODES
B.1 CONDITION CODES Table B-1 lists condition codes that can be queried using CMOVcc, FCMOVcc, Jcc, and SETcc. Condition codes refer to the setting of one or more status flags (CF, OF, SF, ZF, and PF) in the EFLAGS register. In the table below: The "Mnemonic" column provides the suffix (cc) added to the instruction to specify a test condition. "Condition Tested For" describes the targeted condition. "Instruction Subcode" provides the opcode suffix added to the main opcode to specify the test condition. "Status Flags Setting" describes the flag setting. Table B-1. EFLAGS Condition Codes
Mnemonic (cc) O NO B NAE NB AE E Z NE NZ BE NA NBE A S NS P PE Condition Tested For Overflow No overflow Below Neither above nor equal Not below Above or equal Equal Zero Not equal Not zero Below or equal Not above Neither below nor equal Above Sign No sign Parity Parity even Instruction Subcode 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 Status Flags Setting OF = 1 OF = 0 CF = 1 CF = 0 ZF = 1 ZF = 0 (CF OR ZF) = 1 (CF OR ZF) = 0 SF = 1 SF = 0 PF = 1 Vol. 1 B-1 EFLAGS CONDITION CODES Table B-1. EFLAGS Condition Codes (Contd.)
Mnemonic (cc) NP PO L NGE NL GE LE NG NLE G Condition Tested For No parity Parity odd Less Neither greater nor equal Not less Greater or equal Less or equal Not greater Neither less nor equal Greater Instruction Subcode 1011 1100 1101 1110 1111 Status Flags Setting PF = 0 (SF xOR OF) = 1 (SF xOR OF) = 0 ((SF XOR OF) OR ZF) = 1 ((SF XOR OF) OR ZF) = 0 Many of the test conditions are described in two different ways. For example, LE (less or equal) and NG (not greater) describe the same test condition. Alternate mnemonics are provided to make code more intelligible. The terms "above" and "below" are associated with the CF flag and refer to the relation between two unsigned integer values. The terms "greater" and "less" are associated with the SF and OF flags and refer to the relation between two signed integer values. B-2 Vol. 1 APPENDIX C FLOATING-POINT EXCEPTIONS SUMMARY
C.1 OVERVIEW This appendix shows which of the floating-point exceptions can be generated for: x87 FPU instructions -- see Table C-2 SSE i...
View Full Document
- Winter '11