汇编资料(二)(转)

作者在 2010-12-30 20:11:43 发布以下内容
--------------------------------------------------------------FBLD               集把80位打包BCD值加载到FPU寄存器中以及从FPU寄存获取这些值FBSTP               同上                           --------------------------------------------------------------fbld source--------------------------------------------------------------FST               用于获取FPU寄存器堆栈中顶部位置,并且把这个值放到内存位置中FSTS               同上,单精FSTL               同上,双精   ---------------------------------------------------------------------------------------------------------------------------- 指令               描述FLD1               把+1.0压入FPU堆栈中FLDL2T               把10的对数(底数2)压入FPU堆栈中FLDL2E               把e的对数(底数2)压入FPU堆栈中FLDPI               把PI值压入FPU堆栈中FLDLG2               把2的对数(底数10)压入FPU堆栈中FLDLN2               把2的对数(底数e)压入FPU堆栈中FLDZ               把+0.0压入FPU堆栈中 ---------------------------------------------------------------------------------------------------------------------------- 指令               描述MOVAPS               把4个对位的打包单精度值传送到XMM寄存器或者内存MOVUPS               把4个不对准的打包单精度值传到XMM寄传器或者内存MOVSS               把1个单精度值传送到内存或者寄存器的低双字节MOVLPS               把2个单精度值传送到内存或者寄存器的低四字节MOVHPS               把2个单精度值传送到内存或者寄存器的高四字节MOVLHPS               把2个单精度从低四字传到高四字MOVHLPS               把2个单精度值从高四字传送到低四字MOVSHDUP (SSE3)           从内存或者XMM寄存器传送128位值,复制2个和第4个32位数据元素MOVSLDUP (SSE3)           从内存或者XMM寄存器传送128位值,复制第1个和第3个32位数据元素MOVDDUP   (SSE3)           从内存或者XMM寄存器传送64位双精度浮点值,把它复制到128位XMM寄存器中 ---------------------------------------------------------------------------------------------------------------------------- 指令               转换CVTDQ2PD           打包双字整数到打包双精度FP(XMM)CVTDQ2PS           打包双字整数到打包单精度FP(XMM)CVTPD2DQ           打包双精度FP到打包双字整数(XMM)CVTPD2PI           打包双精度FP到打包双字整数(XMM)CVTPD2PS           打包双精度FP到打包单精度FP(XMM)CVTPI2PD           打包双字整数到打包双精度FP(XMM)CVTPI2PS           打包双字整数到打包单精度FP(XMM)CVTPS2DQ           打包单精度FP到打包双字速度(XMM)CVTPS2PD           打包单精度FP到打包双精度FP(XMM)CVTPS2PI           打包双精度FP到打包双字整数(XMM)CVTTPD2PI           打包双精度FP到打包双字整数(XMM,截断)CVTTPD2DQ           打包双精度FP到打包双字整数(XMM,截断)CVTTPS2DQ           打包单精度FP到打包双字整数(XMM,截断)CVTTPS2PI           打包单精度FP到打包双字整数(XMM,截 断)----------------------------------------------------------------------------------------------------------------------------ADD   (x)           用于把两个整数相加 --------------------------------------------------------------add source, destination-------------------------------------------------------------ADC   (x)           带符号或者无符号整数,               可以把值分割为多个双字数据元素并且对每个元素执行加法操作 -------------------------------------------------------------adc source, destination--------------------------------------------------------------SUB   (x)           减法的基本形式SBB   (X)           带借位减法指令--------------------------------------------------------------sub source, destination--------------------------------------------------------------MUL   (x)           无符号乘法IMUL   (x)           带符号乘法--------------------------------------------------------------mul sourceimul multiplier, source, destination--------------------------------------------------------------DIV   (x)           无符号除法IDIV   (x)           带符号除法--------------------------------------------------------------div divisoridiv divisor--------------------------------------------------------------SAL               向左算述移位SHL               向左逻辑移位SAR               移位除法 (符号操作GOOD)SHR               移位除法 (小心位清0和正负 数)---------------------------------------------------------------------------------------------------------------------------- 指令               描述ROL               向左循环移位ROR               向右循环位移RCL               向左循环移位,并且包含进位标志RCR               向右循环移位,并且包含进拉标志 ---------------------------------------------------------------------------------------------------------------------------- 指令               描述AAA               调整加法操作的结果AAS               调整减法操作的结果AAM               调整乘法作的结果AAD               准备除法操作的被除数 ----------------------------------------------------------------------------------------------------------------------------AND               位与NOT               位非OR               位或XOR               异域TEST               检查EFLAGS寄存器,在8位、16位、32位值之间执行接位逻辑AND操作,               并且相应地设置符号、零和奇偶校验标志,而且不修改目标值               --------------------------------------------------------------AND、OR、XOR 指令格式and source, destination--------------------------------------------------------------FSTSW               把状态寄存器读取到一个双字内存位置或者AX寄存器中FSTCW               控制寄存器的设置加载到双字内存位置中查看设置内容FLDCW               把双字内存值加载到控制寄存器中FILDS               把一个双字整数值加载到FPU寄存器堆栈中FISTS               获得寄存器堆栈顶部的值FIST               助记符指定了S字符FLDS/FLDL           加载内存中的单精度/双精度值FST/FSTP           用于把ST0寄存器数据传送到另一个FPU寄存器或者数据从FPU寄存器传送到内存位置FXCH               交换ST0寄存器和另一个FPU寄存器的值 ---------------------------------------------------------------------------------------------------------------------------- 指令               描述FADD/FADDS           浮点加法/32位FDIV               浮点除法FDIVR               反向浮点除法FMUL               浮点乘法FSUB               浮点减法FSUBR               反向浮点减法 ---------------------------------------------------------------------------------------------------------------------------- 指令               描述F2XMI               计算2的乘方(次数为ST0中的值)减1FABS               计算ST0中的值的绝对值FCHS               改变ST0中的值的符号FCOS               计算ST0中的值的余弦FPATAN               计算ST0中的值的部分反正切FPREM               计算ST0中的值除以ST1中的值部分余数FPREM1               计算ST0中的值除以ST1中的值的IEEE部分余数FPTAN               计算ST0中的值部分正切FRNDINT               把ST0中的值舍入到最近的整数FSCALE               把计算ST0乘以2的ST1次乘方FSIN               计算ST0中的值的正弦FSINCOS               计算ST0中的值的正弦和余弦FSQRT               计算ST0中的值的平方根FYL2X/FYL2X1           计算ST1*log ST0(以2为基数)FYL2XPI               计算ST1*log(ST0+1)(以2为基数)FSAVE               把所有FPU寄存器复制到一个108字节的内存位置               ,然后初始化FPU状态FRSTOR               恢复FPU时,所有FPU寄存器(包括数据寄存器)都被复为执行FSAVE指令时的状态 ---------------------------------------------------------------------------------------------------------------------------- 指令               描述FNCLEX               清空浮点异常标志FNSAVE               把FPU状态保存到内存中FNSTCW               保存FPU控制寄存器FNSTENV               把FPU操作环境保存到内存中FSTSW               把FPU状态寄存器保存或者保存在AX寄存器中SAHF               把AH寄存器的第0,2,4,6和7位分别传送到进位、奇偶校验、对准、零和符号标志,               不影响EFLAGS寄存器中的其它位FLDENV               把内存块的值加载回FPU环境中 ----------------------------------------------------------------------------------------------------------------------------MOVSB               传送单一字节MOVSW               传送一个字(2字节)MOVSL               传送一个双字(4字 节)----------------------------------------------------------------------------------------------------------------------------STD               用于设置DF标志CLD               将DF标志清零 ----------------------------------------------------------------------------------------------------------------------------REPE               等于时重复REPNE               不等于时重复REPNZ               不为零时重复REPZ               为零时重复 ----------------------------------------------------------------------------------------------------------------------------LODSB               把一个字节加载到AL寄存器中LODSW               把一个字(2字节)加载到AX寄存器中LODSL               把一个双字(4字节)加载到EAX寄存器中 ----------------------------------------------------------------------------------------------------------------------------STOSB               存储AL寄存器中一个字节数据STOSW               在座AX寄存器中一个字(2字节)的数据STOSL               在座EAX寄存器中一个双字(4个字节)的数据 ----------------------------------------------------------------------------------------------------------------------------FCOM               比较ST0寄存器和ST1寄存器FCOM ST(x)           比较ST0寄存器和另一个FPU 寄存器FCOM source           比较ST0寄存器和32位或者64位的内存值FCOMP               比较ST0寄存器和ST1寄存器,并且弹出堆栈FCOMP ST(x)           比较ST0寄存器和另一个FPU寄存器,并且弹出堆栈FCOMP source           比较ST0寄存器和32位或者64位的内存值,并且弹出堆栈FCOMPP               比较ST0寄存器和ST1寄存器,并且两次弹出堆栈FTST               比较ST0寄存器和值 0.0----------------------------------------------------------------------------------------------------------------------------FCOMI               比较ST0寄存器和ST(x)寄存器FCOMIP               比较ST0寄存器和ST(x)寄存器,并且弹出堆栈FUCOMI               在比较之前检查无序值FUCOMIP               在比较之前检查无序值,并且在比较之后弹出堆栈 ----------------------------------------------------------------------------------------------------------------------------FCMVB               如果ST(0)小于ST(x),则进行传送FCMOVE               如果ST(0)等于ST(x),则进行传送FCMOVBE               如果ST(0)小于或者等于ST(x),则进传送FCMOVU               如果ST(0)无序,则进行传送FCMOVNB               如果ST(0)不小于ST(x),则进行传送FCMOVNE               如果ST(0)不等于ST(x),则进行传送FCMOVNBE           如果ST(0)不小于或者等于ST(x),则进行传送FCMOVNU               如果ST(0)非无序,则进行传送 --------------------------------------------------------------fcmovxx source, destination--------------------------------------------------------------CMPSB               比较字节值CMPSW               比较字(2字节)值CMPSL               比较双字(4字节)值REP               跨越多个字节重复地进行字符串比较REPE/REPZ           扫描字符串的字符,查找不匹配搜索字符的字符REPNE/REPNZ           扫描字符串的字符,查找匹配搜索字符的字符 ----------------------------------------------------------------------------------------------------------------------------SCASB               比较内存中的一个字节和AL寄存器的值SCASW               比较内存的一个和AX寄存器的值SCAL               比较内存中的一个双字和EAX寄存器的值 ----------------------------------------------------------------------------------------------------------------------------FINIT               初始化FPUFSTP (x)           把这个双精度浮点值压入程序堆栈 --------------------------------------------------------------
汇编 | 阅读 1945 次
文章评论,共1条
aqaq110
2011-02-10 12:20
1
<img src="image/face/1.gif" class="face">
游客请输入验证码