青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

coreBugZJ

此 blog 已棄。

x86 指令集

轉(zhuǎn)自 http://siyobik.info/index.php?module=x86

x86 Instruction Set Reference

Opcode Description
AAA ASCII Adjust After Addition
AAD ASCII Adjust AX Before Division
AAS ASCII Adjust AL After Subtraction
ADC Add with Carry
ADD Add
ADDPD Add Packed Double-Precision Floating-Point Values
ADDPS Add Packed Single-Precision Floating-Point Values
ADDSD Add Scalar Double-Precision Floating-Point Values
ADDSS Add Scalar Single-Precision Floating-Point Values
ADDSUBPD Packed Double-FP Add/Subtract
ADDSUBPS Packed Single-FP Add/Subtract
AND Logical AND
ANDPD Bitwise Logical AND of Packed Double-Precision Floating-Point Values
ANDPS Bitwise Logical AND of Packed Single-Precision Floating-Point Values
ANDNPD Bitwise Logical AND NOT of Packed Double-Precision Floating-Point Values
ANDNPS Bitwise Logical AND NOT of Packed Single-Precision Floating-Point Values
ARPL Adjust RPL Field of Segment Selector
BOUND Check Array Index Against Bounds
BSF Bit Scan Forward
BSR Bit Scan Reverse
BSWAP Byte Swap
BT Bit Test
BTC Bit Test and Complement
BTR Bit Test and Reset
BTS Bit Test and Set
CALL Call Procedure
CBW/CWDE Convert Byte to Word/Convert Word to Doubleword
CLC Clear Carry Flag
CLD Clear Direction Flag
CLFLUSH Flush Cache Line
CLI Clear Interrupt Flag
CLTS Clear Task-Switched Flag in CR0
CMC Complement Carry Flag
CMOVcc Conditional Move
CMP Compare Two Operands
CMPPD Compare Packed Double-Precision Floating-Point Values
CMPPS Compare Packed Single-Precision Floating-Point Values
CMPS/CMPSB/CMPSW/CMPSD Compare String Operands
CMPSD Compare Scalar Double-Precision Floating-Point Values
CMPSS Compare Scalar Single-Precision Floating-Point Values
CMPXCHG Compare and Exchange
CMPXCHG8B Compare and Exchange 8 Bytes
COMISD Compare Scalar Ordered Double-Precision Floating- Point Values and Set EFLAGS
COMISS Compare Scalar Ordered Single-Precision Floating- Point Values and Set EFLAGS
CPUID CPU Identification
CVTDQ2PD Convert Packed Doubleword Integers to Packed Double-Precision Floating-Point Values
CVTDQ2PS Convert Packed Doubleword Integers to Packed Single-Precision Floating-Point Values
CVTPD2DQ Convert Packed Double-Precision Floating-Point Values to Packed Doubleword Integers
CVTPD2PI Convert Packed Double-Precision Floating-Point Values to Packed Doubleword Integers
CVTPD2PS Convert Packed Double-Precision Floating-Point Values to Packed Single-Precision Floating-Point Values
CVTPI2PD Convert Packed Doubleword Integers to Packed Double-Precision Floating-Point Values
CVTPI2PS Convert Packed Doubleword Integers to Packed Single-Precision Floating-Point Values
CVTPS2DQ Convert Packed Single-Precision Floating-Point Values to Packed Doubleword Integers
CVTPS2PD Convert Packed Single-Precision Floating-Point Values to Packed Double-Precision Floating-Point Values
CVTPS2PI Convert Packed Single-Precision Floating-Point Values to Packed Doubleword Integers
CVTSD2SI Convert Scalar Double-Precision Floating-Point Value to Doubleword Integer
CVTSD2SS Convert Scalar Double-Precision Floating-Point Value to Scalar Single-Precision Floating-Point Value
CVTSI2SD Convert Doubleword Integer to Scalar Double- Precision Floating-Point Value
CVTSI2SS Convert Doubleword Integer to Scalar Single- Precision Floating-Point Value
CVTSS2SD Convert Scalar Single-Precision Floating-Point Value to Scalar Double-Precision Floating-Point Value
CVTSS2SI Convert Scalar Single-Precision Floating-Point Value to Doubleword Integer
CVTTPD2PI Convert with Truncation Packed Double-Precision Floating-Point Values to Packed Doubleword Integers
CVTTPD2DQ Convert with Truncation Packed Double-Precision Floating-Point Values to Packed Doubleword Integers
CVTTPS2DQ Convert with Truncation Packed Single-Precision Floating-Point Values to Packed Doubleword Integers
CVTTPS2PI Convert with Truncation Packed Single-Precision Floating-Point Values to Packed Doubleword Integers
CVTTSD2SI Convert with Truncation Scalar Double-Precision Floating-Point Value to Signed Doubleword Integer
CVTTSS2SI Convert with Truncation Scalar Single-Precision Floating-Point Value to Doubleword Integer
CWD/CDQ Convert Word to Doubleword/Convert Doubleword to Quadword
DAA Decimal Adjust AL after Addition
DAS Decimal Adjust AL after Subtraction
DEC Decrement by 1
DIV Unsigned Divide
DIVPD Divide Packed Double-Precision Floating-Point Values
DIVPS Divide Packed Single-Precision Floating-Point Values
DIVSD Divide Scalar Double-Precision Floating-Point Values
DIVSS Divide Scalar Single-Precision Floating-Point Values
EMMS Empty MMX Technology State
ENTER Make Stack Frame for Procedure Parameters
F2XM1 Compute 2x-1
FABS Absolute Value
FADD/FADDP/FIADD Add
FBLD Load Binary Coded Decimal
FBSTP Store BCD Integer and Pop
FCHS Change Sign
FCLEX/FNCLEX Clear Exceptions
FCMOVcc Floating-Point Conditional Move
FCOM/FCOMP/FCOMPP Compare Floating Point Values
FCOMI/FCOMIP/FUCOMI/FUCOMIP Compare Floating Point Values and Set EFLAGS
FCOS Cosine
FDECSTP Decrement Stack-Top Pointer
FDIV/FDIVP/FIDIV Divide
FDIVR/FDIVRP/FIDIVR Reverse Divide
FFREE Free Floating-Point Register
FICOM/FICOMP Compare Integer
FILD Load Integer
FINCSTP Increment Stack-Top Pointer
FINIT/FNINIT Initialize Floating-Point Unit
FIST/FISTP Store Integer
FISTTP Store Integer with Truncation
FLD Load Floating Point Value
FLD1/FLDL2T/FLDL2E/FLDPI/FLDLG2/FLDLN2/FLDZ Load Constant
FLDCW Load x87 FPU Control Word
FLDENV Load x87 FPU Environment
FMUL/FMULP/FIMUL Multiply
FNOP No operation
FPATAN Partial Arctangent
FPREM Partial Remainder
FPREM1 Partial Remainder
FPTAN Partial Tangent
FRNDINT Round to Integer
FRSTOR Restore x87 FPU State
FSAVE/FNSAVE Store x87 FPU State
FSCALE Scale
FSIN Sine
FSINCOS Sine and Cosine
FSQRT Square Root
FST/FSTP Store Floating Point Value
FSTCW/FNSTCW Store x87 FPU Control Word
FSTENV/FNSTENV Store x87 FPU Environment
FSTSW/FNSTSW Store x87 FPU Status Word
FSUB/FSUBP/FISUB Subtract
FSUBR/FSUBRP/FISUBR Reverse Subtract
FTST Test Floating Point Value
FUCOM/FUCOMP/FUCOMPP Unordered Compare Floating Point Values
FXAM Examine Floating Point Value
FXCH Exchange Register Contents
FXRSTOR Restore x87 FPU, MMX Technology, SSE, and SSE2 State
FXSAVE Save x87 FPU, MMX Technology, SSE, and SSE2 State
FXTRACT Extract Exponent and Mantissa
FYL2X Compute y * log_2(x)
FYL2XP1 Compute y * log_2(x + 1)
HADDPD Packed Double-FP Horizontal Add
HADDPS Packed Single-FP Horizontal Add
HLT Halt
HSUBPD Packed Double-FP Horizontal Subtract
HSUBPS Packed Single-FP Horizontal Subtract
IDIV Signed Divide
IMUL Signed Multiply
IN Input from Port
INC Increment by 1
INS/INSB/INSW/INSD Input from Port to String
INT n/INTO/INT 3 Call to Interrupt Procedure
INVD Invalidate Internal Caches
INVLPG Invalidate TLB Entry
IRET/IRETD Interrupt Return
Jcc Jump if Condition Is Met
JMP Jump
LAHF Load Status Flags into AH Register
LAR Load Access Rights Byte
LDDQU Load Unaligned Integer 128 Bits
LDMXCSR Load MXCSR Register
LDS/LES/LFS/LGS/LSS Load Far Pointer
LEA Load Effective Address
LEAVE High Level Procedure Exit
LFENCE Load Fence
LGDT/LIDT Load Global/Interrupt Descriptor Table Register
LLDT Load Local Descriptor Table Register
LMSW Load Machine Status Word
LOCK Assert LOCK# Signal Prefix
LODS/LODSB/LODSW/LODSD Load String
LOOP/LOOPcc Loop According to ECX Counter
LSL Load Segment Limit
LTR Load Task Register
MASKMOVDQU Store Selected Bytes of Double Quadword
MASKMOVQ Store Selected Bytes of Quadword
MAXPD Return Maximum Packed Double-Precision Floating- Point Values
MAXPS Return Maximum Packed Single-Precision Floating-Point Values
MAXSD Return Maximum Scalar Double-Precision Floating-Point Value
MAXSS Return Maximum Scalar Single-Precision Floating-Point Value
MFENCE Memory Fence
MINPD Return Minimum Packed Double-Precision Floating-Point Values
MINPS Return Minimum Packed Single-Precision Floating-Point Values
MINSD Return Minimum Scalar Double-Precision Floating-Point Value
MINSS Return Minimum Scalar Single-Precision Floating-Point Value
MONITOR Setup Monitor Address
MOV Move
MOV Move to/from Control Registers
MOV Move to/from Debug Registers
MOVAPD Move Aligned Packed Double-Precision Floating-Point Values
MOVAPS Move Aligned Packed Single-Precision Floating-Point Values
MOVD Move Doubleword
MOVDDUP Move One Double-FP and Duplicate
MOVDQA Move Aligned Double Quadword
MOVDQU Move Unaligned Double Quadword
MOVDQ2Q Move Quadword from XMM to MMX Technology Register
MOVHLPS Move Packed Single-Precision Floating-Point Values High to Low
MOVHPD Move High Packed Double-Precision Floating-Point Value
MOVHPS Move High Packed Single-Precision Floating-Point Values
MOVLHPS Move Packed Single-Precision Floating-Point Values Low to High
MOVLPD Move Low Packed Double-Precision Floating-Point Value
MOVLPS Move Low Packed Single-Precision Floating-Point Values
MOVMSKPD Extract Packed Double-Precision Floating-Point Sign Mask
MOVMSKPS Extract Packed Single-Precision Floating-Point Sign Mask
MOVNTDQ Store Double Quadword Using Non-Temporal Hint
MOVNTI Store Doubleword Using Non-Temporal Hint
MOVNTPD Store Packed Double-Precision Floating-Point Values Using Non-Temporal Hint
MOVNTPS Store Packed Single-Precision Floating-Point Values Using Non-Temporal Hint
MOVNTQ Store of Quadword Using Non-Temporal Hint
MOVSHDUP Move Packed Single-FP High and Duplicate
MOVSLDUP Move Packed Single-FP Low and Duplicate
MOVQ Move Quadword
MOVQ2DQ Move Quadword from MMX Technology to XMM Register
MOVS/MOVSB/MOVSW/MOVSD Move Data from String to String
MOVSD Move Scalar Double-Precision Floating-Point Value
MOVSS Move Scalar Single-Precision Floating-Point Values
MOVSX Move with Sign-Extension
MOVUPD Move Unaligned Packed Double-Precision Floating- Point Values
MOVUPS Move Unaligned Packed Single-Precision Floating- Point Values
MOVZX Move with Zero-Extend
MUL Unsigned Multiply
MULPD Multiply Packed Double-Precision Floating-Point Values
MULPS Multiply Packed Single-Precision Floating-Point Values
MULSD Multiply Scalar Double-Precision Floating-Point Values
MULSS Multiply Scalar Single-Precision Floating-Point Values
MWAIT Monitor Wait
NEG Two's Complement Negation
NOP No Operation
NOT One's Complement Negation
OR Logical Inclusive OR
ORPD Bitwise Logical OR of Double-Precision Floating-Point Values
ORPS Bitwise Logical OR of Single-Precision Floating-Point Values
OUT Output to Port
OUTS/OUTSB/OUTSW/OUTSD Output String to Port
PACKSSWB/PACKSSDW Pack with Signed Saturation
PACKUSWB Pack with Unsigned Saturation
PADDB/PADDW/PADDD Add Packed Integers
PADDQ Add Packed Quadword Integers
PADDSB/PADDSW Add Packed Signed Integers with Signed Saturation
PADDUSB/PADDUSW Add Packed Unsigned Integers with Unsigned Saturation
PAND Logical AND
PANDN Logical AND NOT
PAUSE Spin Loop Hint
PAVGB/PAVGW Average Packed Integers
PCMPEQB/PCMPEQW/PCMPEQD Compare Packed Data for Equal
PCMPGTB/PCMPGTW/PCMPGTD Compare Packed Signed Integers for Greater Than
PEXTRW Extract Word
PINSRW Insert Word
PMADDWD Multiply and Add Packed Integers
PMAXSW Maximum of Packed Signed Word Integers
PMAXUB Maximum of Packed Unsigned Byte Integers
PMINSW Minimum of Packed Signed Word Integers
PMINUB Minimum of Packed Unsigned Byte Integers
PMOVMSKB Move Byte Mask
PMULHUW Multiply Packed Unsigned Integers and Store High Result
PMULHW Multiply Packed Signed Integers and Store High Result
PMULLW Multiply Packed Signed Integers and Store Low Result
PMULUDQ Multiply Packed Unsigned Doubleword Integers
POP Pop a Value from the Stack
POPA/POPAD Pop All General-Purpose Registers
POPF/POPFD Pop Stack into EFLAGS Register
POR Bitwise Logical OR
PREFETCHh Prefetch Data Into Caches
PSADBW Compute Sum of Absolute Differences
PSHUFD Shuffle Packed Doublewords
PSHUFHW Shuffle Packed High Words
PSHUFLW Shuffle Packed Low Words
PSHUFW Shuffle Packed Words
PSLLDQ Shift Double Quadword Left Logical
PSLLW/PSLLD/PSLLQ Shift Packed Data Left Logical
PSRAW/PSRAD Shift Packed Data Right Arithmetic
PSRLDQ Shift Double Quadword Right Logical
PSRLW/PSRLD/PSRLQ Shift Packed Data Right Logical
PSUBB/PSUBW/PSUBD Subtract Packed Integers
PSUBQ Subtract Packed Quadword Integers
PSUBSB/PSUBSW Subtract Packed Signed Integers with Signed Saturation
PSUBUSB/PSUBUSW Subtract Packed Unsigned Integers with Unsigned Saturation
PUNPCKHBW/PUNPCKHWD/PUNPCKHDQ/PUNPCKHQDQ Unpack High Data
PUNPCKLBW/PUNPCKLWD/PUNPCKLDQ/PUNPCKLQDQ Unpack Low Data
PUSH Push Word or Doubleword Onto the Stack
PUSHA/PUSHAD Push All General-Purpose Registers
PUSHF/PUSHFD Push EFLAGS Register onto the Stack
PXOR Logical Exclusive OR
RCL/RCR/ROL/ROR Rotate
RCPPS Compute Reciprocals of Packed Single-Precision Floating-Point Values
RCPSS Compute Reciprocal of Scalar Single-Precision Floating- Point Values
RDMSR Read from Model Specific Register
RDPMC Read Performance-Monitoring Counters
RDTSC Read Time-Stamp Counter
REP/REPE/REPZ/REPNE/REPNZ Repeat String Operation Prefix
RET Return from Procedure
RSM Resume from System Management Mode
RSQRTPS Compute Reciprocals of Square Roots of Packed Single-Precision Floating-Point Values
RSQRTSS Compute Reciprocal of Square Root of Scalar Single- Precision Floating-Point Value
SAHF Store AH into Flags
SAL/SAR/SHL/SHR Shift
SBB Integer Subtraction with Borrow
SCAS/SCASB/SCASW/SCASD Scan String
SETcc Set Byte on Condition
SFENCE Store Fence
SGDT Store Global Descriptor Table Register
SHLD Double Precision Shift Left
SHRD Double Precision Shift Right
SHUFPD Shuffle Packed Double-Precision Floating-Point Values
SHUFPS Shuffle Packed Single-Precision Floating-Point Values
SIDT Store Interrupt Descriptor Table Register
SLDT Store Local Descriptor Table Register
SMSW Store Machine Status Word
SQRTPD Compute Square Roots of Packed Double-Precision Floating-Point Values
SQRTPS Compute Square Roots of Packed Single-Precision Floating-Point Values
SQRTSD Compute Square Root of Scalar Double-Precision Floating-Point Value
SQRTSS Compute Square Root of Scalar Single-Precision Floating-Point Value
STC Set Carry Flag
STD Set Direction Flag
STI Set Interrupt Flag
STMXCSR Store MXCSR Register State
STOS/STOSB/STOSW/STOSD Store String
STR Store Task Register
SUB Subtract
SUBPD Subtract Packed Double-Precision Floating-Point Values
SUBPS Subtract Packed Single-Precision Floating-Point Values
SUBSD Subtract Scalar Double-Precision Floating-Point Values
SUBSS Subtract Scalar Single-Precision Floating-Point Values
SYSENTER Fast System Call
SYSEXIT Fast Return from Fast System Call
TEST Logical Compare
UCOMISD Unordered Compare Scalar Double-Precision Floating- Point Values and Set EFLAGS
UCOMISS Unordered Compare Scalar Single-Precision Floating- Point Values and Set EFLAGS
UD2 Undefined Instruction
UNPCKHPD Unpack and Interleave High Packed Double- Precision Floating-Point Values
UNPCKHPS Unpack and Interleave High Packed Single-Precision Floating-Point Values
UNPCKLPD Unpack and Interleave Low Packed Double-Precision Floating-Point Values
UNPCKLPS Unpack and Interleave Low Packed Single-Precision Floating-Point Values
VERR/VERW Verify a Segment for Reading or Writing
WAIT/FWAIT Wait
WBINVD Write Back and Invalidate Cache
WRMSR Write to Model Specific Register
XADD Exchange and Add
XCHG Exchange Register/Memory with Register
XLAT/XLATB Table Look-up Translation
XOR Logical Exclusive OR
XORPD Bitwise Logical XOR for Double-Precision Floating-Point Values
XORPS Bitwise Logical XOR for Single-Precision Floating-Point Values




