匯編指令

X86和X87匯編指令大全(有注釋)?

---------- 一慎菲、數(shù)據(jù)傳輸指令 ----------------------------------------------------?

它們在存貯器和寄存器找前、寄存器和輸入輸出端口之間傳送數(shù)據(jù).?

1. 通用數(shù)據(jù)傳送指令.?

? ? MOV? ? 傳送字或字節(jié).?

? ? MOVSX? 先符號擴(kuò)展,再傳送.?

? ? MOVZX? 先零擴(kuò)展,再傳送.?

? ? PUSH? ? 把字壓入堆棧.?

? ? POP? ? 把字彈出堆棧.?

? ? PUSHA? 把AX,CX,DX,BX,SP,BP,SI,DI依次壓入堆棧.?

? ? POPA? ? 把DI,SI,BP,SP,BX,DX,CX,AX依次彈出堆棧.?

? ? PUSHAD? 把EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI依次壓入堆棧.?

? ? POPAD? 把EDI,ESI,EBP,ESP,EBX,EDX,ECX,EAX依次彈出堆棧.?

? ? BSWAP? 交換32位寄存器里字節(jié)的順序?

? ? XCHG? ? 交換字或字節(jié).(至少有一個操作數(shù)為寄存器,段寄存器不可作為操作數(shù))?

? ? CMPXCHG 比較并交換操作數(shù).(第二個操作數(shù)必須為累加器AL/AX/EAX)?

? ? XADD? ? 先交換再累加.(結(jié)果在第一個操作數(shù)里)?

? ? XLAT? ? 字節(jié)查表轉(zhuǎn)換.----BX指向一張256字節(jié)的表的起點,AL為表的索引值(0-255,即0-FFH);返回AL為查表結(jié)果.([BX+AL]->AL)?

2. 輸入輸出端口傳送指令.?

? ? IN? ? ? I/O端口輸入. ( 語法: IN? 累加器,? ? {端口號│DX} )?

? ? OUT? ? I/O端口輸出. ( 語法: OUT {端口號│DX},累加器 )輸入輸出端口由立即方式指定時,? ? 其范圍是 0-255; 由寄存器 DX 指定時,其范圍是? ? 0-65535.?

3. 目的地址傳送指令.?

? ? LEA? ? 裝入有效地址.例: LEA DX,string ;把偏移地址存到DX.?

? ? LDS? ? 傳送目標(biāo)指針,把指針內(nèi)容裝入DS.例: LDS SI,string? ;把段地址:偏移地址存到DS:SI.?

? ? LES? ? 傳送目標(biāo)指針,把指針內(nèi)容裝入ES.例: LES DI,string? ;把段地址:偏移地址存到ES:DI.?

? ? LFS? ? 傳送目標(biāo)指針,把指針內(nèi)容裝入FS.例: LFS DI,string? ;把段地址:偏移地址存到FS:DI.?

? ? LGS? ? 傳送目標(biāo)指針,把指針內(nèi)容裝入GS.例: LGS DI,string? ;把段地址:偏移地址存到GS:DI.?

? ? LSS? ? 傳送目標(biāo)指針,把指針內(nèi)容裝入SS.例: LSS DI,string? ;把段地址:偏移地址存到SS:DI.?

4. 標(biāo)志傳送指令.?

? ? LAHF? ? 標(biāo)志寄存器傳送,把標(biāo)志裝入AH.?

? ? SAHF? ? 標(biāo)志寄存器傳送,把AH內(nèi)容裝入標(biāo)志寄存器.?

? ? PUSHF? 標(biāo)志入棧.?

? ? POPF? ? 標(biāo)志出棧.?

? ? PUSHD? 32位標(biāo)志入棧.?

? ? POPD? ? 32位標(biāo)志出棧.?

---------- 二信粮、算術(shù)運算指令 ----------------------------------------------------?

? ? ADD? ? 加法.?

? ? ADC? ? 帶進(jìn)位加法.?

? ? INC? ? 加 1.?

? ? AAA? ? 加法的ASCII碼調(diào)整.?

