浮点数反汇编指令

;////////////////////////////////////////////////////////////////////////////////

;////                     浮点数载入指令 

;///////////////////////////////////////////////////////////////////////////////

;助记符 操作数          功能 

fld   memory(real)    ; 将存储器中的实型压人堆栈 

fild  memory(integer) ;将存储器的整型数值转化为浮点数并压人堆栈 

fbld  memory(BCD)     ;将存储器的BCD码转化为浮点数并压人堆栈 

fld    st(num)        ;将浮点型寄存器中的数值压入堆栈 

fld1  (none)          ;1.0压人堆栈 

fldz  (none)          ;0.0压人堆栈 

fldpi (none)         ;Π(pi) 压人堆栈 

fldl2e (none)         ;log2(e)压人堆栈 

fldl2t (none)         ;log2(10)压人堆栈 

fldlg2 (none)         ;log10(2)压人堆栈 

fldln2 (none)         ;loge(2)压人堆栈 

finit (none)         ; 初始化浮点型单元,并清空8个寄存器的内容 

 

;////////////////////////////////////////////////////////////////////////////////

;////                  浮点数数据存储指令 

;///////////////////////////////////////////////////////////////////////////////

;助记符 操作数          功能 

fst    st(num)         ;复制st的值来替换st(num)的内容;只有st(num)是受到影响 

fstp   st(num)         ;复制st的值来替换st(num)的内容;st出栈 

fst    memory(real)    ;复制st的值为实型数,存入存储器;堆栈不受影响 

fstp   memory(real)    ;复制st的值为实型数,存入存储器;st出栈 

fist   memory(integer) ;复制st的值,并转换为整型数存入存储器 

fistp  memory(integer) ;复制st的值,并转换为整型数存入存储器;st出栈 

fbstp  memory(BCD)     ;复制st的值,并转换为BCD码存入存储器;st出栈 

fxch   (none)          ;互换st和st(1) 

fxch   st(num)         ;互换st和st(num) 

 

;///////////////////////////////////////////////////////////////////////////////

;///                 浮点型加法指令 

;//////////////////////////////////////////////////////////////////////////////

;助记符 操作数          功能 

fadd   (none)          ; 将st和st(1)出栈;将两个值相加;并将它们的和入栈 

fadd   st(num),st      ;将st(num)和st相加;用和替换st(num) 

fadd   st,st(num)      ;将st和st(num)相加;用和替换st 

fadd   memory(real)    ; 将st和存储器中的实型数相加;用和替换st 

fiadd  memory(integer) ;将st和存储器中的整型数相加,用和替换st 

faddp  st(num),st      ;将st(num)和st相加,用和来替换st(num),将st出栈

 

;//////////////////////////////////////////////////////////////////////////////

;///                 浮点型乘法指令 

;//////////////////////////////////////////////////////////////////////////////

; 助记符 操作数          功能 

fmul     (none)         ;将st和st(1)出栈;并将它们的值相乘;乘积人栈 

fmul    st(num),st      ;将st(num)和st相乘;用乘积来替换st(num) 

fmul    st,st(num)      ;将st和st(num)相乘;用乘积来替换st 

fmul    memory(real)    ;将st和存储器中的实型数相乘;用乘积来替换st 

fimul   memory(integer) ;将st和存储器中的整型数相乘,用乘积来替换st 

fmulp   st(num),st      ;将st(num)和st相乘;乘积来替换st(num);并将st出栈

 

;助记符 操作数          功能 

fsub  (none)          ;将st和st(1)出栈,计算st(1)减st的值;将差入栈

fsub  st(num),st      ;计算st(num)减st的值;用差值替换st(num) 

fsub  st,st(num)      ;计算st减st(num)的值;用差值来替换st 

fsub  memory(real)    ;计算st减存储器中的实型数的值;用差值来替换st 

fisub memory(integer) ;计算st减存储器中的整型数的值;用差值替换st 

fsubp st(num),st     ; 计算st(num)减st的值;用差值替换st(num);将st出栈 

fsubr (none)         ;将st和st(1)出栈;计算st减st(1)的 值;将差值入栈 

fsubr st(num),st     ; 计算st减st(num)的值,用差值替换st(num) 

fsubr st,st(num)     ; 计算st(num)减st的值,用差值来替换st 

fsubr memory(real)   ; 计算存储器中的实型数值减st的值,用差值替换st 

fisubr memory(integer) ;计算存储器中的整型数值减st的值;用差值替换st 

fsubrp st(num),st     ;计算st减st(num)的值,用差值替换st(num);将st出栈 

 

;//////////////////////////////////////////////////////////////////////////////

;///                     浮点型除法指令 

;//////////////////////////////////////////////////////////////////////////////

;助记符 操作数          功能 

fdiv   (none)         ;将st和st(1)出栈;计算st(1)/st的值;并将商入栈 

fdiv   st(num),st     ;计算st(num)/st的值;用商来替换st(num) 

fdiv   st,st(num)     ;计算st/st(num)的值;用商来替换st 

fdiv   memory(real)   ;计算st/存储器中的实型数;用商来替换st 

fidiv  memory(integer);计算st/存储器中的整型数;用商来替换st 

fdivp  st(num),st     ;计算st(num)/st的值;用商来替换st(num);并将st出栈 

fdivr  (none)         ;将st和st(1)出栈;计算st/st(1)的值;并将商入栈 

fdivr  st(num),st     ;计算st/st(num)的值;用商来替换st(num) 

fdivr  st,st(num)     ;计算st(num)/st的值;用商来替换st 

fdivr  memory(real)   ;计算存储器中的实型数/st;商来替换st 

fidivr memory(integer);计算存储器中的整型数/st;用商来替换st 

fdivrp st(num),st    ;计算st/st(num)的值,用商来替换st(num);并将st出栈 


;//////////////////////////////////////////////////////////////////////////////

;///                      附 加的浮点型指令 

;/////////////////////////////////////////////////////////////////////////////

; 助记符 操作数          功能 

fabs   (none)         ;st := |st|(绝对值) 

fchs   (none)         ;st := -st(相反数) 

frndint (none)        ;对st取整 

fsqrt  (none)         ;用st的平方根来替换st 

 

;/////////////////////////////////////////////////////////////////////////////

;///                      浮点型比较指令 

;////////////////////////////////////////////////////////////////////////////

;助记符 操作数          功能 

fcom   (none)          ;比较st和st(1) 

fcom   st(num)         ;比较st和st(num) 

fcom   memory(real)    ;比较st和存储器中的实型数

ficom  memory(integer) ;比较st和存储器中的整型数 

ftst   (none)          ;比较st和0.0 

fcomp  (none)          ;比较st和st(1);然后出栈 

fcomp  st(num)         ;比较st和st(num);然后出栈 

fcomp  memory(real)    ;比较st和存储器中的实型数;然后出栈

fcomp  memory(integer) ;比较st和存储器中的整型数;然后出栈 

fcompp (none)         ;比较st和st(1);然后两次出栈 

 

;////////////////////////////////////////////////////////////////////////////

;///                   混 合浮点型指令

;////////////////////////////////////////////////////////////////////////////

;助记符 操作数          功能 

fstsw   memoryWORD     ;复制状态寄存器到存储器字 

fstsw   ax              ;复制状态寄存器到ax寄存器 

fstcw   memoryWORD     ;复制控制字寄存器到存储器 

fldcw   memoryWORD     ;复制存储器字到控制字寄存器
原文地址:https://www.cnblogs.com/IMyLife/p/4826253.html