Jcc

Jump if Condition Is Met

Opcode Mnemonic Description
77 cb JA rel8 Jump short if above (CF=0 and ZF=0).
73 cb JAE rel8 Jump short if above or equal (CF=0).
72 cb JB rel8 Jump short if below (CF=1).
76 cb JBE rel8 Jump short if below or equal (CF=1 or ZF=1).
72 cb JC rel8 Jump short if carry (CF=1).
E3 cb JCXZ rel8 Jump short if CX register is 0.
E3 cb JECXZ rel8 Jump short if ECX register is 0.
74 cb JE rel8 Jump short if equal (ZF=1).
7F cb JG rel8 Jump short if greater (ZF=0 and SF=OF).
7D cb JGE rel8 Jump short if greater or equal (SF=OF).
7C cb JL rel8 Jump short if less (SF<>OF).
7E cb JLE rel8 Jump short if less or equal (ZF=1 or SF<>OF).
76 cb JNA rel8 Jump short if not above (CF=1 or ZF=1).
72 cb JNAE rel8 Jump short if not above or equal (CF=1).
73 cb JNB rel8 Jump short if not below (CF=0).
77 cb JNBE rel8 Jump short if not below or equal (CF=0 and ZF=0).
73 cb JNC rel8 Jump short if not carry (CF=0).
75 cb JNE rel8 Jump short if not equal (ZF=0).
7E cb JNG rel8 Jump short if not greater (ZF=1 or SF<>OF).
7C cb JNGE rel8 Jump short if not greater or equal (SF<>OF).
7D cb JNL rel8 Jump short if not less (SF=OF).
7F cb JNLE rel8 Jump short if not less or equal (ZF=0 and SF=OF).
71 cb JNO rel8 Jump short if not overflow (OF=0).
7B cb JNP rel8 Jump short if not parity (PF=0).
79 cb JNS rel8 Jump short if not sign (SF=0).
75 cb JNZ rel8 Jump short if not zero (ZF=0).
70 cb JO rel8 Jump short if overflow (OF=1).
7A cb JP rel8 Jump short if parity (PF=1).
7A cb JPE rel8 Jump short if parity even (PF=1).
7B cb JPO rel8 Jump short if parity odd (PF=0).
78 cb JS rel8 Jump short if sign (SF=1).
74 cb JZ rel8 Jump short if zero (ZF = 1).
0F 87 cw/cd JA rel16/32 Jump near if above (CF=0 and ZF=0).
0F 83 cw/cd JAE rel16/32 Jump near if above or equal (CF=0).
0F 82 cw/cd JB rel16/32 Jump near if below (CF=1).
0F 86 cw/cd JBE rel16/32 Jump near if below or equal (CF=1 or ZF=1).
0F 82 cw/cd JC rel16/32 Jump near if carry (CF=1).
0F 84 cw/cd JE rel16/32 Jump near if equal (ZF=1).
0F 84 cw/cd JZ rel16/32 Jump near if 0 (ZF=1).
0F 8F cw/cd JG rel16/32 Jump near if greater (ZF=0 and SF=OF).
0F 8D cw/cd JGE rel16/32 Jump near if greater or equal (SF=OF).
0F 8C cw/cd JL rel16/32 Jump near if less (SF<>OF).
0F 8E cw/cd JLE rel16/32 Jump near if less or equal (ZF=1 or SF<>OF).
0F 86 cw/cd JNA rel16/32 Jump near if not above (CF=1 or ZF=1).
0F 82 cw/cd JNAE rel16/32 Jump near if not above or equal (CF=1).
0F 83 cw/cd JNB rel16/32 Jump near if not below (CF=0).
0F 87 cw/cd JNBE rel16/32 Jump near if not below or equal (CF=0 and ZF=0).
0F 83 cw/cd JNC rel16/32 Jump near if not carry (CF=0).
0F 85 cw/cd JNE rel16/32 Jump near if not equal (ZF=0).
0F 8E cw/cd JNG rel16/32 Jump near if not greater (ZF=1 or SF<>OF).
0F 8C cw/cd JNGE rel16/32 Jump near if not greater or equal (SF<>OF).
0F 8D cw/cd JNL rel16/32 Jump near if not less (SF=OF).
0F 8F cw/cd JNLE rel16/32 Jump near if not less or equal (ZF=0 and SF=OF).
0F 81 cw/cd JNO rel16/32 Jump near if not overflow (OF=0).
0F 8B cw/cd JNP rel16/32 Jump near if not parity (PF=0).
0F 89 cw/cd JNS rel16/32 Jump near if not sign (SF=0).
0F 85 cw/cd JNZ rel16/32 Jump near if not zero (ZF=0).
0F 80 cw/cd JO rel16/32 Jump near if overflow (OF=1).
0F 8A cw/cd JP rel16/32 Jump near if parity (PF=1).
0F 8A cw/cd JPE rel16/32 Jump near if parity even (PF=1).
0F 8B cw/cd JPO rel16/32 Jump near if parity odd (PF=0).
0F 88 cw/cd JS rel16/32 Jump near if sign (SF=1).
0F 84 cw/cd JZ rel16/32 Jump near if 0 (ZF=1).
Description

