关于 COMV 指令:
该指令的定义应为 CMOVcc—Conditional Move (Continued)。
实际应用中会是以下方式:CMOVNO、CMOVO、CMOVNP、CMOVP、CMOVO、CMOVZ 等。
根据使用过程中的需求来选用指令。CMOV 不是具体指令,应表示一类指令。
The CMOVcc instructions were introduced in the P6 family processors; however, these instructions
may not be supported by all IA-32 processors.
Operation:
temp ← DEST
IF condition TRUE
THEN
DEST ← SRC
ELSE
DEST ← temp
FI;
FPU Flags Affected:
C1 Set to 0 if stack underflow occurred.
C0, C2, C3 Undefined.
关于 INT01 指令:该指令为自陷式中断功能调用,CPU 也可在 TF=1 的情况下自动产生该动作。
INTEL 只有 INT n/INTO/INT 3—Call to Interrupt Procedure.
Opcode Instruction Description
CC INT 3 Interrupt 3—trap to debugger
CD ib INT imm8 Interrupt vector number specified by immediate byte
CE INTO Interrupt 4—if overflow flag is 1
其它指令
FCOMI/FCOMIP/ FUCOMI/FUCOMIP—Compare Floating Point Values and Set EFLAGS.
RDPMC—Read Performance-Monitoring Counters.
SALC:INTEL 并未提供该指令
INTEL 的 SAL 指令的详细情形:
Opcode Instruction Description
D0 /4 SAL r/m8,1 Multiply r/m8 by 2, once
D2 /4 SAL r/m8,CL Multiply r/m8 by 2, CL times
C0 /4 ib SAL r/m8,imm8 Multiply r/m8 by 2, imm8 times
D1 /4 SAL r/m16,1 Multiply r/m16 by 2, once
D3 /4 SAL r/m16,CL Multiply r/m16 by 2, CL times
C1 /4 ib SAL r/m16,imm8 Multiply r/m16 by 2, imm8 times
D1 /4 SAL r/m32,1 Multiply r/m32 by 2, once
D3 /4 SAL r/m32,CL Multiply r/m32 by 2, CL times
C1 /4 ib SAL r/m32,imm8 Multiply r/m32 by 2, imm8 times