汇编指令学习参考日记

‘ 标志寄存器 又称程序状态寄存器(内容是Program Status Word,PSW)存放条件码标志,控制标志和系统标志的寄存器
‘ CF 有无进借 (0=没有,1=进借) 无符号数值运算超出时进位,不足时借位,CLC=清除进借,STC=置为进借,CMC=置反进借
‘ OF 是否溢出 (0=没有,1=溢出) 有符号二进制运算,正数进位至符号位为溢出,负数符号位被借位为溢出.
‘ ZF 是否为零 (0=非零,1=为零) 数值运算后结果值是否为零
‘ SF 是否为负 (0=正数,1=负数) 有符号二进制里高位是否=1
‘ PF 是否偶目 (0=奇目,1=偶目) 无符号二进制 1的奇偶个数
‘ AF 有无进退 (0=没有,1=进退) 无符号二进制原位进退变化
‘ DF 是否逆向 (0=顺向,1=逆向) ESI,EDI传送顺向递增或逆向递减,CLD=置为顺向,STD=置为逆向
‘ TF 是否单步 (0=非单,1=单步) CPU单步中断后此位置回0值
‘ IF 中断标志 (0=忽略外部可屏蔽中断,1=处理外部可屏蔽中断),CLI=置为忽略,STI=置为处理
‘ 标志位指令 LAHF AX,标志 SAHF 标志,AX PUSHFD POPFD

‘ TEST 测试指令.测试两操作数 逻辑位与 结果是否=0值?设置 ZF(0=非零,1=为零),SF(0=正数,1=负数),PF(0=奇目,1=偶目)
‘ TEST(-1,X) Z=1(X为零,假),Z=0(X非零,真),S=1(X为负)
‘ TEST(X, X) Z=1(X为零,假),Z=0(X非零,真),S=1(X为负)
‘ TEST(1, X) Z=1(偶),Z=0(奇)
‘ TEST(0, X) Z=1(0与任何数值 位与 运算结果都等于0,假)
‘ TEST(X, Y) Z=1(无相同置1的位,结果为零,假),Z=0(有相同置1的位,结果非零,真)

‘ CMP 比较指令.比较两操作数 相减运行,设置 ZF(0=非零,1=为零),CF(0=没有,1=进借),SF(0=正数,1=负数),OF(0=没有,1=溢出),PF(0=奇目,1=偶目),AF(0=没有,1=进退)
‘ CMP(X,Y) Z=1(X=Y),Z=0(X<>Y),C=1(X<Y),C=0(X>Y),S=1(X<Y),S=0(X>Y)
‘ . X=Y[Z=1],X<>Y[Z=0] X>Y|-X>-Y[C=0 S=0 A=0] X<Y|-X<-Y[C=1 S=1 A=1] -X+Y[C=0 S=1 A=0] +X-Y[C=1 S=0 A=1] 负变正[A=1 O=1],正变负[A=0 O=1]