Checks the state of one or more of the status flags in the EFLAGS register (CF, OF, PF, SF, and ZF) and, if the flags are in the specified state (condition), performs a jump to the target instruction specified by the destination operand. A condition code (cc) is associated with each instruction to indicate the condition being tested for. If the condition is not satisfied, the jump is not performed and execution continues with the instruction following the Jcc instruction.

The target instruction is specified with a relative offset (a signed offset relative to the current value of the instruction pointer in the EIP register). A relative offset (rel8, rel16, or rel32) is generally specified as a label in assembly code, but at the machine code level, it is encoded as a signed, 8-bit or 32-bit immediate value, which is added to the instruction pointer. Instruction coding is most efficient for offsets of -128 to +127. If the operand-size attribute is 16, the upper two bytes of the EIP register are cleared, resulting in a maximum instruction pointer size of 16 bits.

The conditions for each Jcc mnemonic are given in the "{description}" column of the table on the preceding page. The terms "less" and "greater" are used for comparisons of signed integers and the terms "above" and "below" are used for unsigned integers.

Because a particular state of the status flags can sometimes be interpreted in two ways, two mnemonics are defined for some opcodes. For example, the JA (jump if above) instruction and the JNBE (jump if not below or equal) instruction are alternate mnemonics for the opcode 77H.