? ? DAA? ? 加法的十進(jìn)制調(diào)整.?

? ? SUB? ? 減法.?

? ? SBB? ? 帶借位減法.?

? ? DEC? ? 減 1.?

? ? NEG? ? 求反(以? ? 0 減之).?

? ? CMP? ? 比較.(兩操作數(shù)作減法,僅修改標(biāo)志位,不回送結(jié)果).?

? ? AAS? ? 減法的ASCII碼調(diào)整.?

? ? DAS? ? 減法的十進(jìn)制調(diào)整.?

? ? MUL? ? 無符號乘法.結(jié)果回送AH和AL(字節(jié)運算),或DX和AX(字運算),?

? ? IMUL? ? 整數(shù)乘法.結(jié)果回送AH和AL(字節(jié)運算),或DX和AX(字運算),?

? ? AAM? ? 乘法的ASCII碼調(diào)整.?

? ? DIV? ? 無符號除法.結(jié)果回送:商回送AL,余數(shù)回送AH, (字節(jié)運算);或 商回送AX,余數(shù)回送DX, (字運算).?

? ? IDIV? ? 整數(shù)除法.結(jié)果回送:商回送AL,余數(shù)回送AH, (字節(jié)運算);或 商回送AX,余數(shù)回送DX, (字運算).?

? ? AAD? ? 除法的ASCII碼調(diào)整.?

? ? CBW? ? 字節(jié)轉(zhuǎn)換為字. (把AL中字節(jié)的符號擴(kuò)展到AH中去)?

? ? CWD? ? 字轉(zhuǎn)換為雙字. (把AX中的字的符號擴(kuò)展到DX中去)?

? ? CWDE? ? 字轉(zhuǎn)換為雙字. (把AX中的字符號擴(kuò)展到EAX中去)?

? ? CDQ? ? 雙字?jǐn)U展. (把EAX中的字的符號擴(kuò)展到EDX中去)?

---------- 三、邏輯運算指令 ----------------------------------------------------?

? ? AND? ? 與運算.?

? ? OR? ? ? 或運算.?

? ? XOR? ? 異或運算.?

? ? NOT? ? 取反.?

? ? TEST? ? 測試.(兩操作數(shù)作與運算,僅修改標(biāo)志位,不回送結(jié)果).?

? ? SHL? ? 邏輯左移.?

? ? SAL? ? 算術(shù)左移.(=SHL)?

? ? SHR? ? 邏輯右移.?

? ? SAR? ? 算術(shù)右移.(=SHR)?

? ? ROL? ? 循環(huán)左移.?

? ? ROR? ? 循環(huán)右移.?

? ? RCL? ? 通過進(jìn)位的循環(huán)左移.?

? ? RCR? ? 通過進(jìn)位的循環(huán)右移.?

? ? ? ? ? ? ? 以上八種移位指令,其移位次數(shù)可達(dá)255次.?

? ? ? ? ? ? ? 移位一次時, 可直接用操作碼. 如 SHL AX,1.?

? ? ? ? ? ? ? 移位>1次時, 則由寄存器CL給出移位次數(shù).?

? ? ? ? ? ? ? 如 MOV CL,04? SHL AX,CL?

---------- 四陷舅、串指令 ----------------------------------------------------------?

? ? ? ? ? ? ? DS:SI 源串段寄存器 :源串變址.?

? ? ? ? ? ? ? ES:DI 目標(biāo)串段寄存器:目標(biāo)串變址.?

? ? ? ? ? ? ? CX 重復(fù)次數(shù)計數(shù)器.?

? ? ? ? ? ? ? AL/AX 掃描值.?

? ? ? ? ? ? ? D標(biāo)志? 0表示重復(fù)操作中SI和DI應(yīng)自動增量; 1表示應(yīng)自動減量.?

? ? ? ? ? ? ? Z標(biāo)志? 用來控制掃描或比較操作的結(jié)束.?

? ? MOVS? ? 串傳送.( MOVSB 傳送字符. MOVSW 傳送字. MOVSD 傳送雙字. )?