‘ N=NOT非,E=EQUAL等于,A=ABOVE无符号数高于,B=BELOW无符号数低于,G=GREAT有符号数大于,L=LESS有符号数小于
‘ 结果是否为零或相等时的转移指令 ZF(0=非零,1=为零)
‘ [JE] /JZ Z=1 转移 (为零,等于,假)
‘ JNE /[JNZ Z=0 转移 (非零,不等,真)

‘ 无符号结果大小相等条件转移指令 CF(0=没有,1=进借),ZF(0=非零,1=为零)
‘ [JA] /JNBE C=0&Z=0 转移 (大于)
‘ [JB] /JNAE C=1 转移 (小于)
‘ JAE /[JNB] C=0 转移 (大于,含等于,两值相同时相减不借位)
‘ [JBE] /JNA C=1|Z=1 转移 (小于,或等于,两标志可以同时=1)

‘ 有符号结果大小相等条件转移指令 SF(0=正数,1=负数),ZF(0=非零,1=为零),OF(0=未溢,1=溢出)
‘ [JG] /JNLE S=0&O=0&Z=0 转移 (高于)
‘ [JL] /JNGE S=1,O=1 转移 (低于,两标志不能同时=1)
‘ [JGE] /JNL S=1&O=1|S=0&O=0 转移 (高于,或等于,S与0必需为双1或双0值)
‘ [JLE] /JNG Z=1,S=1&O=0,S=0&O=1 转移 (低于,或等于,Z任配,S与O不能同时=1)

‘ 判断结果正负符号位时的转移指令 SF(0=正数,1=负数)
‘ JS S=1 转移 (负数)
‘ JNS S=0 转移 (正数)

‘ 有符号运算溢位到符号或向符号借位转移指令 OF(0=未溢,1=溢位或借位)
‘ JO O=1 转移 (溢位,负值+负值=变正,正值+正值=变负)
‘ JNO O=0 转移 (未溢)

‘ 无符号结果为二进制奇偶个数转移 PF(0=奇目,1=偶目)
‘ JP /[JPE] P=1 转移 (偶目)
‘ JNP /[JPO] P=0 转移 (奇目)

‘ ‘ ‘ ‘ 无符号结果是否借位的的转移指令 CF(0=没有,1=进借)…推荐使用上组JA JB JAE JBE指令
‘ ‘ ‘ ‘ JC /[JB] C=1 转移 (小于)
‘ ‘ ‘ ‘ JNC /[JNB] C=0 转移 (大于,含等于:两值相同时相减不借位)

‘ 条件转移指令并判断 ECX/CX 计数寄存器 与 ZF(0=非零,1=为零)
‘ JECXZ/JCXZ ECX=0/CX=0/假 转移 判断ECX/CX=0 则跳转. 不递减ECX/CX,也不影响标志位
‘ LOOP (ECX-1)<>0 /真 转移 递减ECX后判断ECX<>0才进行转移, 递减不影响标志位
‘ LOOPE (LOOPDE/LOOPZ) (ECX-1)<>0&Z=1 转移 递减ECX后判断ECX<>0并且Z=1转移, 递减不影响标志位
‘ LOOPNE(LOOPDNE/LOOPNZ) (ECX-1)<>0&Z=0 转移 递减ECX再判断ECX<>0并且Z=0转移, 递减不影响标志位

‘ 数据传送指令,搭配前缀 REP 可根据ECX连继传送数据, DF(0=顺向,1=逆向) CLD=置为顺向,STD=置为逆向
‘ BSWAP 操作数1 交换字节顺序
‘ MOV 操作数1,操作数2 传送指令,不影响标志位
‘ XCHG 操作数1,操作数2 交换指令,不影响标志位
‘ MOV/SX/ZX EAX,AL 零/符号 扩展传送指令
‘ LODSB/W/D AL/AX/EAX,[ESI] 单次传送,字节/短整/整数,根据DF方向增减ESI,不影响标志位.可搭配前缀 REP 连继传送
‘ STOSB/W/D [EDI],AL/AX/EAX 单次传送,字节/短整/整数,根据DF方向增减EDI,不影响标志位.可搭配前缀 REP 连继传送
‘ MOVSB/W/D [EDI], [ESI] 单次传送,字节/短整/整数 根据DF方向增减ESI,EDI,不影响标志位,搭前缀 REP 连继传送

‘ SCASB/W/D AL/AX/EAX,[EDI] 单次比较,字节/短整/整数 与CMP一样设置所有标志位,再根据DF方向增减EDI,可搭前缀 REPE/REPNE 递减ECX 连继比较
‘ CMPSB/W/D [EDI], [ESI] 单次比较,字节/短整/整数 与CMP一样设置所有标志位,再根据DF方向增减ESI,EDI,前缀 REPE/REPNE 递减ECX 连继比较
‘ 连继传送测试长度可以先 ECX=FFFFFFFF 递减后,NOT ECX 转正,再DEC ECX,得长度
‘ set[e/ne/s/ns/g/ng/l/le/a/ae/b/be] al .相等零,不等非零,负数,非负,有符号大于,有符号小于等于,有符号小于,有符号小于,有符号小于等于,无符号高于,无符号高于等于,无符号低于,无符号低于等于 ..根据标志位设置AL值.

‘ LOCK 加减乖除等运算可搭配前缀命令锁定内存达来同步 如 lock add [00401010],eax; lock add [eax],ecx

‘ 二进制位运算指令
‘ BT X,8 测试X二进N位是否为1? 设置CF(0=0,1=1)标志位.
‘ NOT eax 正负补码,如 6=-7
‘ CDQ EDX=0
‘ mul SRC 无符号乘法指令. AX=AL*SRC; DX,AX=AX*SRC; EDX,EAX=EAX*SRC
‘ imul eax, eax, 4 有符号乘法指令.EAX=EAX*4; EAX=[EAX]*4; EAX=[EAX+4]*4;
‘ div ecx 无符号除法. EAX=EAX/ECX,EDX=余数 若除数为零会产生异常
‘ idiv ecx 有符号除法. EAX=EAX/ECX,EDX=余数 若除数为零会产生异常
‘ XADD [XXXXXXXX],EAX 先交换后相加

‘ FPU 浮点指令 控制指令,N=同步等待 注意:MMX/SSE也是用FPU硬件的
‘ valid=正确,bad=错误,zero=零,empty=空 FPU标志值

‘ fnop 空操作,同NOP st(0) <-st(0)
‘ wait /fwait 等待FPU完成 可以在每条FPU指令后加入此命令进行同步
‘ finit /fninit 重置FPU寄存器 建议每个程序段都重置FPU寄存器与控制码和状态字.
‘ fclex /fnclex 清除FPU异常 清除状态码的所有异常位.异常接口用NO/N版指令,否则FPU同步容易死循环;
‘ fstcw /fnstcw 保存控制码 fstcw word ptr [eax];保存16位控制代码到内存
‘ fldcw 载入控制码 fldcw word ptr [eax];从内存载入16位控制代码.常用于四舍五入控制
‘ fstsw /fnstsw 保存状态码 fstsw ax; fstsw [eax];唯一支持寄存器AX; sahf 指令可把AX值装入CPU标志寄存器

‘ fsave /fnsave 保存FPU数据 fsave (108-byte) ptr [eax];保存FPU所有寄存器数据到内存.异常接口NO/N.其他N版
‘ frstor 载入FPU数据 frstor (108-byte) ptr [eax];
‘ fstenv /fnstenv 保存FPU环境 fstenv (28-byte) ptr [eax];控制码,状码码.异常接口NO/N.其他N版
‘ fldenv 载入FPU环境 fldenv (28-byte) ptr [eax];控制码,状码码

‘ ffree 释放寄存器 ffree st(0); ffree st(1);修改该寄存器为 空;使用此寄存器会无效异常或不确定值
‘ fdecstp 递减堆栈指针 简单递减状态字中顶域值.达到转动FPU寄存器目的,数据寄存器和特征字的内存不改变
‘ fincxtp 递增堆栈指针 简单递增状态字中顶域值.达到转动FPU寄存器目的,数据寄存器和特征字的内存不改变

‘ FPU 浮点指令 传送指令,N=同步等待 注意:当入栈出栈传送数值类型不同时会根据精度标记进行四舍五入.不建议 fst st(7),可以用 FFREE st(7);fstp st=弹出自已;
‘ FCMOVB/E/BE/U/NB/NE/NBE/NU st, st(3) 小于移动CF=1,等于ZF=1,小于等于CF=1 or ZF=1,无序PF=1,大于等于CF=0,不等ZF=0,大于CF=0 and ZF=0,有序PF=0;异常标记:堆栈错误 无效操作PF=1
‘ FLD 入栈数值 fld dword ptr [eax];fld qword ptr [esp];fld tbyte ptr [esp]; fld st(2);入栈数值到ST(0).异常标记:堆栈错误 无效操作数 反常数
‘ FST 传送小数 fst dword ptr [eax];fst qword ptr [esp];fst st(2);传送ST(0)数值到内存或其他FPU.异常标记:堆栈错误 无效操作数 反常数 精度
‘ FSTP 出栈小数 fstp dword ptr [eax];fstp qword ptr [esp];fstp tbyte ptr [esp];fstp st(2);出栈ST(0)数值.异常标记:堆栈错误 无效操作数 反常数 精度
‘ FXCH 交换数据 fxch st(2);与ST(0)进行交换FPU寄存器中的数据.异常标记:堆栈错误 无效操作
‘ FLDZ=入栈0.0; FLD1=入栈1.0; FLDPI=入栈pi; FLDL2E=入栈log2(E); FLDL2T=入栈log2(10); FLDLG2=入栈log10(2); FLDLN2=入栈loge2; 异常标记:堆栈错误 无效操作

‘ FILD 入栈整数 fild word ptr [eax];fild dword ptr [eax];fild qword ptr [eax].异常标记:堆栈错误 无效操作数
‘ FIST 传送整数 FIST word ptr [eax];FIST dword ptr [eax]; .异常标记:堆栈错误 无效操作数 精度
‘ FISTP 出栈整数 FISTP word ptr [eax];FISTP dword ptr [eax];FISTP qword ptr [eax].异常标记:堆栈错误 无效操作数 精度

‘ fbld tbyte ptr [esp] 入栈内存压缩二进制编码BCD的十进制整数.80位10字节数据.异常标记:堆栈错误 无效操作
‘ fbstp tbyte ptr [esp] 出栈内存压缩二进制编码BCD的十进制整数.80位10字节数据.异常标记:堆栈错误 无效操作 精度

‘ frndint 四舍五入到整

‘ FPU 浮点指令 比较加减乘除指令 FI=整数,P后缀=出栈,R后缀=相反,U=奇偶=C2
‘ fcom dword[eax]/qword[esp]/st(2) 数值比较 ST(0)-XXXX. 设置FST标志.
‘ ficom word [eax]/qword[eax] 整数比较 ST(0)-XXXX. 设置FST标志.
‘ ficomp word [eax]/qword[eax] 整数比较后出栈 ST(0)-XXXX.设置FST标志.
‘ ftst 零检测 st(0)-0.0 另外指令 FXAM st(0)
‘ fucom st(2) FPU 比较 ST(0)-ST(i). 设置FST标志.
‘ fucomp st(2) FPU 比较后出栈 ST(0)-ST(i). 设置FST标志.
‘ fucompp FPU 比较后出栈两次 ST(0)-ST(1).设置FST标志.
‘ fcomi st, st(1) 数值比较后直接更新到CPU标记寄存器
‘ fcomip st, st(1)
‘ 比較結果 C3=ZF=零 C0=CF=借位; JB=小于 JA=大于
‘ ST>來源運算元 0 0
‘ ST<來源運算元 0 1
‘ ST=來源運算元 1 0

‘ fadd st, st(2)/dword [esp]/qword [esp] 数值相加 ST(0)=ST(0)+XXXX
‘ faddp st(1), st 数值相加后出栈 ST(0)=ST(1)+ST(0)

‘ fsub st/st(2), st(2)/st/dword [eax]/dword [eax] 数值相减 ST(i)=ST(i)-XXXX
‘ fsubp st(1), st 数值相减后出栈 ST(0)=ST(1)-ST(0)
‘ fsubr st/st(2), st(2)/st 数值反减 ST(Y)=ST(Y)-ST(X)
‘ fsubrp st/st(2), st(2)/st 反减出栈 ST(Y)=ST(Y)-ST(X)

‘ fiadd dword [esp]/qword [esp] 整数相加 ST(0)=ST(0)+XXXX
‘ fisub dword [esp]/qword [esp] 整数相减 ST(0)=ST(0)-XXXX
‘ fisubr dword [esp]/qword [esp] 整数相减 ST(0)=XXXX-ST(0)

‘ fmul [st/st(2)],st(2)/st/dword[eax]/qword[esp] 数值相乘 ST(X)=ST(X)*ST(Y)
‘ fmulp st(2), st 相乘出栈 ST(i-1)=ST(i)*ST(0)
‘ fdiv [st/st(2)],st(2)/st/dword[eax]/qword[esp] 数值相除 ST(X)=ST(X)/ST(Y)
‘ fdivr [st/st(2)],st(2)/st/dword[eax]/qword[esp] 数值反除 ST(X)=ST(Y)/ST(X)
‘ fdivrp st(2), st 反除出栈 ST(i-1)=ST/ST(i)

‘ fimul word [esp]/dword [esp] 整数相乘 ST(0)=ST(0)*[XXXX]
‘ fidiv word [esp]/dword [esp] 整数相除 ST(0)=ST(0)/[XXXX]
‘ fidivr word [esp]/dword [esp] 整数相除 ST(0)=[XXXX]/ST(0)
‘ fprem/fprem1 取余数/IEEE标准[486] st(0) <-st(0) MOD st(1)

‘ frndint 取整(四舍五入) st(0) <- INT( st(0) ); depends on RC flag
‘ fabs 求绝对值 st(0) <- ABS( st(0) ); removes sign
‘ fchs 取反 st(0) < 0 – st(0)

‘ fsincos sincos函数 st(0) <-SIN( st(0) ),并且压入st(1) ; st(0) <- COS( st(0) )
‘ fsin 正弦函数sin st(0) <- SIN( st(0) )
‘ fpatan 反正切函数arctan st(0) <- ATAN( st(0) )
‘ fptan 正切函数tan st(0) <- TAN( st(0) )
‘ fcos 余弦函数Cos st(0) <- COS( st(0) )
‘ f2xm1 求次方减1 (2 ^ x)-1 st(0) <- (2 ^ st(0)) – 1
‘ fyl2x 计算Y * log2(X) st(0)为Y;st(1)为X;将st(0)和st(1)变为st(0) * log2( st(1) )的值
‘ fyl2xp1 计算Y * log2(X+1) st(0)为Y; st(1)为X; 将st(0)和st(1)变为st(0) * log2( st(1)+1 )的值
‘ FSQRT 平方根 st(0) <- sqrt st(0)
‘ FSCALE 2的st(0)次方 st(0) <- 2 ^ st(0)
‘ FXTRACT 提取指数 st(0) <-exponent of st(0);and gets pushed st(0) <-significand of st(0)

‘ 汇编指令速查 指令 功能
‘ AAA 调整加
‘ AAD 调整除
‘ AAM 调整乘
‘ AAS 调整减
‘ ADC 进位加
‘ ADD 加
‘ AND 与
‘ ARPL 调整优先级
‘ BOUND 检查数组
‘ BSF 位右扫描
‘ BSR 位左扫描
‘ BSWAP 交换字节
‘ BT 位测试
‘ BTC 位测试求反
‘ BTR 位测试清零
‘ BTS 位测试置一
‘ CALL 过程调用
‘ CBW 转换字节
‘ CDQ 转换双字
‘ CLC 进位清零
‘ CLD 方向清零
‘ CLI 中断清零
‘ CLTS 任务清除
‘ CMC 进位求反
‘ CMOVA 高于传送
‘ CMOVB 低于传送
‘ CMOVE 相等传送
‘ CMOVG 大于传送
‘ CMOVL 小于传送
‘ CMOVNA 不高于传送
‘ CMOVNB 不低于传送
‘ CMOVNE 不等传送
‘ CMOVNG 不大于传送
‘ CMOVNL 不小于传送
‘ CMOVNO 不溢出传送
‘ CMOVNP 非奇偶传送
‘ CMOVNS 非负传送
‘ CMOVO 溢出传送
‘ CMOVP 奇偶传送
‘ CMOVS 负号传送
‘ CMP 比较
‘ CMPSB 比较字节串
‘ CMPSD 比较双字串
‘ CMPSW 比较字串
‘ CMPXCHG 比较交换
‘ CMPXCHG486 比较交换486
‘ CMPXCHG8B 比较交换8字节
‘ CPUID CPU标识
‘ CWD 转换字
‘ CWDE 扩展字
‘ DAA 调整加十
‘ DAS 调整减十
‘ DEC 减一
‘ DIV 除
‘ ENTER 建立堆栈帧
‘ HLT 停
‘ IDIV 符号整除
‘ IMUL 符号乘法
‘ IN 端口输入
‘ INC 加一
‘ INSB 端口输入字节串
‘ INSD 端口输入双字串
‘ INSW 端口输入字串
‘ JA 高于跳转
‘ JB 低于跳转
‘ JBE 不高于跳转
‘ JCXZ 计数一六零跳转
‘ JE 相等跳转
‘ JECXZ 计数三二零跳转
‘ JG 大于跳转
‘ JL 小于跳转
‘ JMP 跳转
‘ JMPE 跳转扩展
‘ JNB 不低于跳转
‘ JNE 不等跳转
‘ JNG 不大于跳转
‘ JNL 不小于跳转
‘ JNO 不溢出跳转
‘ JNP 非奇偶跳转
‘ JNS 非负跳转
‘ JO 溢出跳转
‘ JP 奇偶跳转
‘ JS 负号跳转
‘ LAHF 加载标志低八
‘ LAR 加载访问权限
‘ LDS 加载数据段
‘ LEA 加载有效地址
‘ LEAVE 清除过程堆栈
‘ LES 加载附加段
‘ LFS 加载标志段
‘ LGDT 加载全局描述符
‘ LGS 加载全局段
‘ LIDT 加载中断描述符
‘ LMSW 加载状态字
‘ LOADALL 加载所有
‘ LOADALL286 加载所有286
‘ LOCK 锁
‘ LODSB 加载源变址字节串
‘ LODSD 加载源变址双字串
‘ LODSW 加载源变址字串
‘ LOOP 计数循环
‘ LOOPE 相等循环
‘ LOOPNE 不等循环
‘ LOOPNZ 非零循环
‘ LOOPZ 为零循环
‘ LSL 加载段界限
‘ LSS 加载堆栈段
‘ LTR 加载任务
‘ MONITOR 监视
‘ MOV 传送
‘ MOVSB 传送字节串
‘ MOVSD 传送双字串
‘ MOVSW 传送字串
‘ MOVSX 符号传送
‘ MOVZX 零传送
‘ MUL 乘
‘ MWAIT
‘ NEG 求补
‘ NOP 空
‘ NOT 非
‘ OR 或
‘ OUT 端口输出
‘ OUTSB 端口输出字节串
‘ OUTSD 端口输出双字串
‘ OUTSW 端口输出字串
‘ POP 出栈
‘ POPA 全部出栈
‘ POPF 标志出栈
‘ PUSH 压栈
‘ PUSHA 全部压栈
‘ PUSHF 标志压栈
‘ RCL 进位循环左移
‘ RCR 进位循环右移
‘ RDMSR 读专用模式
‘ RDPMC 读执行监视计数
‘ RDSHR
‘ RDTSC 读时间戳计数
‘ REP 重复
‘ REPE 相等重复
‘ REPNE 不等重复
‘ RET 过程返回
‘ RETF 远过程返回
‘ RETN 近过程返回
‘ ROL 循环左移
‘ ROR 循环右移
‘ RSM 恢复系统管理
‘ SAHF 恢复标志低八
‘ SAL 算术左移
‘ SALC
‘ SAR 算术右移
‘ SBB 借位减
‘ SCASB 扫描字节串
‘ SCASD 扫描双字串
‘ SCASW 扫描字串
‘ SETA 高于置位
‘ SETB 低于置位
‘ SETE 相等置位
‘ SETG 大于置位
‘ SETL 小于置位
‘ SETNA 不高于置位
‘ SETNB 不低于置位
‘ SETNE 不等置位
‘ SETNG 不大于置位
‘ SETNL 不小于置位
‘ SETNO 不溢出置位
‘ SETNP 非奇偶置位
‘ SETNS 非负置位
‘ SETO 溢出置位
‘ SETP 奇偶置位
‘ SETS 负号置位
‘ SGDT 保存全局描述符
‘ SHL 逻辑左移
‘ SHLD 双精度左移
‘ SHR 逻辑右移
‘ SHRD 双精度右移
‘ SIDT 保存中断描述符
‘ SLDT 保存局部描述符
‘ SMI
‘ SMINT
‘ SMINTOLD
‘ SMSW 保存状态字
‘ STC 进位设置
‘ STD 方向设置
‘ STI 中断设置
‘ STOSB 保存字节串
‘ STOSD 保存双字串
‘ STOSW 保存字串
‘ STR 保存任务
‘ SUB 减
‘ SYSCALL 系统调用
‘ SYSENTER 系统进入
‘ SYSEXIT 系统退出
‘ SYSRET 系统返回
‘ TEST 数测试
‘ UD0 未定义指令0
‘ UD1 未定义指令1
‘ UD2 未定义指令2
‘ UMOV
‘ VERW 校验写
‘ WAIT 等
‘ WBINVD 回写无效高速缓存
‘ WRMSR 写专用模式
‘ WRSHR
‘ XADD 交换加
‘ XBTS
‘ XCHG 交换
‘ XLAT 换码
‘ XOR 异或
‘ XSTORE
‘ ——————————————————————————–
‘ EMMS 媒体空MMX状态
‘ F2XM1 浮点栈顶绝对值
‘ FADD 浮点加
‘ FADDP 浮点加出栈
‘ FBLD 浮点加载十数
‘ FBSTP 浮点保存十数出栈
‘ FCHS 浮点正负求反
‘ FCLEX 浮点检查错误清除
‘ FCMOVB 浮点低于传送
‘ FCMOVBE 浮点不高于传送
‘ FCMOVE 浮点相等传送
‘ FCMOVNB 浮点不低于传送
‘ FCMOVNBE 浮点高于传送
‘ FCMOVNE 浮点不等传送
‘ FCMOVNU 浮点有序传送
‘ FCMOVU 浮点无序传送
‘ FCOM 浮点比较
‘ FCOMI 浮点比较加载标志
‘ FCOMIP 浮点比较加载标志出栈
‘ FCOMP 浮点比较出栈
‘ FCOMPP 浮点比较出栈二
‘ FCOS 浮点余弦
‘ FDECSTP 浮点栈针减一
‘ FDISI 浮点检查禁止中断
‘ FDIV 浮点除
‘ FDIVP 浮点除出栈
‘ FDIVR 浮点反除
‘ FDIVRP 浮点反除出栈
‘ FENI 浮点检查禁止中断二
‘ FFREE 浮点释放
‘ FFREEP 浮点释放出栈
‘ FIADD 浮点加整数
‘ FICOM 浮点比较整数
‘ FICOMP 浮点比较整数出栈
‘ FIDIV 浮点除整数
‘ FIDIVR 浮点反除
‘ FILD 浮点加载整数
‘ FIMUL 浮点乘整数
‘ FINCSTP 浮点栈针加一
‘ FINIT 浮点检查初始化
‘ FIST 浮点保存整数
‘ FISTP 浮点保存整数出栈
‘ FISTTP
‘ FISUB 浮点减整数
‘ FISUBR 浮点反减整数
‘ FLD 浮点加载数
‘ FLD1 浮点加载一
‘ FLDCW 浮点加载控制器
‘ FLDENV 浮点加载环境
‘ FLDL2E 浮点加载L2E
‘ FLDL2T 浮点加载L2T
‘ FLDLG2 浮点加载LG2
‘ FLDLN2 浮点加载LN2
‘ FLDPI 浮点加载PI
‘ 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 浮点无序比较
‘ FUCOMI 浮点反比加载标志
‘ FUCOMIP 浮点反比加载标志出栈
‘ FUCOMP 浮点无序比较出栈
‘ FUCOMPP 浮点无序比较出栈二
‘ FWAIT 浮点等
‘ FXAM 浮点检查
‘ FXCH 浮点交换
‘ FXTRACT 浮点分解
‘ FYL2X 浮点求L2X
‘ FYL2XP1 浮点求L2XP1
‘ MOVED 媒体双字传送
‘ MOVEQ 媒体四字传送
‘ PACKSSDW 媒体符号双字压缩
‘ PACKSSWB 媒体符号字压缩
‘ PACKUSWB 媒体无符号字压缩
‘ PADDB 媒体截断字节加
‘ PADDD 媒体截断双字加
‘ PADDSB 媒体符号饱和字节加
‘ PADDSIW
‘ PADDSW 媒体符号饱和字加
‘ PADDUSB 媒体无符号饱和字节加
‘ PADDUSW 媒体无符号饱和字加
‘ PADDW 媒体截断字加
‘ PAND 媒体与
‘ PANDN 媒体与非
‘ PAVEB
‘ PCMPEQB 媒体字节比等
‘ PCMPEQD 媒体双字比等
‘ PCMPEQW 媒体字比等
‘ PCMPGTB 媒体字节比大
‘ PCMPGTD 媒体双字比大
‘ PCMPGTW 媒体字比大
‘ PDISTIB
‘ PMACHRIW
‘ PMADDWD
‘ PMAGW
‘ PMULHRIW
‘ PMULHRWC
‘ PMULHW
‘ PMVGEZB
‘ PMVLZB
‘ PMVNZB
‘ PMVZB
‘ POR 媒体或
‘ PSLLD 媒体双字左移
‘ PSLLQ 媒体四字左移
‘ PSLLW 媒体字左移
‘ PSRAD 媒体双字算术右移
‘ PSRAW 媒体字算术右移
‘ PSRLD 媒体双字右移
‘ PSRLQ 媒体四字右移
‘ PSRLW 媒体字右移
‘ PSUBB 媒体截断字节减
‘ PSUBSB 媒体符号饱和字节减
‘ PSUBSIW
‘ PSUBSW 媒体符号饱和字减
‘ PSUBUSB 媒体无符号饱和字节减
‘ PSUBUSW 媒体无符号饱和字减
‘ PSUBW 媒体截断字减
‘ PUNPCKHBW 媒体字节高位解压
‘ PUNPCKHDQ 媒体双字高位解压
‘ PUNPCKHWD 媒体字高位解压
‘ PUNPCKLBW 媒体字节低位解压
‘ PUNPCKLDQ 媒体双字低位解压
‘ PUNPCKLWD 媒体字低位解压

(文章今日已有 1 人访问,总访问量 36 ::>_<::)
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