The Jcc instruction does not support far jumps (jumps to other code segments). When the target for the conditional jump is in a different segment, use the opposite condition from the condition being tested for the Jcc instruction, and then access the target with an unconditional far jump (JMP instruction) to the other segment. For example, the following conditional far jump is illegal: JZ FARLABEL; To accomplish this far jump, use the following two instructions: JNZ BEYOND; JMP FARLABEL; BEYOND: The JECXZ and JCXZ instructions differ from the other Jcc instructions because they do not check the status flags. Instead they check the contents of the ECX and CX registers, respectively, for 0. Either the CX or ECX register is chosen according to the address-size attribute.

These instructions are useful at the beginning of a conditional loop that terminates with a conditional loop instruction (such as LOOPNE). They prevent entering the loop when the ECX or CX register is equal to 0, which would cause the loop to execute 232 or 64K times, respectively, instead of zero times.

All conditional jumps are converted to code fetches of one or two cache lines, regardless of jump address or cacheability.

Operation
if(Condition == true) {
            EIP = EIP + SignExtend(Destination);
            if(OperandSize == 16) EIP = EIP & 0xFFFF;
            else /*OperandSize == 32*/ if(EIP < CS.Base || EIP > CS.Limit) Exception(GP);
            }
            
Flags affected

None.