? ? CMPS? ? 串比較.( CMPSB 比較字符. CMPSW 比較字. )?

? ? SCAS? ? 串掃描.把AL或AX的內(nèi)容與目標(biāo)串作比較,比較結(jié)果反映在標(biāo)志位.?

? ? LODS? ? 裝入串.把源串中的元素(字或字節(jié))逐一裝入AL或AX中.( LODSB 傳送字符. LODSW 傳送字.? ? LODSD 傳送雙字. )?

? ? STOS? ? 保存串.是LODS的逆過程.?

? ? REP? ? ? ? 當(dāng)CX/ECX<>0時重復(fù).?

? ? REPE/REPZ? 當(dāng)ZF=1或比較結(jié)果相等,且CX/ECX<>0時重復(fù).?

? ? REPNE/REPNZ 當(dāng)ZF=0或比較結(jié)果不相等,且CX/ECX<>0時重復(fù).?

? ? REPC? ? ? ? 當(dāng)CF=1且CX/ECX<>0時重復(fù).?

? ? REPNC? ? ? 當(dāng)CF=0且CX/ECX<>0時重復(fù).?

---------- 五、程序轉(zhuǎn)移指令 ----------------------------------------------------?

1. 無條件轉(zhuǎn)移指令 (長轉(zhuǎn)移)?

? ? JMP? ? ? ? 無條件轉(zhuǎn)移指令?

? ? CALL? ? ? ? 過程調(diào)用?

? ? RET/RETF? ? 過程返回.?

2. 條件轉(zhuǎn)移指令? (短轉(zhuǎn)移,-128到+127的距離內(nèi))( 當(dāng)且僅當(dāng)(SF XOR OF)=1時,OP1<OP2 )?

? ? JA/JNBE? ? 不小于或不等于時轉(zhuǎn)移.?

? ? JAE/JNB? ? 大于或等于轉(zhuǎn)移.?

? ? JB/JNAE? ? 小于轉(zhuǎn)移.?

? ? JBE/JNA? ? 小于或等于轉(zhuǎn)移.?

? ? ? ? 以上四條,測試無符號整數(shù)運算的結(jié)果(標(biāo)志C和Z).?

? ? JG/JNLE? ? 大于轉(zhuǎn)移.?

? ? JGE/JNL? ? 大于或等于轉(zhuǎn)移.?

? ? JL/JNGE? ? 小于轉(zhuǎn)移.?

? ? JLE/JNG? ? 小于或等于轉(zhuǎn)移.?

? ? ? ? 以上四條,測試帶符號整數(shù)運算的結(jié)果(標(biāo)志S,O和Z).?

? ? JE/JZ? ? ? 等于轉(zhuǎn)移.?

? ? JNE/JNZ? ? 不等于時轉(zhuǎn)移.?

? ? JC? ? ? ? ? 有進(jìn)位時轉(zhuǎn)移.?

? ? JNC? ? ? ? 無進(jìn)位時轉(zhuǎn)移.?

? ? JNO? ? ? ? 不溢出時轉(zhuǎn)移.?

? ? JNP/JPO? ? 奇偶性為奇數(shù)時轉(zhuǎn)移.?

? ? JNS? ? ? ? 符號位為 "0" 時轉(zhuǎn)移.?

? ? JO? ? ? ? ? 溢出轉(zhuǎn)移.?

? ? JP/JPE? ? ? 奇偶性為偶數(shù)時轉(zhuǎn)移.?

? ? JS? ? ? ? ? 符號位為 "1" 時轉(zhuǎn)移.?

3. 循環(huán)控制指令(短轉(zhuǎn)移)?

? ? LOOP? ? ? ? ? ? CX不為零時循環(huán).?

? ? LOOPE/LOOPZ? ? CX不為零且標(biāo)志Z=1時循環(huán).?

? ? LOOPNE/LOOPNZ? CX不為零且標(biāo)志Z=0時循環(huán).?

? ? JCXZ? ? ? ? ? ? CX為零時轉(zhuǎn)移.?

