win32 指令大全
指令类型 |
助记符 (带*为特权指令) |
对标志寄存器的影响 |
备注 |
说明 |
举例 |
||||||||||
ZF |
CF |
PF |
SF |
OF |
AF |
DF |
IF |
TF |
|||||||
数据传送类 |
数据传送 |
MOV |
不影响标志位 |
Move |
MOV r/m32,imm32 |
||||||||||
MOV* |
Move to/from Control Registers |
MOV CR0,r32 |
|||||||||||||
MOV* |
Move to/from Debug Registers |
MOV r32, DR0-DR7 |
|||||||||||||
符号位扩展传送 |
MOVZX |
Move with Zero-Extend |
MOVZX r32,r/m16 |
||||||||||||
MOVSX |
Move with Sign-Extension |
MOVSX r32,r/m16 |
|||||||||||||
数据交换 |
XCHG |
Exchange Register/Memory with Register |
XCHG r32,r/m32 |
||||||||||||
CMPXCHG |
√ |
√ |
√ |
√ |
√ |
Compare and Exchange |
CMPXCHG r/m32,r32 |
||||||||
CMPXCHG8B |
√ |
Compare and Exchange 8 Bytes |
CMPXCHG8B m64 |
||||||||||||
堆栈传送 |
PUSH |
不影响标志位 |
Push Word or Doubleword Onto the Stack |
Push r/m32 |
|||||||||||
POP |
Pop a Value from the Stack |
POP r.m32 |
|||||||||||||
PUSHA |
Push All General-Purpose Registers |
PUSHA |
|||||||||||||
POPA |
Pop All General-Purpose Registers |
POPA |
|||||||||||||
PUSHAD |
Push All General-Purpose Registers |
PUSHAD |
|||||||||||||
POPAD |
Pop All General-Purpose Registers |
POPAD |
|||||||||||||
地址传送 |
LEA |
Load Effective Address |
LEA r32,m |
||||||||||||
LDS |
Load Far Pointer |
LDS r32,m16:32 |
|||||||||||||
LES |
Load Far Pointer |
LES r32,m16:32 |
|||||||||||||
LFS |
Load Far Pointer |
LFS r32,m16:32 |
|||||||||||||
LGS |
Load Far Pointer |
LGS r32,m16:32 |
|||||||||||||
LSS |
Load Far Pointer |
LSS r32,m16:32 |
|||||||||||||
标志寄存器传送 |
LAHF |
不影响标志位 |
Load Status Flags into AH Register |
LAHF |
|||||||||||
SAHF |
标志寄存器低八位的内容由AH的值决定 |
Store AH into Flags |
SAHF |
||||||||||||
PUSHF |
不影响标志位 |
Push EFLAGS Register onto the Stack |
PUSHF |
||||||||||||
POPF |
标志寄存器的内容由装入的具体值决定 |
Pop Stack into EFLAGS Register |
POPF |
||||||||||||
PUSHFD |
不影响标志位 |
Push EFLAGS Register onto the Stack |
PUSHFD |
||||||||||||
POPFD |
标志寄存器的内容由装入的具体值决定 |
Pop Stack into EFLAGS Register |
POPFD |
||||||||||||
查表 |
XLAT |
不影响标志位 |
Table Look-up Translation |
XLAT m8 |
|||||||||||
XLATB |
Table Look-up Translation |
XLATB |
|||||||||||||
输入输出 |
IN* |
不影响标志位 |
Input from Port |
IN EAX,imm8 |
|||||||||||
OUT* |
Output to Port |
OUT imm8, EAX |
|||||||||||||
输入 |
INS* |
不影响标志位 |
Input from Port to String |
INS m32, DX |
|||||||||||
INSB* |
Input from Port to String |
INSB |
|||||||||||||
INSW* |
Input from Port to String |
INSW |
|||||||||||||
INSD* |
Input from Port to String |
INSD |
|||||||||||||
输出 |
OUTS* |
Output String to Port |
OUTS DX, m32 |
||||||||||||
OUTSB* |
Output String to Port |
OUTSB |
|||||||||||||
OUTSW* |
Output String to Port |
OUTSW |
|||||||||||||
OUTSD* |
Output String to Port |
OUTSD |
|||||||||||||
串 操 作 |
传送 |
MOVS |
Move Data from String to String |
MOVS m32, m32 |
|||||||||||
MOVSB |
Move Data from String to String |
MOVSB |
|||||||||||||
MOVSW |
Move Data from String to String |
MOVSW |
|||||||||||||
MOVSD |
Move Data from String to String |
MOVSW |
|||||||||||||
比较 |
CMPS |
由计算结果确定标志位的值 |
不会影响DF,IF,TF |
Compare String Operands |
CMPS m32, m32 |
||||||||||
CMPSB |
Compare String Operands |
CMPSB |
|||||||||||||
CMPSW |
Compare String Operands |
CMPSW |
|||||||||||||
CMPSD |
Compare String Operands |
CMPSD |
|||||||||||||
搜索 |
SCAS |
不会影响DF,IF,TF |
Scan String |
SCAS m32 |
|||||||||||
SCASB |
Scan String |
SCASB |
|||||||||||||
SCASW |
Scan String |
SCASW |
|||||||||||||
SCASD |
Scan String |
SCASD |
|||||||||||||
装入 |
LODS |
不影响标志位 |
Load String |
LODS m32 |
|||||||||||
LODSB |
Load String |
LODSB |
|||||||||||||
LODSW |
Load String |
LODSW |
|||||||||||||
LODSD |
Load String |
LODSD |
|||||||||||||
填充 |
STOS |
Store String |
STOS m32 |
||||||||||||
STOSB |
Store String |
STOSB |
|||||||||||||
STOSW |
Store String |
STOSW |
|||||||||||||
STOSD |
Store String |
STOSD |
|||||||||||||
循环前缀 |
REP |
Repeat String Operation Prefix |
REP MOVS m32,m32 |
||||||||||||
REPZ |
Repeat String Operation Prefix |
REPZ LODS EAX |
|||||||||||||
REPNZ |
Repeat String Operation Prefix |
REPNZ STOS m32 |
|||||||||||||
REPE |
Repeat String Operation Prefix |
REPE CMPS m32,m32 |
|||||||||||||
REPNE |
Repeat String Operation Prefix |
REPNE SCAS m32 |
|||||||||||||
条件传送 |
标志位测试 |
CMOVZ/CMOVNZ |
1/0 |
指出测试的标志位,下同 |
Move if zero |
||||||||||
CMOVE/CMOVNE |
1/0 |
Move if equal |
|||||||||||||
CMOVC/CMOVNC |
1/0 |
Move if carry |
|||||||||||||
CMOVS/CMOVNS |
1/0 |
Move if sign |
|||||||||||||
CMOVO/CMOVNO |
1/0 |
Move if overflow |
|||||||||||||
CMOVP/CMOVNP |
1/0 |
Move if parity |
|||||||||||||
CMOVPE/CMOVPO |
1/0 |
Move if parity even/odd |
|||||||||||||
无符号数比较 |
CMOVA/CMOVNBE |
0& |
&0 |
ZF=0 AND CF=0 |
Move if above |
||||||||||
CMOVNA/CMOVBE |
1| |
|1 |
ZF=1 OR CF=1 |
Move if below or equal |
|||||||||||
CMOVB/CMOVNAE |
0& |
&1 |
ZF=0 AND CF=1 |
Move if below |
|||||||||||
CMOVNB/CMOVAE |
1| |
|0 |
ZF=1 OR CF=0 |
Move if above or equal |
|||||||||||
有符号数比较 |
CMOVG/CMOVNLE |
0& |
&= |
= |
ZF=0 AND SF=OF |
Move if greater |
|||||||||
CMOVNG/CMOVLE |
1| |
|< |
> |
ZF=1 OR SF<>OF |
Move if less or equal |
||||||||||
CMOVL/CMOVNGE |
< |
> |
SF<>OF |
Move if less |
|||||||||||
CMOVNL/CMOVGE |
= |
= |
SF=OF |
Move if greater or equal |
|||||||||||
条件设置 |
标志位测试 |
SETZ/SETNZ |
1/0 |
指出测试的标志位,下同 |
Set byte if zero |
||||||||||
SETE/SETNE |
1/0 |
Set byte if equal |
|||||||||||||
SETC/SETNC |
1/0 |
Set byte if carry |
|||||||||||||
SETS/SETNS |
1/0 |
Set byte if sign |
|||||||||||||
SETO/SETNO |
1/0 |
Set byte if overflow |
|||||||||||||
SETP/SETNP |
1/0 |
Set byte if parity |
|||||||||||||
SETPE/SETPO |
1/0 |
Set byte if parity even/odd |
|||||||||||||
无符号数比较 |
SETA/SETNBE |
0& |
&0 |
ZF=0 AND CF=0 |
Set byte if above |
||||||||||
SETNA/SETBE |
1| |
|1 |
ZF=1 OR CF=1 |
Set byte if below or equal |
|||||||||||
SETB/SETNAE |
0& |
&1 |
ZF=0 AND CF=1 |
Set byte if below |
|||||||||||
SETNB/SETAE |
1| |
|0 |
ZF=1 OR CF=0 |
Set byte if above or equal |
|||||||||||
有符号数比较 |
SETG/SETNLE |
0& |
&= |
= |
ZF=0 AND SF=OF |
Set byte if greater |
|||||||||
SETNG/SETLE |
1| |
|< |
> |
ZF=1 OR SF<>OF |
Set byte if less or equal |
||||||||||
SETL/SETNGE |
< |
> |
SF<>OF |
Set byte if less |
|||||||||||
SETNL/SETGE |
= |
= |
SF=OF |
Set byte if greater or equal |
|||||||||||
特 权 数 据 传 送 |
读取 |
SGDT |
不影响标志位 |
Store Global Descriptor Table Register |
SGDT m |
||||||||||
SIDT |
Store Interrupt Descriptor Table Register |
SIDT m |
|||||||||||||
SLDT |
Store Local Descriptor Table Register |
SLDT r/m32 |
|||||||||||||
SMSW |
Store Machine Status Word |
SMSW r32/m16 |
|||||||||||||
STR |
Store Task Register |
STR r/m16 |
|||||||||||||
RDMSR* |
Read from Model Specific Register |
RDMSR |
|||||||||||||
RDPMC* |
Read Performance-Monitoring Counters |
RDPMC |
|||||||||||||
写入 |
LGDT* |
Load Global Descriptor Table Register |
LGDT m16&32 |
||||||||||||
LIDT* |
Load Interrupt Descriptor Table Register |
LIDT m16&32 |
|||||||||||||
LLDT* |
Load Local Descriptor Table Register |
LLDT r/m16 |
|||||||||||||
LMSW* |
Load Machine Status Word |
LMSW r/m16 |
|||||||||||||
LTR* |
Load Task Register |
LTR r/m16 |
|||||||||||||
WRMSR* |
Write to Model Specific Register |
WRMSR |
|||||||||||||
LAR(*) |
√ |
|
|
|
|
|
|
|
|
Load Access Rights Byte |
LAR r32,r/m32 |
||||
LSL(*) |
√ |
|
|
|
|
|
|
|
|
Load Segment Limit |
LSL r32,r/m32 |
||||
算术运算类 |
加法 |
ADD |
√ |
√ |
√ |
√ |
√ |
√ |
Add |
ADD r/m32,imm32 |
|||||
ADC |
√ |
√ |
√ |
√ |
√ |
√ |
Add with Carry |
ADC r/m32,imm32 |
|||||||
INC |
√ |
√ |
√ |
√ |
√ |
Increment by 1 |
INC r/m32 |
||||||||
AAA |
? |
√ |
? |
? |
? |
√ |
?表示不确定或者未定义 |
ASCII Adjust After Addition |
AAA |
||||||
DAA |
√ |
√ |
√ |
√ |
? |
√ |
Decimal Adjust AL after Addition |
DAA |
|||||||
XADD |
√ |
√ |
√ |
√ |
√ |
√ |
Exchange and Add |
XADD r/m32,r32 |
|||||||
减法 |
SUB |
√ |
√ |
√ |
√ |
√ |
√ |
Subtract |
SUB r/m32,imm32 |
||||||
SBB |
√ |
√ |
√ |
√ |
√ |
√ |
Integer Subtraction with Borrow |
SBB r/m32,imm32 |
|||||||
DEC |
√ |
√ |
√ |
√ |
√ |
Decrement by 1 |
DEC r/m32 |
||||||||
AAS |
? |
√ |
? |
? |
? |
√ |
ASCII Adjust AL After Subtraction |
AAS |
|||||||
DAS |
√ |
√ |
√ |
√ |
? |
√ |
Decimal Adjust AL after Subtraction |
DAS |
|||||||
乘法 |
MUL |
? |
√ |
? |
? |
√ |
? |
Unsigned Multiply |
MUL r/m32 |
||||||
IMUL |
? |
√ |
? |
? |
√ |
? |
Signed Multiply |
IMUL r32,r/m32,imm32 |
|||||||
AAM |
√ |
? |
√ |
√ |
? |
? |
ASCII Adjust AX After Multiply |
AAM |
|||||||
除法 |
DIV |
? |
? |
? |
? |
? |
? |
√ |
√ |
此指令可能会产生中断,故影响IF,TF |
Unsigned Divide |
DIV r/m32 |
|||
IDIV |
? |
? |
? |
? |
? |
? |
√ |
√ |
同上 |
Signed Divide |
IDIV r/m32 |
||||
AAD |
√ |
? |
√ |
√ |
? |
? |
ASCII Adjust AX Before Division |
AAD |
|||||||
求负 |
NEG |
√ |
√ |
√ |
√ |
√ |
√ |
CF同源操作数的真或假 |
Two's Complement Negation |
NEG r/m32 |
|||||
符号位扩展 |
CBW |
不影响标志位 |
Convert Byte to Word |
CBW |
|||||||||||
CWDE |
Convert Word to Doubleword |
CWDE |
|||||||||||||
CWD |
Convert Word to Doubleword |
CWD |
|||||||||||||
CDQ |
Convert Double to Quadword |
CDQ |
|||||||||||||
比较 |
CMP |
由计算结果确定标志位的值 |
不会影响到DF,IF,TF |
Compare Two Operands |
CMP r/m32,imm32 |
||||||||||
逻辑运算类 |
单 操 作 数 |
移位 |
SHL |
√ |
√ |
√ |
√ |
见 备 注 |
? |
OF标志位只在移位次数是1时有效 |
Shift left imm8/CL times |
SHL r/m32,imm8 |
|||
SHR |
√ |
√ |
√ |
√ |
? |
Shift right imm8/CL times |
SHR r/m32,imm8 |
||||||||
SAL |
√ |
√ |
√ |
√ |
? |
Shift left without sign bit imm8/CL times |
SAL r/m32,imm8 |
||||||||
SAR |
√ |
√ |
√ |
√ |
? |
Shift right without sign bit mm8/CL times |
SAR r/m32,imm8 |
||||||||
SHLD |
√ |
√ |
√ |
√ |
? |
Double Precision Shift Left |
SHLD r/m32,r32,imm8 |
||||||||
SHRD |
√ |
√ |
√ |
√ |
? |
Double Precision Shift Right |
SHRD r/m32,r32,imm8 |
||||||||
循环 移位 |
ROL |
√ |
√ |
Rotate left imm8/CL times |
ROL r/m32,imm8 |
||||||||||
ROR |
√ |
√ |
Rotate right imm8/CL times |
ROR r/m32,imm8 |
|||||||||||
RCL |
√ |
√ |
Rotate left with CF imm8/CL times |
RCL r/m32,imm8 |
|||||||||||
RCR |
√ |
√ |
Rotate right with CF imm8/CL times |
RCR r/m32,imm8 |
|||||||||||
调整字节序 |
BSWAP |
不影响标志位 |
Byte Swap |
BSWAP r32 |
|||||||||||
求反 |
NOT |
One's Complement Negation |
NOT r/m32 |
||||||||||||
双 操 作 数 |
与 |
AND |
√ |
0 |
√ |
√ |
0 |
? |
Logical AND |
AND r/m32,r/m32 |
|||||
或 |
OR |
√ |
0 |
√ |
√ |
0 |
? |
Logical Inclusive OR |
OR r/m32,r/m32 |
||||||
异或 |
XOR |
√ |
0 |
√ |
√ |
0 |
? |
Logical Exclusive OR |
XOR r/m32,r/m32 |
||||||
检测 |
TSET |
√ |
0 |
√ |
√ |
0 |
? |
Logical Compare |
TEST r/m32,r/m32 |
||||||
位操作类 |
标志位操作 |
CLC |
√ |
置CF=0 |
Clear Carry Flag |
CLC |
|||||||||
CMC |
√ |
使CF取反 |
Complement Carry Flag |
CMC |
|||||||||||
STC |
√ |
置CF=1 |
Set Carry Flag |
STC |
|||||||||||
CLD |
√ |
置DF=0 |
Clear Direction Flag |
CLD |
|||||||||||
STD |
√ |
置DF=1 |
Set Direction Flag |
STD |
|||||||||||
CLI* |
√ |
置IF=0 |
Clear Interrupt Flag |
CLI |
|||||||||||
STI* |
√ |
置IF=1 |
Set Interrupt Flag |
STI |
|||||||||||
CLTS* |
清空CR0中的TS标志 |
Clear Task-Switched Flag in CR0 |
CLTS |
||||||||||||
位测试 |
BT |
? |
√ |
? |
? |
? |
? |
Bit Test |
BT r/m32,imm8 |
||||||
BTC |
? |
√ |
? |
? |
? |
? |
Bit Test and Complement |
BTC r/m32,imm8 |
|||||||
BTR |
? |
√ |
? |
? |
? |
? |
Bit Test and Reset |
BTR r/m32,imm8 |
|||||||
BTS |
? |
√ |
? |
? |
? |
? |
Bit Test and Set |
BTS r/m32,imm8 |
|||||||
位扫描 |
BSF |
√ |
? |
? |
? |
? |
? |
Bit Scan Forward |
BSF r32,r/m32 |
||||||
BSR |
√ |
? |
? |
? |
? |
? |
Bit Scan Reverse |
BSR r32,r/m32 |
|||||||
程序控制类 |
无条件转移 |
JMP |
不影响标志位 |
Jump |
|||||||||||
条 件 转 移 |
寄存器测试 |
JCXZ |
Jump short if CX=0 |
||||||||||||
JECXZ |
Jump short if ECX=0 |
||||||||||||||
标志位测试 |
JZ/JNZ |
1/0 |
指出测试的标志位,下同 |
Jump short if zero |
|||||||||||
JE/JNE |
1/0 |
Jump short if equal |
|||||||||||||
JC/JNC |
1/0 |
Jump short if carry |
|||||||||||||
JS/JNS |
1/0 |
Jump short if sign |
|||||||||||||
JO/JNO |
1/0 |
Jump short if overflow |
|||||||||||||
JP/JNP |
1/0 |
Jump short if parity |
|||||||||||||
JPE/JPO |
1/0 |
Jump short if parity even/odd |
|||||||||||||
无符号数比较 |
JA/JNBE |
0& |
&0 |
ZF=0 AND CF=0 |
Jump short if above |
||||||||||
JNA/JBE |
1| |
|1 |
ZF=1 OR CF=1 |
Jump short if below or equal |
|||||||||||
JB/JNAE |
0& |
&1 |
ZF=0 AND CF=1 |
Jump short if below |
|||||||||||
JNB/JAE |
1| |
|0 |
ZF=1 OR CF=0 |
Jump short if above or equal |
|||||||||||
有符号数比较 |
JG/JNLE |
0& |
&= |
= |
ZF=0 AND SF=OF |
Jump short if greater |
|||||||||
JNG/JLE |
1| |
|< |
> |
ZF=1 OR SF<>OF |
Jump short if less or equal |
||||||||||
JL/JNGE |
< |
> |
SF<>OF |
Jump short if less |
|||||||||||
JNL/JGE |
= |
= |
SF=OF |
Jump short if greater or equal |
|||||||||||
循环控制 |
LOOP |
不影响标志位 |
Jump short if ECX=0 |
LOOP rel8 |
|||||||||||
LOOPZ |
Jump short if ECX=0 and ZF=1 |
LOOPZ rel8 |
|||||||||||||
LOOPNZ |
Jump short if ECX=0 and ZF=0 |
LOOPNZ rel8 |
|||||||||||||
LOOPE |
Jump short if ECX=0 and ZF=1 |
LOOPE rel8 |
|||||||||||||
LOOPNE |
Jump short if ECX=0 and ZF=0 |
LOOPNE rel8 |
|||||||||||||
中断与返回 |
INT |
根据不同情况影响标志位 |
Call to Interrupt Procedure |
INT imm8 |
|||||||||||
INT1 |
Call to Interrupt Procedure |
INT1 |
|||||||||||||
INT3 |
Call to Interrupt Procedure |
INT3 |
|||||||||||||
INTO |
Call to Interrupt Procedure |
INTO |
|||||||||||||
IRET |
影响所有标志位 |
标志位到恢复中断以前的状态 |
Interrupt Return |
IRET |
|||||||||||
IRETW |
Interrupt Return Word |
IRETW |
|||||||||||||
IRETD |
Interrupt Return Doubleword |
IRETD |
|||||||||||||
系统调用与返回 |
SYSENTER |
不影响标志位 |
System Enter |
SYSENTER |
|||||||||||
SYSLEAVE |
System Leave |
SYSLEAVE |
|||||||||||||
函数调用与返回 |
CALL |
如果发生任务切换则影响所有 |
Call Procedure |
CALL m16:32 |
|||||||||||
RET |
Return from Procedure |
RET imm16 |
|||||||||||||
RETN |
Return from Procedure to Near |
RETN imm16 |
|||||||||||||
RETF |
Return from Procedure to Far |
RETF imm16 |
|||||||||||||
CPU控制类 |
空操作 |
NOP |
不影响标志位 |
No Operation |
NOP |
||||||||||
暂停 |
HLT* |
Stop instruction execution and Halt |
HLT |
||||||||||||
等待协处理器 |
WAIT |
Check pending unmasked floating-point exceptions |
WAIT |
||||||||||||
交权给协处理器 |
ESC |
Escape |
ESC EXTOPRD,OPRD |
||||||||||||
总线锁定前缀 |
LOCK |
Assert LOCK# Signal Prefix |
LOCK |
||||||||||||
清除内部缓存 |
INVD* |
Invalidate Internal Caches |
INVD |
||||||||||||
刷新内部缓存 |
WBINVD* |
Write Back and Invalidate Cache |
WBINVD |
||||||||||||
清除旁路翻译缓存 |
INVLPG* |
Invalidate TLB Entry |
INVLPG m |
||||||||||||
脱离系统管理模式 |
RSM |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
Resume from System Management Mode |
RSM |
|||
杂项 |
段寄存器读检测 |
VERR |
√ |
Verify a Segment for Reading |
VERR r/m16 |
||||||||||
段寄存器写检测 |
VERW |
√ |
Verify a Segment for Writing |
VERW r/m16 |
|||||||||||
高级语言辅助 |
ENTER |
不影响标志位 |
Make Stack Frame for Procedure Parameters |
ENTER imm16,imm8 |
|||||||||||
LEAVE |
High Level Procedure Exit |
LEAVE |
|||||||||||||
检验并调整RPL |
ARPL |
Adjust RPL Field of Segment Selector |
ARPL r/m16,r16 |
||||||||||||
数组边界检查 |
BOUND |
Check Array Index Against Bounds |
BOUND r32,m32&32 |
||||||||||||
识别CPU |
CPUID |
CPU Identification |
CPUID |
||||||||||||
读取时间戳 |
RDTSC(*) |
Read Time-Stamp Counter |
RDTSC |
||||||||||||
未定义 |
UD2 |
Undefined Instruction |
UD2 |
协处理器类 |
传送 |
|||||
加法 |
||||||
减法 |
||||||
乘法 |
||||||
除法 |
||||||
等待 |
FWAIT |
|||||
浮点
F2XM1 FABS FADD FADDP FBLD FBSTP FCHS FCLEX FCOM FCOMP FCOMPP
FCOS FDECSTP FDISI FDIV FDIVP FDIVR FDIVRP FENI FFREE FIADD
FICOM FICOMP FIDIV FIDIVR FILD FIMUL FINCSTP FINIT FIST FISTP
FISUB FISUBR FLD FLD1 FLDL2E FLDL2T FLDCW FLDENV FLDLG2 FLDLN2
FLDPI FLDZ FMUL FMULP FNCLEX FNDISI FNENI FNINIT FNOP FNSAVE
FNSTCW FNSTENV FNSTSW FPATAN FPREM FPREM1 FPTAN FRNDINT FRSTOR
FSAVE FSCALE FSETPM FSIN FSINCOS FSQRT FST FSTCW FSTENV FSTP
FSTSW FSUB FSUBP FSUBR FSUBRP FTST FUCOM FUCOMP FUCOMPP FWAIT
FXAM FXCH FXTRACT FYL2X FYL2XP1
CF(Carry Flag):进位标志。当指令执行的结果(8位或16位)在最高位上产生了一个进位或借位时,CF =1。
AF(Auxiliary Carry Flag):辅助进位标志。当一个8位数(或16位数)的低四位向高四位(即b3向b4)有进位或借位时,AF=1。常用于十进制算术运算指令。
OF(Overflow Flag): 溢出标志。在算术运算中,带符号数的运算结果超出了8位或16位符号数所能表示的范围时,OF=1。
ZF(Zero Flag): 零标志。当运算结果为全零时,ZF=1。
SF(Sign Flag): 符号标志。当运算结果为正数,即结果的最高位为0时,SF=1。
PF(Parity Flag):奇偶标志。当算术逻辑运算的结果中1的个数为偶数时,PF=1,为奇数时,PF=0。
DF(Direction Flag):方向标志。用于控制数据串操作指令的步进方向,当DF=1时,表示从高地址向低地址以递减的顺序对数据串中的数据进行处理。
IF(Interrupt-enable Flag):中断允许标志。当IF=1时,CPU可以响应外部可屏蔽中断请求。该标志可以用指令设置为1或0。
TF(Trap Flag):陷阱标志。当TF=1时,CPU进入单步工作方式,每执行完一条指令就自动产生一个内部中断,以便进行程序调试。当TF=0时,正常执行程序。
win32 指令大全的更多相关文章
- Linux日常使用指令大全
Linux日常使用指令大全 Java代码 www.ahlinux.com 001.日常维护常用查询命令 #top 显示系统进程 #clear 清理屏幕信息 #cat /etc/redhat-r ...
- linux指令大全(完整篇)(转)
http://blog.chinaunix.net/uid-9681606-id-1998590.html linux指令大全(完整篇)(转) 2009-03-17 01:21:46 分类: ...
- Linux学习笔记之vim操作指令大全
0x00 关于Vim Vim是款强大的文本编辑器,但是众多指令需要学习,这次记录了指令大全方便以后翻阅. Vim的几种模式 正常模式:可以使用快捷键命令,或按:输入命令行. 插入模式:可以输入文本,在 ...
- Linux超全实用指令大全
参考 Linux超全实用指令大全
- Linux 指令大全
作为一个小前端,以前有我们的运维大神在的时候,要给服务器做什么配置的时候就找他(那时幸福到哭),如今他走了,公司也没招人(想把这个钱省下来,让我发现了,毕竟我能当小运维用,虽然很这方面很渣渣,哈哈,偷 ...
- IL指令大全(转)
名称 说明 Add 将两个值相加并将结果推送到计算堆栈上. Add.Ovf 将两个整数相加,执行溢出检查,并且将结果推送到计算堆栈上. Add.Ovf.Un 将两个无符号整数值相加,执行溢出检查,并且 ...
- angular指令大全
这篇文章的案例都是来自官方,引用的cdn来自bootcss, 因为angular的官方网站被屏了, 所以要翻, 不过我把整个文档下回来了,方便大家下载可以点击: 打开下载英文版 angular的指令 ...
- IL指令大全
IL是.NET框架中中间语言(Intermediate Language)的缩写.使用.NET框架提供的编译器可以直接将源程序编译为.exe或.dll文件,但此时编译出来的程序代码并不是CPU能直接执 ...
- Angualar:指令大全
指令: 内置渲染指令 内置事件指令 内置节点指令 自定义指令 restrict template replace属性 templateUrl属性 trnsclude priorty terminal属 ...
随机推荐
- Linux性能查看与分析--命令行工具介绍
本文介绍工作中常用的几个linux性能查看命令:top,sar,vmstat,iostat,pidstat等. 1.top top是最常用的linux性能分析工具,它能够实时的显示系统中各个进程的资源 ...
- 【Java架构学习】Model1和Model2讨论
在Java的学习中.这两个词的频率出现的非常高.那就是Model1和Model2.那么到底什么是Model1,什么是Model2呢?我们是不是又非常自然接受这两个概念.可是不知道其所以然呢?今天我们就 ...
- linux进程间通信消息队列:msgsnd: Invalid argument
今天写了个消息队列的小测试程序结果send端程序总是出现:msgsnd: Invalid argument,搞了半个小时也没搞明白,后来查资料发现我将(st_msg_buf.msg_type = 0; ...
- 【Java】Java代码经典错误清单
一.String 对照 == 和 equals.详细描写叙述例如以下 "=="操作符的作用 1)用于基本数据类型的比較,例如以下: byte(字节) 8 -128 - 127 0 ...
- 【配置关系】—Entity Framework实例详解
实体间的关系,简单来说无非就是一对一.一对多.多对多,根据方向性来说又分为双向和单向.Code First在实体关系上有以下约定: 1. 两个实体,如果一个实体包含一个引用属性,另一个实体包含一个集合 ...
- POJ 1703 Find them, Catch them(种类并查集)
题目链接 这种类型的题目以前见过,今天第一次写,具体过程,还要慢慢理解. #include <cstring> #include <cstdio> #include <s ...
- 新拿到的app跑的时候出现问题
连接器链接失败,是因为对应类build后的中间产物.o文件没有生成,对应架构下,用模拟器跑的,很可能是因为无法编译产出x86,或i386架构的中间产物,所以linker链接转换机器码时候找不到对应的中 ...
- FMDB 使用技巧
源链接: http://blog.csdn.net/iunion/article/details/7091744 - (BOOL) isTableOK:(NSString *)tableName{ ...
- eclipse安装lombok和常用注解使用
1.下载lombok.jar lombok 的官方网址:http://projectlombok.org/ 2.运行lombok.jar: java -jar D:\eclipse-luna\l ...
- [USACO2007 Demo] Cow Acrobats
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1629 [算法] 贪心 考虑两头相邻的牛 , 它们的高度值和力量值分别为ax , ay ...