Protected Mode Exceptions
#GP(0) If the offset being jumped to is beyond the limits of the CS segment.
Real-Address Mode Exceptions
#GP If the offset being jumped to is beyond the limits of the CS segment or is outside of the effective address space from 0 to FFFFH. This condition can occur if a 32-bit address size override prefix is used.
Virtual-8086 Mode Exceptions
Same exceptions as in Real Address Mode


posted on 2011-03-19 20:24 coreBugZJ 閱讀(4458) 評(píng)論(1)  編輯 收藏 引用 所屬分類: Assemble

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美a一区二区| 欧美成人视屏| 国产人久久人人人人爽| 99国产精品| 宅男噜噜噜66国产日韩在线观看| 欧美理论在线| 一区二区三区欧美在线| 欧美一区二区三区免费观看| 国产一区二区精品| 暖暖成人免费视频| 在线亚洲自拍| 麻豆成人精品| 欧美成年人视频网站| 亚洲国产视频直播| 欧美成人国产一区二区| 一本色道久久综合亚洲二区三区| 亚洲一区二区三区四区中文| 国产一区二区三区高清| 美国十次了思思久久精品导航| 最新高清无码专区| 亚洲欧美国产日韩天堂区| 狠狠色综合一区二区| 欧美日韩高清不卡| 久久精品国产清高在天天线| 91久久精品国产91久久| 午夜在线精品偷拍| 亚洲精品久久久久久久久久久久| 国产精品久久久久aaaa九色| 浪潮色综合久久天堂| 亚洲视频一二三| 亚洲国产精品福利| 久久久爽爽爽美女图片| 亚洲香蕉网站| 亚洲毛片视频| 亚洲第一主播视频| 国产精品日韩在线一区| 欧美日韩影院| 欧美激情久久久久| 久久久久久电影| 亚洲欧美在线磁力| 夜夜嗨av一区二区三区四季av| 欧美成人激情在线| 久久激情视频免费观看| 亚洲亚洲精品在线观看| 亚洲精选一区| 亚洲国产一区二区视频| 精品91在线| 欧美aⅴ一区二区三区视频| 亚洲一区三区电影在线观看| 亚洲激情视频在线播放| 一区二区三区自拍| 国产一区二区三区奇米久涩| 国产精品视频一| 欧美无砖砖区免费| 欧美午夜剧场| 国产精品高潮在线| 欧美性片在线观看| 欧美日韩一区二区三区在线看| 欧美韩日视频| 欧美精品久久久久久久久老牛影院| 久久狠狠一本精品综合网| 亚洲伊人观看| 一区二区三区视频在线看 | 毛片av中文字幕一区二区| 日韩午夜激情| 亚洲激情网站| 亚洲日本成人女熟在线观看| 亚洲国产欧美日韩另类综合| 91久久精品美女高潮| 亚洲国产成人porn| 亚洲人成欧美中文字幕| 日韩亚洲欧美精品| 亚洲一区二区综合| 欧美在线播放高清精品| 久久另类ts人妖一区二区| 久久午夜视频| 久久婷婷色综合| 欧美电影免费观看网站| 欧美视频网址| 国产一区视频网站| 在线观看日韩专区| 日韩亚洲欧美一区二区三区| 亚洲一级一区| 久久久午夜视频| 亚洲国产高清视频| 一个色综合av| 久久婷婷人人澡人人喊人人爽| 欧美国产视频在线观看| 国产精品毛片| 在线日本欧美| 亚洲欧美区自拍先锋| 久久永久免费| 亚洲久久一区二区| 欧美亚洲日本网站| 欧美精品一区在线播放| 国产九区一区在线| 亚洲国产中文字幕在线观看| 亚洲天堂网在线观看| 久久综合五月| 亚洲婷婷在线| 女同一区二区| 国产视频久久| 99在线热播精品免费99热| 欧美一区二区高清| 亚洲日韩中文字幕在线播放| 亚洲综合色丁香婷婷六月图片| 老司机免费视频一区二区| 国产精品三级久久久久久电影| 亚洲国产日韩欧美在线图片| 亚洲欧美一区二区三区极速播放| 欧美成ee人免费视频| 亚洲免费一在线| 欧美日韩国产三级| 玉米视频成人免费看| 亚洲欧美日韩精品久久久久| 欧美国产亚洲精品久久久8v| 亚洲欧美日韩一区在线观看| 欧美日韩福利在线观看| 亚洲国产精品久久人人爱蜜臀| 老牛嫩草一区二区三区日本| 先锋资源久久| 亚洲激情视频在线| 久久精品首页| 国产欧美1区2区3区| 亚洲无线一线二线三线区别av| 欧美成人嫩草网站| 久久国产日本精品| 国产视频精品网| 欧美亚洲色图校园春色| 99精品欧美一区二区三区| 欧美精品精品一区| 日韩一级欧洲| av成人动漫| 国产精品大片免费观看| 一区电影在线观看| 亚洲精品一区二区网址| 欧美区亚洲区| 亚洲图片在区色| 国产精品99久久久久久宅男| 欧美日韩在线电影| 午夜精品一区二区三区电影天堂| 亚洲一区二区高清| 国产丝袜一区二区| 久久这里有精品15一区二区三区| 欧美在线视频在线播放完整版免费观看| 国产精品丝袜白浆摸在线| 欧美亚洲日本国产| 久久九九国产| 亚洲精品国产精品乱码不99| 亚洲国产经典视频| 欧美三级视频在线| 欧美呦呦网站| 玖玖国产精品视频| 日韩视频免费观看| 亚洲伊人第一页| 国内自拍视频一区二区三区| 奶水喷射视频一区| 欧美日韩1234| 欧美一区二区三区视频免费播放 | 亚洲视频在线二区| 国产欧美精品xxxx另类| 免费在线国产精品| 欧美四级在线观看| 久久国产高清| 欧美成人精品影院| 亚洲欧美在线x视频| 久久综合999| 亚洲一区三区电影在线观看| 久久爱91午夜羞羞| 99综合电影在线视频| 午夜精品在线| 亚洲美女少妇无套啪啪呻吟| 亚洲欧洲av一区二区| 亚洲欧洲在线一区| 午夜欧美理论片| 一区二区日韩| 欧美尤物巨大精品爽| 欧美亚洲第一区| 亚洲午夜视频在线观看| 国产精品青草综合久久久久99| 毛片一区二区| 国产精品v欧美精品∨日韩| 免费国产一区二区| 国产精品久久久久9999高清| 欧美国产日本| 国产欧美日韩综合一区在线播放 | 亚洲激情网站| 欧美亚洲三区| 亚洲天堂网在线观看| 久久一区中文字幕| 欧美影院在线| 国产精品国产精品国产专区不蜜| 牛牛影视久久网| 国产伦精品一区二区三区视频孕妇| 欧美激情二区三区| 韩国一区二区三区美女美女秀| 99精品视频免费观看视频| 亚洲国产婷婷香蕉久久久久久99 | 欧美激情视频给我| 在线精品观看|