? ? JECXZ? ? ? ? ? ECX為零時轉(zhuǎn)移.?

4. 中斷指令?

? ? INT? ? ? ? 中斷指令?

? ? INTO? ? ? ? 溢出中斷?

? ? IRET? ? ? ? 中斷返回?

5. 處理器控制指令?

? ? HLT? ? ? ? 處理器暫停,? 直到出現(xiàn)中斷或復(fù)位信號才繼續(xù).?

? ? WAIT? ? ? ? 當(dāng)芯片引線TEST為高電平時使CPU進(jìn)入等待狀態(tài).?

? ? ESC? ? ? ? 轉(zhuǎn)換到外處理器.?

? ? LOCK? ? ? ? 封鎖總線.?

? ? NOP? ? ? ? 空操作.?

? ? STC? ? ? ? 置進(jìn)位標(biāo)志位.?

? ? CLC? ? ? ? 清進(jìn)位標(biāo)志位.?

? ? CMC? ? ? ? 進(jìn)位標(biāo)志取反.?

? ? STD? ? ? ? 置方向標(biāo)志位.?

? ? CLD? ? ? ? 清方向標(biāo)志位.?

? ? STI? ? ? ? 置中斷允許位.?

? ? CLI? ? ? ? 清中斷允許位.?

---------- 六拉馋、偽指令 ----------------------------------------------------------?

? ? DW? ? ? ? ? 定義字(2字節(jié)).?

? ? PROC? ? ? ? 定義過程.?

? ? ENDP? ? ? ? 過程結(jié)束.?

? ? SEGMENT? ? 定義段.?

? ? ASSUME? ? ? 建立段寄存器尋址.?

? ? ENDS? ? ? ? 段結(jié)束.?

? ? END? ? ? ? 程序結(jié)束.?

---------- 七机错、處理機(jī)控制指令:標(biāo)志處理指令 ------------------------------------?

? ? CLC? ? 進(jìn)位位置0指令?

? ? CMC? ? 進(jìn)位位求反指令?

? ? STC? ? 進(jìn)位位置為1指令?

? ? CLD? ? 方向標(biāo)志置1指令?

? ? STD? ? 方向標(biāo)志位置1指令?

? ? CLI? ? 中斷標(biāo)志置0指令?

? ? STI? ? 中斷標(biāo)志置1指令?

? ? NOP? ? 無操作?

? ? HLT? ? 停機(jī)?

? ? WAIT? ? 等待?

? ? ESC? ? 換碼?

? ? LOCK? ? 封鎖?

========== 浮點運算指令集 ======================================================?

---------- 一爬范、控制指令(帶9B的控制指令前綴F變?yōu)镕N時浮點不檢查,機(jī)器碼去掉9B)----?

FINIT? ? ? ? ? ? ? ? 初始化浮點部件? ? ? ? ? ? ? ? ? 機(jī)器碼? 9B DB E3?

FCLEX? ? ? ? ? ? ? ? 清除異常? ? ? ? ? ? ? ? ? ? ? ? 機(jī)器碼? 9B DB E2?

FDISI? ? ? ? ? ? ? ? 浮點檢查禁止中斷? ? ? ? ? ? ? ? 機(jī)器碼? 9B DB E1?

FENI? ? ? ? ? ? ? ? ? 浮點檢查禁止中斷二? ? ? ? ? ? 機(jī)器碼? 9B DB E0?

WAIT? ? ? ? ? ? ? ? ? 同步CPU和FPU? ? ? ? ? ? ? ? ? ? 機(jī)器碼? 9B?

FWAIT? ? ? ? ? ? ? ? 同步CPU和FPU? ? ? ? ? ? ? ? ? ? 機(jī)器碼? D9 D0?

FNOP? ? ? ? ? ? ? ? ? 無操作? ? ? ? ? ? ? ? ? ? ? ? ? 機(jī)器碼? DA E9?

FXCH? ? ? ? ? ? ? ? ? 交換ST(0)和ST(1)? ? ? ? ? ? ? ? 機(jī)器碼? D9 C9?

