文档详情

汇编语言奔腾指令速查手册

r****d
实名认证
店铺
DOC
417KB
约17页
文档ID:149855431
汇编语言奔腾指令速查手册_第1页
1/17

汇编语言-奔腾指令速查手册(点击:4289)  指令名称指令形式机器码标志位(设置/测试)说    明应用举例ES:ES:26 ES段跨越前缀 CS:CS:2E CS段跨越前缀 SS:SS:36 SS段跨越前缀 DS:DS:3E DS段跨越前缀 FS:FS:64 FS段跨越前缀 GS:GS:65 GS段跨越前缀 Opsize:Opsize:66 操作数类型跨越前缀 Address:Address:67 地址类型跨越前缀   点击这里:查看下表中所使用符号的说明  指令名称指令形式机器码标志位(设置/测试)说    明应用举例AAAAAA37设置 AF CF加法后的ASCII码调整ALAAAAADAADD5 0A 或 D5 ib设置 SF ZF PF除法前的ASCII码调整AXAADAAMAAMD4 0A 或 D4 ib设置 PF SF ZF乘法后的ASCII码调整AXAAMAASAAS3F设置 AF CF减法后的ASCII码调整ALAASADCADC AL, imm814 ib设置 AF CF OF SF PF ZF带进位加法ADC AL, 1FADC AX, imm1615 iwADC AX, 4F80ADC EAX, imm3215 idADC EAX, 00004F80ADC r/m8, imm880 /2 ibADC BYTE PTR [006387EA], 39ADC r/m16,imm1681 /2 iwADC WORD PTR [006387EA], 1039ADC r/m32,imm3281 /2 idADC DWORD PTR [006387EA], 00001039ADC r/m16,imm883 /2 ibADC WORD PTR [006387EA], 39ADC r/m32,imm883 /2 ibADC DWORD PTR [006387EA], 39ADC r/m8,r810 /rADC [006387EA], ALADC r/m16,r1611 /rADC [006387EA], AXADC r/m32,r3211 / rADC [006387EA], EAXADC r8,r/m812 /rADC AL, [006387EA]ADC r16,r/m1613 /rADC AX, [006387EA]ADC r32,r/m3213 /rADC EAX, [006387EA]ADDADD AL, imm804 ib设置 AF CF OF SF PF ZF加法ADD AL, 1FADD AX, imm1605 iwADD AX, 4F80ADD EAX, imm3205 idADD EAX, 00004F80ADD r/m8, imm880 /0 ibADD BYTE PTR [006387EA], 39ADD r/m16,imm1681 /0 iwADD WORD PTR [006387EA], 1039ADD r/m32,imm3281 /0 idADD DWORD PTR [006387EA], 00001039ADD r/m16,imm883 /0 ibADD WORD PTR [006387EA], 39ADD r/m32,imm883 /0 ibADD DWORD PTR [006387EA], 39ADD r/m8,r800 /rADD [006387EA], ALADD r/m16,r1601 /rADD [006387EA], AXADD r/m32,r3201 / rADD [006387EA], EAXADD r8,r/m802 /rADD AL, [006387EA]ADD r16,r/m1603 /rADD AX, [006387EA]ADD r32,r/m3203 /rADD EAX, [006387EA]ANDAND AL, imm824 ib设置 CF OF PF SF ZF逻辑与AND AL, 1FAND AX, imm1625 iwAND AX, 4F80AND EAX, imm3225 idAND EAX, 00004F80AND r/m8, imm880 /4 ibAND BYTE PTR [006387EA], 39AND r/m16,imm1681 /4 iwAND WORD PTR [006387EA], 1039AND r/m32,imm3281 /4 idAND DWORD PTR [006387EA], 00001039AND r/m16,imm883 /4 ibAND WORD PTR [006387EA], 39AND r/m32,imm883 /4 ibAND DWORD PTR [006387EA], 39AND r/m8,r820 /rAND BYTE PTR [006387EA], ALAND r/m16,r1621 /rAND WORD PTR [006387EA], AXAND r/m32,r3221 /rAND DWORD PTR [006387EA], EAXAND r8,r/m822 /rAND AL, [006387EA]AND r16,r/m1623 /rAND AX, [006387EA]AND r32,r/m3223 /rAND EAX, [006387EA]ARPLARPL r/m16,r1663 /r设置 ZF调整请求特权级 (286+ PM)ARPL AX, BX ;如果AX的RPL小于BX的RPL,则改为BX的RPL,且ZF置1,否则ZF清0BOUNDBOUND r16,m16&1662 /r不影响标志位越界检查 (80188+)BOUND AX, [006387EA] ;如果AX不在[006387EA]及[006387EA+2]的值中间,则产生异常5BOUND r32,m32&32BOUND EAX, [006387EA] ;如果EAX不在[006387EA]及[006387EA+4]的值中间,则产生异常5BSFBSF r16,r/m160F BC设置 ZF从低到高扫描目标,查找对应为1的位 (386+)BSF AX, BX ;把BX由低到高第一个1的位置送AX,如全0则ZF置1,否则ZF清0BSF r32,r/m32BSF EAX, EBX ;把EBX由低到高第一个1的位置送EAX,如全0则ZF置1,否则ZF清0BSRBSR r16,r/m160F BD设置 ZF从高到低扫描目标,查找对应为1的位 (386+)BSR AX, BX ;把BX由高到低第一个1的位置送AX,如全0则ZF置1,否则ZF清0BSR r32,r/m32BSR EAX, EBX ;把EBX由高到低第一个1的位置送EAX,如全0则ZF置1,否则ZF清0BSWAPBSWAP reg320F C8+rd不影响标志位32位寄存器高低字节交换(486+)BSWAP EAXBTBT r/m16,r160F A3设置 CF测试目标的指定位 (386+)BT AX, BX ;如果AX中BX指定的位为1,则CF置1,否则CF清0BT r/m32,r320F A3BT EAX, EBX ;如果EAX中EBX指定的位为1,则CF置1,否则CF清0BT r/m16,imm80F BA /4BT AX, 01 ;如果AX中01位为1,则CF置1,否则CF清0BT r/m32,imm80F BA /4BT EAX, 01 ;如果EAX中01位为1,则CF置1,否则CF清0BTCBTC r/m16,r160F BB设置 CF将目标指定位取反 (386+)BTC AX, BX ;将AX中BX指定的位取反,CF存放指定位并取反位BTC r/m32,r320F BBBTC EAX, EBX ;将EAX中EBX指定的位取反,CF存放指定位并取反BTC r/m16,imm80F BA /7BTC AX, 01 ;将AX中01位取反,CF存放指定位并取反BTC r/m32,imm80F BA /7BTC EAX, 01 ;将EAX中01位取反,CF存放指定位并取反BTRBTR r/m16,r160F B3设置 CF将目标指定位清0 (386+)BTR AX, BX ;将AX中BX指定的位清0,CF存放指定位并清0BTR r/m32,r320F B3BTR EAX, EBX ;将EAX中EBX指定的位清0,CF存放指定位并清0BTR r/m16,imm80F BA /6BTR AX, 01 ;将AX中01位清0,CF存放指定位并清0BTR r/m32,imm80F BA /6BTR EAX, 01 ;将EAX中01位清0,CF存放指定位并清0BTSBTS r/m16,r160F AB设置 CF将目标指定位置1 (386+)BTS AX, BX ;将AX中BX指定的位置1,CF存放指定位并置1BTS r/m32,r320F ABBTS EAX, EBX ;将EAX中EBX指定的位置1,CF存放指定位并置1BTS r/m16,imm80F BA /5BTS AX, 01 ;将AX中01位置1,CF存放指定位并置1BTS r/m32,imm80F BA /5BTS EAX, 01 ;将EAX中01位置1,CF存放指定位并置1CALLCALL rel16E8 cw不影响标志位子程序调用(16位相对寻址) CALL rel32E8 cd子程序调用(32位相对寻址) CALL r/m16FF /2子程序调用(16位间接寻址) CALL r/m32FF /2子程序调用(32位间接寻址) CALL ptr16:169A cd子程序调用(直接绝对寻址) CALL ptr16:329A cp子程序调用(直接绝对寻址) CALL m16:16FF /3子程序调用(间接绝对寻址) CALL m16:32FF /3子程序调用(间接绝对寻址) CBWCBW98不影响标志位将AL值带符号扩展到AXCBWCDQCDQ99不影响标志位将EAX值带符号扩展到EDX:EAXCDQCLDCLDFC设置 DF清除方向位(DF)标志CLDCLICLIFA设置 IF清除中断允许位(IF)标志CLDCLTSCLTS0F 06不影响标志位清除任务开关标志(TSF)CLTSCMCCMCF5设置 CF进位标志取反CMCCMOVccCMOVA r16, r/m160F 47 /r高于(CF=0 and ZF=0)条件传送指令CMOVA AX, BXCMOVA r32, r/m32CMOVA EAX, EBXCMOVAE r16, r/m160F 43 /r高于等于(CF=0)CMOVAE AX, BXCMOVAE r32, r/m32CMOVAE EAX, EBXCMOVB r16, r/m160F 42 /r低于(CF=1)CMOVB AX, BXCMOVB r32, r/m32CMOVB EAX, EBXCMOVBE r16, r/m160F 46 /r低于等于(CF=1 or ZF=1)CMOVBE AX, BXCMOVBE r32, r/m32CMOVBE EAX, EBXCMOVC r16, r/m160F 42 /r有进位(CF=1)CMOVC AX, BXCMOVC r32, r/m32CMOVC EAX, EBXCMOVE r16, r/m160F 44 /r等于(ZF=1)CMOVE AX, BXCMOVE r32, r/m32CMOVE EAX, EBXCMOVG r16, r/m160F 4F /r大于(ZF=0 and SF=OF)CMOVG AX, BXCMOVG r32, r/m32CMOVG EAX, EBXCMOVGE r16, r/m160F 4D /r大于等于(SF=OF)CMOVGE AX, BXCMOVGE r32, r/m32CMOVGE EAX, EBXCMOVL r16, r/m160F 4C /r小于(SF<>OF)CMOVL AX, BXCMOVL r32, r/m32CMOVL EAX, EBXCMOVLE r16, r/m160F 4E /r小于等于(ZF=1 or SF<>OF)CMOVLE AX, BXCMOVLE r32, r/m32CMOVLE EAX, EBXCMOVNA r16, r/m160F 46 /r不高于(CF=1 or ZF=1)CMOVNA AX, BXCMOVNA r32, r/m32CMOVNA EAX, EBXCMOVNAE r16, r/m160F 42 /r不高等于(CF=1)CMOVNAE AX, BXCMOVNAE r32, r/m32CMOVNAE EAX, EBXCMOVNB r16, r/m160F 43 /r不低于(CF=0)CMOVNB AX, BXCMOVNB r32, r/m32CMOVNB EAX, EBXCMOVNBE r16, r/m160F 47 /r不低等于(CF=0 and ZF=0)CMOVNBE AX, BXCMOVNBE r32, r/m32CMOVNBE EAX, EBXCMOVNC r16, r/m160F 43 /r无进位(CF=0)CMOVNC AX, BXCMOVNC r32, r/m32CMOVNC EAX, EBXCMOVNE r16, r/m160F 45 /r不等于(ZF=0)CMOVNE AX, BXCMOVNE r32, r/m32CMOVNE EAX, EBXCMOVNG r16, r/m160F 4E /r不大于(ZF=1 or SF<>OF)CMOVNG AX, BXCMOVNG r32, r/m32CMOVNG EAX, EBXCMOVNGE r16, r/m160F 4C /r不大等于(SF<>OF)CMOVNGE AX, BXCMOVNGE r32, r/m32CMOVNGE EAX, EBXCMOVNL r16, r/m160F 4D /r不小于(SF=OF)CMOVNL AX, BXCMOVNL r32, r/m32CMOVNL EAX, EBXCMOVNLE r16, r/m160F 4F /r不小等于(ZF=0 and SF=OF)CMOVNLE AX, BXCMOVNLE r32, r/m32CMOVNLE EAX, EBXCMOVNO r16, r/m160F 41 /r无溢出(OF=0)CMOVNO AX, BXCMOVNO r32, r/m32CMOVNO EAX, EBXCMOVNP r16, r/m160F 4B /r非偶数(PF=0)CMOVNP AX, BXCMOVNP r32, r/m32CMOVNP EAX, EBXCMOVNS r16, r/m160F 49 /r非负数(SF=0)CMOVNS AX, BXCMOVNS r32, r/m32CMOVNS EAX, EBXCMOVNZ r16, r/m160F 45 /r非零(ZF=0)CMOVNZ AX, BXCMOVNZ r32, r/m32CMOVNZ EAX, EBXCMOVO r16, r/m160F 40 /r溢出(OF=1)CMOVO AX, BXCMOVO r32, r/m32CMOVO EAX, EBXCMOVP r16, r/m160F 4A /r偶数(PF=1)CMOVP AX, BXCMOVP r32, r/m32CMOVP EAX, EBXCMOVPE r16, r/m160F 4A /r偶数(PF=1)CMOVPE AX, BXCMOVPE r32, r/m32CMOVPE EAX, EBXCMOVPO r16, r/m160F 4B /r奇数(PF=0)CMOVPO AX, BXCMOVPO r32, r/m32CMOVPO EAX, EBXCMOVS r16, r/m160F 48 /r负数(SF=1)CMOVS AX, BXCMOVS r32, r/m32CMOVS EAX, EBXCMOVZ r16, r/m160F 44 /r为零(ZF=1)CMOVZ AX, BXCMOVZ r32, r/m32CMOVZ EAX, EBXCMPCMP AL, imm83C ib设置 AF CF OF PF SF ZF比较大小,然后设置标志位CMP AL, 1FCMP AX, imm163D iwCMP AX, 4F80CMP EAX, imm323D idCMP EAX, 00004F80CMP r/m8, imm880 /7 ibCMP BYTE PTR [006387EA], 39CMP r/m16,imm1681 /7 iwCMP WORD PTR [006387EA], 1039CMP r/m32,imm3281 /7 idCMP DWORD PTR [006387EA], 00001039CMP r/m16,imm883 /7 ibCMP WORD PTR [006387EA], 39CMP r/m32,imm883 /7 ibCMP DWORD PTR [006387EA], 39CMP r/m8,r838 /rCMP BYTE PTR [006387EA], ALCMP r/m16,r1639 /rCMP WORD PTR [006387EA], AXCMP r/m32,r3239 / rCMP DWORD PTR [006387EA], EAXCMP r8,r/m83A /rCMP AL, [006387EA]CMP r16,r/m163B /rCMP AX, [006387EA]CMP r32,r/m323B /rCMP EAX, [006387EA]CMPSCMPS m8, m8A6设置 AF CF OF PF SF ZF比较字符串,每次比较1个字节CMPS STRING1, STRING2 ;源串DS:(E)SI,目的串:ES:(E)DICMPS m16, m16A7比较字符串,每次比较1个字CMPS STRING1, STRING2 ;源串DS:(E)SI,目的串:ES:(E)DICMPS m32, m32A7比较字符串,每次比较1个双字CMPS STRING1, STRING2 ;源串DS:(E)SI,目的串:ES:(E)DI (386+)CMPSBA6比较字符串,每次比较1个字节CMPSB ;源串DS:(E)SI,目的串:ES:(E)DICMPSWA7比较字符串,每次比较1个字CMPSW ;源串DS:(E)SI,目的串:ES:(E)DICMPSDA7比较字符串,每次比较1个双字CMPSD ;源串DS:(E)SI,目的串:ES:(E)DI (386+)CMPXCHGCMPXCHG r/m8,r80F B0 /r设置 AF CF OF PF SF ZF比较交换 (486+)CMPXCHG BL,CL ;如果AL与BL相等,则CL送BL且ZF置1;否则BL送CL,且ZF清0CMPXCHG r/m16,r160F B1 /rCMPXCHG BX,CX ;如果AX与BX相等,则CX送BX且ZF置1;否则BX送CX,且ZF清0CMPXCHG r/m32,r320F B1 /rCMPXCHG EBX,ECX ;如果EAX与EBX相等,则ECX送EBX且ZF置1;否则EBX送ECX,且ZF清0CMPXCHG8BCMPXCHG8B m640F C7 /1 m64设置 ZF比较交换 (486+)CMPXCHG [ESI] ;比较EDX:EAX与64位的目标,如果相等则ECX:EBX送往目标且ZF置1,否则目标送EDX:EAX且ZF清0CPUIDCPUID0F A2不影响标志位CPU标识送EAX、EBX、ECX、EDXCPUIDCWDCWD99不影响标志位将AX带符号扩展到DX:AXCWDCWDECWDE98不影响标志位将AX带符号扩展到EAXCWDEDAADAA27设置 AF CF PF SF ZF加法后的10进制调整ALDAADASDAS2F设置 AF CF PF SF ZF减法后的10进制调整ALDASDECDEC r/m8FE /1设置 AF OF PF SF ZF目标减1DEC BYTE PTR [00458A90]DEC r/m16FF /1DEC WORD PTR [00458A90]DEC r/m32FF /1DEC DWORD PTR [00458A90]DEC r1648 +rwDEC AXDEC r3248 +rdDEC EAXDIVDIV r/m8F6 /6AF CF OF PF SF ZF 未定义无符号除法DIV BL ;AX除以BL,商在AL中,余数在AH中DIV r/m16F6 /7DIV BX ;DX:AX除以BX,商在AX中,余数在DX中DIV r/m32F6 /7DIV EBX;EDX:EAX除以BX,商在EAX中,余数在EDX中EMMSEMMS0F 77不影响标志位清空MMX状态EMMSENTERENTER imm16,0C8 iw 00不影响标志位为子程序建立堆栈框架,imm16指定要分配的堆栈大小,另外一个操作数指明子程序的等级 (80188+)ENTER 12,0ENTER imm16,1C8 iw 01ENTER 12,1ENTER imm16,imm8C8 iw ibDENTER 12,4ESCESC 0D8h xxh不影响标志位处理器放弃总线ESC 0ESC 1D9h xxhESC 1ESC 2DAh xxhESC 2ESC 3DBh xxhESC 3ESC 4DCh xxhESC 4ESC 5DDh xxhESC 5ESC 6DEh xxhESC 6ESC 7DFh xxhESC 7F2XM1F2XM1D9 F0设置C1 (C0, C2, C3未定义)ST(0)←(2**ST(0) - 1)F2XM1FABSFABSD9 E1设置C1 (C0, C2, C3未定义)求绝对值:ST(0)←ABS(ST(0))FABSFADDFADD m32realD8 /0设置C1 (C0, C2, C3未定义)实数加法:ST(0)←ST(0)+m32realFADD REAL4 PTR [00459AF0]FADD m64realDC /0实数加法:ST(0)←ST(0)+m64realFADD REAL8 PTR [00459AF0]FADD ST(0), ST(i)D8 C0+i实数加法:ST(0)←ST(0)+ST(i)FADD ST(0), ST(1)FADD ST(i), ST(0)DC C0+i实数加法:ST(i)←ST(i)+ST(0)FADD ST(1), ST(0)FADDPFADDP ST(i), ST(0)DE C0+i设置C1 (C0, C2, C3未定义)先进行实数加法:ST(i)←ST(i)+ST(0),然后进行一次出栈操作FADDP ST(1), ST(0)FADDPDE C1先进行实数加法:ST(0)←ST(0)+ST(1),然后进行一次出栈操作FADDPFIADDFIADD m32intDA /0设置C1 (C0, C2, C3未定义)加整数:ST(0)←ST(0)+m32intFIADD DWORD PTR [00812CD0]FIADD m16intDE /0加整数:ST(0)←ST(0)+m16intFIADD WORD PTR [00812CD0]FBLDFBLD m80bcdDF /4设置C1 (C0, C2, C3未定义)将BCD数装入ST(0),然后压栈push ST(0) FBSTPFBSTP m80bcdDF /6设置C1 (C0, C2, C3未定义)将ST(0)以BCD数保存在m80bcd,然后出栈pop ST(0) FCHSFCHSD9 E0设置C1 (C0, C2, C3未定义)改变ST(0)的符号位,即求负数FCHSFCLEXFCLEX9B DB E2PE, UE, OE, ZE, DE, IE, ES, SF, B 清0,设置C0 (C1, C2, C3未定义)清除浮点异常标志(检查非屏蔽浮点异常)FCLEXFNCLEXFNCLEXDB E2PE, UE, OE, ZE, DE, IE, ES, SF, B 清0,设置C0 (C1, C2, C3未定义)清除浮点异常标志(不检查非屏蔽浮点异常)FNCLEXFCMOVccFCMOVB ST(0), ST(i)DA C0+i小于(CF=1),设置C1 (C0, C2, C3未定义)条件浮点传送指令FCMOVB ST(0), ST(1)FCMOVE ST(0), ST(i)DA C8+i等于(ZF=1),设置C1 (C0, C2, C3未定义)FCMOVE ST(0), ST(1)FCMOVBE ST(0), ST(i)DA D0+i小于等于(CF=1 or ZF=1),设置C1 (C0, C2, C3未定义)FCMOVBE ST(0), ST(1)FCMOVU ST(0), ST(i)DA D8+iunordered(PF=1),设置C1 (C0, C2, C3未定义)FCMOVU ST(0), ST(1)FCMOVNB ST(0), ST(i)DB C0+i不小于(CF=0),设置C1 (C0, C2, C3未定义)FCMOVNB ST(0), ST(1)FCMOVNE ST(0), ST(i)DB C8+i不等于(ZF=0),设置C1 (C0, C2, C3未定义)FCMOVNE ST(0), ST(1)FCMOVNBE ST(0), ST(i)DB D0+i不小于等于(CF=0 and ZF=0),设置C1 (C0, C2, C3未定义)FCMOVNBE ST(0), ST(1)FCMOVNU ST(0), ST(i)DB D8+inot unordered(PF=1),设置C1 (C0, C2, C3未定义)FCMOVNBE ST(0), ST(1)FCOMFCOM m32realD8 /2设置C1,C0, C2, C3实数比较:ST(0)-m32real,设置标志位FCOM REAL4 PTR [00812CD0]FCOM m64realDC /2实数比较:ST(0)-m64real,设置标志位FCOM REAL8 PTR [00812CD0]FCOM ST(i)D8 D0+i实数比较:ST(0)-ST(i),设置标志位FCOM ST(2)FCOMD8 D1实数比较:ST(0)-ST(1),设置标志位FCOMFCOMPFCOMP m32realD8 /3设置C1,C0, C2, C3实数比较:ST(0)-m32real,设置标志位,执行一次出栈操作FCOMP REAL4 PTR [00812CD0]FCOMP m64realDC /3实数比较:ST(0)-m64real,设置标志位,执行一次出栈操作FCOMP REAL8 PTR [00812CD0]FCOMP ST(i)D8 D8+i实数比较:ST(0)-ST(i),设置标志位,执行一次出栈操作FCOMP ST(2)FCOMPD8 D9实数比较:ST(0)-ST(1),设置标志位,执行一次出栈操作FCOMPFCOMIFCOMI ST, ST(i)DB F0+i设置ZF,PF,CF,C1实数比较:ST(0)-ST(i),设置标志位FCOMI ST, ST(1)FCOMIPFCOMIP ST, ST(i)DF F0+i设置ZF,PF,CF,C1实数比较:ST(0)-ST(i),设置标志位,执行一次出栈操作FCOMIP ST, ST(1)FUCOMIFUCOMI ST, ST(i)DB E8+i设置ZF,PF,CF,C1实数比较:ST(0)-ST(i),检查ordered值,设置标志位FCOMIP ST, ST(1)FUCOMIPFUCOMIP ST, ST(i)DF E8+i设置ZF,PF,CF,C1实数比较:ST(0)-ST(i),检查ordered值,设置标志位,执行一次出栈操作FUCOMIP ST, ST(1)FCOSFCOSD9 FF设置C1,C2余弦函数COS,ST(0)←cosine(ST(0))FCOSFDECSTPFDECSTPD9 F6设置C1 (C0, C2, C3未定义)将FPU的栈顶指针值减小1FDECSTPFDIVFDIV m32realD8 /6设置C1 (C0, C2, C3未定义)实数除法:ST(0)←ST(0)/m32realFDIV REAL4 PTR [00459AF0]FDIV m64realDC /6实数除法:ST(0)←ST(0)/m64realFDIV REAL8 PTR [00459AF0]FDIV ST(0), ST(i)D8 F0+i实数除法:ST(0)←ST(0)/ST(i)FDIV ST(0), ST(1)FDIV ST(i), ST(0)DC F8+i实数除法:ST(i)←ST(i)/ST(0)FDIV ST(1), ST(0)FDIVPFDIVP ST(i), ST(0)DE F8+i设置C1 (C0, C2, C3未定义)实数除法:ST(i)←ST(i)/ST(0),执行一次出栈操作FDIVP ST(1), ST(0)FDIVPDE F9实数除法:ST(1)←ST(1)/ST(0),执行一次出栈操作FDIVPFIDIVFIDIV m32intDA /6设置C1 (C0, C2, C3未定义)除以整数:ST(0)←ST(0)/m32intFIDIV DWORD PTR [00459AF0]FIDIV m16intDE /6除以整数:ST(0)←ST(0)/m16intFIDIV WORD PTR [00459AF0]FDIVRFDIVR m32realD8 /7设置C1 (C0, C2, C3未定义)实数除法:ST(0)←m32real/ST(0)FDIVR REAL4 PTR [00459AF0]FDIVR m64realDC /7实数除法:ST(0)←m64real/ST(0)FDIVR REAL8 PTR [00459AF0]FDIVR ST(0), ST(i)D8 F8+i实数除法:ST(0)←ST(i)/ST(0)FDIVR ST(0), ST(1)FDIVR ST(i), ST(0)DC F0+i实数除法:ST(i)←ST(0)/ST(i)FDIVR ST(1), ST(0)FDIVRPFDIVRP ST(i), ST(0)DE F0+i设置C1 (C0, C2, C3未定义)实数除法:ST(i)←ST(0)/ST(i),执行一次出栈操作FDIVRP ST(1), ST(0)FDIVRPDE F1实数除法:ST(1)←ST(0)/ST(1),执行一次出栈操作FDIVRPFIDIVRFIDIVR m32intDA /7设置C1 (C0, C2, C3未定义)被整数除:ST(0)←m32int/ST(0)FIDIVR DWORD PTR [00459AF0]FIDIVR m16intDE /7被整数除:ST(0)←m16int/ST(0)FIDIVR WORD PTR [00459AF0]FFREEFFREE ST(i)DD C0+i(C0, C1,C2, C3未定义)将与ST(i)相对应的标志位设置为空,即TAG(i)←11BFFREE ST(1)FICOMFICOM m16intDE /2设置 C1,C0, C2, C3和整数比较:ST(0)- m16int,设置标志FICOM WORD PTR [00459AF0]FICOM m32intDA /2和整数比较:ST(0)- m32int,设置标志FICOM DWORD PTR [00459AF0]FICOMPFICOMP m16intDE /3设置C1,C0, C2, C3和整数比较:ST(0)- m16int,设置标志,执行一次出栈操作FICOMP WORD PTR [00459AF0]FICOMP m32intDA /3和整数比较:ST(0)- m32int,设置标志,执行一次出栈操作FICOMP DWORD PTR [00459AF0]FILDFILD m16intDF /0设置C1 (C0, C2, C3未定义)将16位整数压栈,即装入ST(0)FILD WORD PTR [00459AF0]FILD m32intDB /0将32位整数压栈,即装入ST(0)FILD DWORD PTR [00459AF0]FILD m64intDF /5将64位整数压栈,即装入ST(0) FINCSTPFINCSTPD9 F7设置C1 (C0, C2, C3未定义)将FPU的栈顶指针值增大1FINCSTPFINITFINIT9B DB E3设置C1 (C0, C2, C3未定义)初始化FPU,检查非屏蔽浮点异常FINITFNINITFNINITDB E3设置C1 (C0, C2, C3未定义)初始化FPU,不检查非屏蔽浮点异常FNINITFISTFIST m16intDF /2设置C1 (C0, C2, C3未定义)将ST(0)以16位整数保存到m16intFIST WORD PTR [00459AF0]FIST m32intDB /2将ST(0)以32位整数保存到m32intFIST DWORD PTR [00459AF0]FISTPFISTP m16intDF /3设置C1 (C0, C2, C3未定义)将ST(0)以16位整数保存到m16int,执行一次出栈操作FISTP WORD PTR [00459AF0]FISTP m32intDB /3将ST(0)以32位整数保存到m32int,执行一次出栈操作FISTP DWORD PTR [00459AF0]FISTP m64intDF /7将ST(0)以64位整数保存到m64int,执行一次出栈操作 FLDFLD m32realD9 /0设置C1 (C0, C2, C3未定义)将32位实数压栈,即装入ST(0)FLD REAL4 PTR [00459AF0]FLD m64realDD /0将64位实数压栈,即装入ST(0)FLD REAL8 PTR [00459AF0]FLD m80realDB /5将80位实数压栈,即装入ST(0) FLD ST(i)D9 C0+i将ST(i)压栈,即装入ST(0)FLD ST(7)FLD1FLD1D9 E8设置C1 (C0, C2, C3未定义)将+1.0压栈,即装入ST(0)FLD1FLDL2TFLDL2TD9 E9设置C1 (C0, C2, C3未定义)将log2(10)压栈,即装入ST(0)FLDL2TFLDL2EFLDL2ED9 EA设置C1 (C0, C2, C3未定义)将log2(e)压栈,即装入ST(0)FLDL2EFLDPIFLDPID9 EB设置C1 (C0, C2, C3未定义)将pi压栈,即装入ST(0)FLDPIFLDLG2FLDLG2D9 EC设置C1 (C0, C2, C3未定义)将log10(2)压栈,即装入ST(0)FLDLG2FLDLN2FLDLN2D9 ED设置C1 (C0, C2, C3未定义)将loge(2)压栈,即装入ST(0)FLDLN2FLDZFLDZD9 EE设置C1 (C0, C2, C3未定义)将+0.0压栈,即装入ST(0)FLDZFLDCWFLDCW m2byteD9 /5C1, C0, C2, C3 未定义从m2byte装入FPU控制字FLDCW BYTE PTR [00459AF0]FLDENVFLDENV m14/28byteD9 /4C1, C0, C2, C3 未定义从m14/28byte装入FPU环境FLDENV BYTE PTR [00459AF0]FMULFMUL m32realD8 /1设置C1 (C0, C2, C3未定义)实数乘法:ST(0)←ST(0)*m32realFMUL REAL4 PTR [00459AF0]FMUL m64realDC /1实数乘法:ST(0)←ST(0)*m64realFMUL REAL8 PTR [00459AF0]FMUL ST(0), ST(i)D8 C8+i实数乘法:ST(0)←ST(0)*ST(i)FMUL ST(0), ST(1)FMUL ST(i), ST(0)DC C8+i实数乘法:ST(i)←ST(i)*ST(0)FMUL ST(1), ST(0)FMULPFMULP ST(i), ST(0)DE C8+i设置C1 (C0, C2, C3未定义)实数乘法:ST(i)←ST(i)*ST(0),执行一次出栈操作FMULP ST(1), ST(0)FMULPDE C9实数乘法:ST(1)←ST(1)*ST(0),执行一次出栈操作FMULPFIMULFIMUL m32intDA /1设置C1 (C0, C2, C3未定义)乘以整数:ST(0)←m32int*ST(0)FIMUL DWORD PTR [00459AF0]FIMUL m16intDE /1乘以整数:ST(0)←m16int*ST(0)FIMUL WORD PTR [00459AF0]FNOPFNOPD9 D0C1, C0, C2, C3 未定义空操作(等同于NOP)FNOPFPATANFPATAND9 F3设置C1 (C0, C2, C3未定义)反正切函数arctan,ST(1)←arctan(ST(1)/ST(0)),执行一次出栈操作FPATANFPREMFPREMD9 F8设置C1,C0, C2, C3取余数,ST(0)←ST(0) MOD ST(1)FPREMFPREM1FPREM1D9 F5设置C1,C0, C2, C3取余数(使用IEEE标准),ST(0)←ST(0) MOD ST(1)FPREM1FATANFATAND9 F2设置C1,C2 (C0, C3未定义)FATANFRNDINTFRNDINTD9 FC设置C1 (C0,C2,C3未定义)取整(四舍五入,当小数部分刚好等于0.5时:如果整数部分为偶数,则“舍”;如果整数部分为奇数,则“入”),ST(0)←Round(ST(0))FRNDINTFRSTORFRSTOR m94/108byteDD /4设置C0,C1,C2,C3从m94/108byte装入FPU状态FRSTOR BYTE PTR [00459AF0]FSAVEFSAVE m94/108byte9B DD /6设置C0,C1,C2,C3将FPU状态保存在m94/108byte中,检查非屏蔽浮点异常,然后初始化FPUFSAVE BYTE PTR [00459AF0]FNSAVEFNSAVE m94/108byte9B DD /6设置C0,C1,C2,C3将FPU状态保存在m94/108byte中,不检查非屏蔽浮点异常,然后初始化FPUFNSAVE BYTE PTR [00459AF0]FSCALEFSCALED9 FD设置C1 (C0,C2,C3 未定义)ST(0)←ST(0)* 2^ST(1)FSCALEFSINFSIND9 FE设置C1,C2 (C0,C3 未定义)正弦函数Sin,ST(0)←sine(ST(0))FSINFSINCOSFSINCOSD9 FB设置C1,C2 (C0,C3 未定义)SinCos函数: ST(0)←sine(ST(0)),PUSH cosine(ST(0))FSINCOSFSQRTFSQRTD9 FA设置C1 (C0,C2, C3 未定义)平方根函数: ST(0)←SQRT(ST(0))FSQRTFSTFST m32realD9 /2设置C1 (C0, C2, C3未定义)将ST(0)复制到m32realFST REAL4 PTR [00459AF0]FST m64realDD /2将ST(0)复制到m64realFST REAL8 PTR [00459AF0]FST ST(i)DD D0+i将ST(0)复制到ST(i)FST ST(3)FSTPFSTP m32realD9 /3设置C1 (C0, C2, C3未定义)将ST(0)复制到m32real,执行一次出栈操作FSTP REAL4 PTR [00459AF0]FSTP m64realDD /3将ST(0)复制到m64real,执行一次出栈操作FSTP REAL8 PTR [00459AF0]FSTP m80realDB /7将ST(0)复制到m80real,执行一次出栈操作 FSTP ST(i)DD D8+i将ST(0)复制到ST(i),执行一次出栈操作FSTP ST(3)FSTCWFSTCW m2byte9B D9 /7C0,C1,C2,C3 未定义将FPU控制字保存到m2byte,检查非屏蔽浮点异常FSTCW BYTE PTR [00459AF0]FNSTCWFNSTCW m2byte9B D9 /7C0,C1,C2,C3 未定义将FPU控制字保存到m2byte,不检查非屏蔽浮点异常FNSTCW BYTE PTR [00459AF0]FSTENVFSTENV m14/28byte9B D9 /6C0,C1,C2,C3 未定义将FPU环境保存到m14/28byte,检查非屏蔽浮点异常,然后屏蔽所有浮点异常FSTENV BYTE PTR [00459AF0]FNSTENVFNSTENV m14/28byteD9 /6C0,C1,C2,C3 未定义将FPU环境字保存到m14/28byte,不检查非屏蔽浮点异常,然后屏蔽所有浮点异常FNSTENV BYTE 。

下载提示
相关文档
正为您匹配相似的精品文档