FXCH ST(i)? ? ? ? ? ? 交換ST(0)和ST(i)? ? ? ? ? ? ? ? 機(jī)器碼? D9 C1iii?

FSTSW ax? ? ? ? ? ? ? 狀態(tài)字到ax? ? ? ? ? ? ? ? ? ? ? 機(jī)器碼? 9B DF E0?

FSTSW? word ptr mem? 狀態(tài)字到mem? ? ? ? ? ? ? ? ? ? ? 機(jī)器碼? 9B DD mm111mmm?

FLDCW? word ptr mem? mem到狀態(tài)字? ? ? ? ? ? ? ? ? ? ? 機(jī)器碼? D9 mm101mmm?

FSTCW? word ptr mem? 控制字到mem? ? ? ? ? ? ? ? ? ? ? 機(jī)器碼? 9B D9 mm111mmm?

?

FLDENV? word ptr mem? mem到全環(huán)境? ? ? ? ? ? ? ? ? ? ? 機(jī)器碼? D9 mm100mmm?

FSTENV? word ptr mem? 全環(huán)境到mem? ? ? ? ? ? ? ? ? ? ? 機(jī)器碼? 9B D9 mm110mmm?

FRSTOR? word ptr mem? mem到FPU狀態(tài)? ? ? ? ? ? ? ? ? ? 機(jī)器碼? DD mm100mmm?

FSAVE? word ptr mem? FPU狀態(tài)到mem? ? ? ? ? ? ? ? ? ? 機(jī)器碼? 9B DD mm110mmm?

?

FFREE ST(i)? ? ? ? ? 標(biāo)志ST(i)未使用? ? ? ? ? ? ? ? ? 機(jī)器碼? DD C0iii?

FDECSTP? ? ? ? ? ? ? 減少棧指針1->0 2->1? ? ? ? ? ? 機(jī)器碼? D9 F6?

FINCSTP? ? ? ? ? ? ? 增加棧指針0->1 1->2? ? ? ? ? ? 機(jī)器碼? D9 F7?

FSETPM? ? ? ? ? ? ? ? 浮點設(shè)置保護(hù)? ? ? ? ? ? ? ? ? ? ? 機(jī)器碼? DB E4?

---------- 二弱匪、數(shù)據(jù)傳送指令 ----------------------------------------------------?

FLDZ? ? ? ? ? ? ? ? ? 將0.0裝入ST(0)? ? ? ? ? ? ? ? ? 機(jī)器碼? D9 EE?

FLD1? ? ? ? ? ? ? ? ? 將1.0裝入ST(0)? ? ? ? ? ? ? ? ? 機(jī)器碼? D9 E8?

FLDPI? ? ? ? ? ? ? ? 將π裝入ST(0)? ? ? ? ? ? ? ? ? ? 機(jī)器碼? D9 EB?

FLDL2T? ? ? ? ? ? ? ? 將ln10/ln2裝入ST(0)? ? ? ? ? ? 機(jī)器碼? D9 E9?

FLDL2E? ? ? ? ? ? ? ? 將1/ln2裝入ST(0)? ? ? ? ? ? ? ? 機(jī)器碼? D9 EA?

FLDLG2? ? ? ? ? ? ? ? 將ln2/ln10裝入ST(0)? ? ? ? ? ? 機(jī)器碼? D9 EC?

FLDLN2? ? ? ? ? ? ? ? 將ln2裝入ST(0)? ? ? ? ? ? ? ? ? 機(jī)器碼? D9 ED?

?

FLD? ? real4 ptr mem? 裝入mem的單精度浮點數(shù)? ? ? ? ? ? 機(jī)器碼? D9 mm000mmm?

FLD? ? real8 ptr mem? 裝入mem的雙精度浮點數(shù)? ? ? ? ? ? 機(jī)器碼? DD mm000mmm?

FLD? real10 ptr mem? 裝入mem的十字節(jié)浮點數(shù)? ? ? ? ? ? 機(jī)器碼? DB mm101mmm?

?

FILD? ? word ptr mem? 裝入mem的二字節(jié)整數(shù)? ? ? ? ? ? ? 機(jī)器碼? DF mm000mmm?

FILD? dword ptr mem? 裝入mem的四字節(jié)整數(shù)? ? ? ? ? ? ? 機(jī)器碼? DB mm000mmm?

FILD? qword ptr mem? 裝入mem的八字節(jié)整數(shù)? ? ? ? ? ? ? 機(jī)器碼? DF mm101mmm?

?

FBLD? tbyte ptr mem? 裝入mem的十字節(jié)BCD數(shù)? ? ? ? ? ? 機(jī)器碼? DF mm100mmm?

?

FST? ? real4 ptr mem? 保存單精度浮點數(shù)到mem? ? ? ? ? ? 機(jī)器碼? D9 mm010mmm?

FST? ? real8 ptr mem? 保存雙精度浮點數(shù)到mem? ? ? ? ? ? 機(jī)器碼? DD mm010mmm?

?

FIST? ? word ptr mem? 保存二字節(jié)整數(shù)到mem? ? ? ? ? ? ? 機(jī)器碼? DF mm010mmm?

FIST? dword ptr mem? 保存四字節(jié)整數(shù)到mem? ? ? ? ? ? ? 機(jī)器碼? DB mm010mmm?

?

FSTP? real4 ptr mem? 保存單精度浮點數(shù)到mem并出棧? ? ? 機(jī)器碼? D9 mm011mmm?

FSTP? real8 ptr mem? 保存雙精度浮點數(shù)到mem并出棧? ? ? 機(jī)器碼? DD mm011mmm?

FSTP? real10 ptr mem? 保存十字節(jié)浮點數(shù)到mem并出棧? ? ? 機(jī)器碼? DB mm111mmm?

?

FISTP? word ptr mem? 保存二字節(jié)整數(shù)到mem并出棧? ? ? ? ? 機(jī)器碼? DF mm011mmm?

FISTP? dword ptr mem? 保存四字節(jié)整數(shù)到mem并出棧? ? ? ? ? 機(jī)器碼? DB mm011mmm?

FISTP? qword ptr mem? 保存八字節(jié)整數(shù)到mem并出棧? ? ? ? ? 機(jī)器碼? DF mm111mmm?

?

FBSTP? tbyte ptr mem? 保存十字節(jié)BCD數(shù)到mem并出棧? ? 機(jī)器碼? DF mm110mmm?

?

FCMOVB? ? ? ? ? ? ? ? ST(0),ST(i) <時傳送? ? ? ? ? ? ? 機(jī)器碼? DA C0iii?

FCMOVBE? ? ? ? ? ? ? ST(0),ST(i) <=時傳送? ? ? ? ? ? 機(jī)器碼? DA D0iii?

FCMOVE? ? ? ? ? ? ? ? ST(0),ST(i) =時傳送? ? ? ? ? ? 機(jī)器碼? DA C1iii?

FCMOVNB? ? ? ? ? ? ? ST(0),ST(i) >=時傳送? ? ? ? ? ? 機(jī)器碼? DB C0iii?

FCMOVNBE? ? ? ? ? ? ? ST(0),ST(i) >時傳送? ? ? ? ? ? ? 機(jī)器碼? DB D0iii?

FCMOVNE? ? ? ? ? ? ? ST(0),ST(i) !=時傳送? ? ? ? ? ? 機(jī)器碼? DB C1iii?

FCMOVNU? ? ? ? ? ? ? ST(0),ST(i) 有序時傳送? ? ? ? 機(jī)器碼? DB D1iii?

FCMOVU? ? ? ? ? ? ? ? ST(0),ST(i) 無序時傳送? ? ? ? 機(jī)器碼? DA D1iii?

---------- 三、比較指令? --------------------------------------------------------?

FCOM? ? ? ? ? ? ? ? ? ST(0)-ST(1)? ? ? ? ? ? ? ? ? ? ? 機(jī)器碼? D8 D1?

FCOMI? ? ? ? ? ? ? ? ST(0),ST(i)? ST(0)-ST(1)? ? ? ? 機(jī)器碼? DB F0iii?

FCOMIP? ? ? ? ? ? ? ? ST(0),ST(i)? ST(0)-ST(1)并出棧? 機(jī)器碼? DF F0iii?

FCOM? real4 ptr mem? ST(0)-實數(shù)mem? ? ? ? ? ? ? ? ? ? ? 機(jī)器碼? D8 mm010mmm?

FCOM? real8 ptr mem? ST(0)-實數(shù)mem? ? ? ? ? ? ? ? ? ? ? 機(jī)器碼? DC mm010mmm?

?

FICOM? word ptr mem? ST(0)-整數(shù)mem? ? ? ? ? ? ? ? ? ? ? 機(jī)器碼? DE mm010mmm?

FICOM? dword ptr mem? ST(0)-整數(shù)mem? ? ? ? ? ? ? ? ? ? ? 機(jī)器碼? DA mm010mmm?

FICOMP? word ptr mem? ST(0)-整數(shù)mem并出棧? ? ? ? ? ? ? 機(jī)器碼? DE mm011mmm?

FICOMP dword ptr mem? ST(0)-整數(shù)mem并出棧? ? ? ? ? ? ? 機(jī)器碼? DA mm011mmm?

?

FTST? ? ? ? ? ? ? ? ? ST(0)-0? ? ? ? ? ? ? ? ? ? ? ? ? 機(jī)器碼? D9 E4?

FUCOM? ST(i)? ? ? ? ? ST(0)-ST(i)? ? ? ? ? ? ? ? ? ? ? 機(jī)器碼? DD E0iii?

FUCOMP ST(i)? ? ? ? ? ST(0)-ST(i)并出棧? ? ? ? ? ? ? ? ? 機(jī)器碼? DD E1iii?

FUCOMPP? ? ? ? ? ? ? ST(0)-ST(1)并二次出棧? ? ? ? ? ? 機(jī)器碼? DA E9?

FXAM? ? ? ? ? ? ? ? ? ST(0)規(guī)格類型? ? ? ? ? ? ? ? ? ? 機(jī)器碼? D9 E5?

---------- 四璧亮、運算指令? --------------------------------------------------------?

FADD? ? ? ? ? ? ? ? ? 把目的操作數(shù) (直接接在指令后的變量或堆棧緩存器) 與來源操作數(shù) (接在目的操作數(shù)后的變量或堆棧緩存器)? 相加萧诫,并將結(jié)果存入目的操作數(shù)?

FADDP? ST(i),ST? ? ? 這個指令是使目的操作數(shù)加上 ST? 緩存器,并彈出 ST 緩存器枝嘶,而目的操作數(shù)必須是堆棧緩存器的其中之一帘饶,最后不管目的操作數(shù)為何,經(jīng)彈出一次后群扶,目的操作數(shù)會變成上一個堆棧緩存器了?

FIADD? ? ? ? ? ? ? ? FIADD 是把 ST? 加上來源操作數(shù)及刻,然后再存入 ST 緩存器,來源操作數(shù)必須是字組整數(shù)或短整數(shù)形態(tài)的變數(shù)?

?

FSUB? ? ? ? ? ? ? ? ? 減?

FSUBP?

FSUBR? ? ? ? ? ? ? ? 減數(shù)與被減數(shù)互換?

FSUBRP?

FISUB?

FISUBR?

?

FMUL? ? ? ? ? ? ? ? ? 乘?

FMULP?

FIMUL?

?

FDIV? ? ? ? ? ? ? ? ? 除?

FDIVP?

FDIVR?

FDIVRP?

FIDIV?

FIDIVR?

?

FCHS? ? ? ? ? ? ? ? ? 改變 ST 的正負(fù)值?

?

FABS? ? ? ? ? ? ? ? ? 把 ST? 之值取出竞阐,取其絕對值后再存回去缴饭。?

?

FSQRT? ? ? ? ? ? ? ? 將 ST? 之值取出,開根號后再存回去骆莹。?

?

FSCALE? ? ? ? ? ? ? ? 這個指令是計算 ST*2^ST(1)之值颗搂,再把結(jié)果存入 ST 里而 ST(1)? 之值不變。ST(1)? 必須是在 -32768 到 32768 (-215 到 215 )之間的整數(shù)幕垦,如果超過這個范圍計算結(jié)果無法確定丢氢,如果不是整數(shù) ST(1)? ? 會先向零舍入成整數(shù)再計算。所以為安全起見先改,最好是由字組整數(shù)載入到 ST(1) 里疚察。?

?

FRNDINT? ? ? ? ? ? ? 這個指令是把 ST 的數(shù)值舍入成整數(shù),F(xiàn)PU? ? 提供四種舍入方式仇奶,由 FPU 的控制字組(control? ? word)中的 RC 兩個位決定?

? ? ? ? ? ? ? ? ? ? ? ? ? RC? ? 舍入控制?

? ? ? ? ? ? ? ? ? ? ? ? ? 00? ? 四舍五入?

? ? ? ? ? ? ? ? ? ? ? ? ? 01? ? 向負(fù)無限大舍入?

? ? ? ? ? ? ? ? ? ? ? ? ? 10? ? 向正無限大舍入?

? ? ? ? ? ? ? ? ? ? ? ? ? 11? ? 向零舍去?

================================================================================?

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末貌嫡,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子猜嘱,更是在濱河造成了極大的恐慌衅枫,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,692評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件朗伶,死亡現(xiàn)場離奇詭異弦撩,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)论皆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,482評論 3 392
  • 文/潘曉璐 我一進(jìn)店門益楼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來猾漫,“玉大人,你說我怎么就攤上這事感凤∶踔埽” “怎么了?”我有些...
    開封第一講書人閱讀 162,995評論 0 353
  • 文/不壞的土叔 我叫張陵陪竿,是天一觀的道長禽翼。 經(jīng)常有香客問我,道長族跛,這世上最難降的妖魔是什么闰挡? 我笑而不...
    開封第一講書人閱讀 58,223評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮礁哄,結(jié)果婚禮上长酗,老公的妹妹穿的比我還像新娘。我一直安慰自己桐绒,他們只是感情好夺脾,可當(dāng)我...
    茶點故事閱讀 67,245評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著茉继,像睡著了一般咧叭。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上馒疹,一...
    開封第一講書人閱讀 51,208評論 1 299
  • 那天佳簸,我揣著相機(jī)與錄音,去河邊找鬼颖变。 笑死生均,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的腥刹。 我是一名探鬼主播马胧,決...
    沈念sama閱讀 40,091評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼衔峰!你這毒婦竟也來了佩脊?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,929評論 0 274
  • 序言:老撾萬榮一對情侶失蹤垫卤,失蹤者是張志新(化名)和其女友劉穎威彰,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體穴肘,經(jīng)...
    沈念sama閱讀 45,346評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡歇盼,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,570評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了评抚。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片豹缀。...
    茶點故事閱讀 39,739評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡伯复,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出邢笙,到底是詐尸還是另有隱情啸如,我是刑警寧澤,帶...
    沈念sama閱讀 35,437評論 5 344
  • 正文 年R本政府宣布氮惯,位于F島的核電站叮雳,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏妇汗。R本人自食惡果不足惜债鸡,卻給世界環(huán)境...
    茶點故事閱讀 41,037評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望窖剑。 院中可真熱鬧流纹,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,677評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽瞬女。三九已至秀鞭,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間稻艰,已是汗流浹背懂牧。 一陣腳步聲響...
    開封第一講書人閱讀 32,833評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留尊勿,地道東北人僧凤。 一個月前我還...
    沈念sama閱讀 47,760評論 2 369
  • 正文 我出身青樓,卻偏偏與公主長得像元扔,于是被迫代替她去往敵國和親躯保。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,647評論 2 354

推薦閱讀更多精彩內(nèi)容