当前位置:文档之家› 汇编语言浮点数指令集

汇编语言浮点数指令集


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
;///
;////////////////////////////////////////////////////////////////////////////
;助记符 操作数
功能
fcom (none)
;比较 st 和 st(1)
fcom st(num)
;比较 st 和 st(num)
fcom memory(real) ;比较 st 和存储器中的实型数
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 出栈
汇编语言浮点数指令集
;****************************************************************
****************
;*
浮点数指令集
;****************************************************************
ficom memory(integer) ;比较 st 和存储器中的整型数
ftst (none)
;比较 st 和 0.0
fcomp (none)
;比较 st 和 st(1);然后出栈
fcomp st(num)
;比较 st 和 st(num);然后出栈
fcomp memory(real) ;比较 st 和存储器中的实型数;然后出栈
;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)压人堆栈
fsubrp st(num),st ;计算 st 减 st(num)的值,用差值替换 st(num);将 st 出栈
;//////////////////////////////////////////////////////////////////////////////
;///
;///
浮点型除法指令
finit (none)
;初始化浮点型单元,并清空 8 个寄存器的内容
;////////////////////////////////////////////////////////////////////////////////
;/////
;////
浮点数数据存储指令
;////
;///////////////////////////////////////////////////////////////////////////////
;////
;///
浮点型乘法指令
;///
;//////////////////////////////////////////////////////////////////作数
功能
fmul (none)
;将 st 和 st(1)出栈;并将它们的值相乘;乘积人栈
fmul st(num),st ;将 st(num)和 st 相乘;用乘积来替换 st(num)
fiadd memory(integer) ;将 st 和存储器中的整型数相加,用和替换 st
faddp st(num),st ;将 st(num)和 st 相加,用和来替换 st(num),将 st 出栈
;//////////////////////////////////////////////////////////////////////////////
fcomp memory(integer) ;比较 st 和存储器中的整型数;然后出栈
fcompp (none)
;比较 st 和 st(1);然后两次出栈
;////////////////////////////////////////////////////////////////////////////
;助记符 操作数
功能
fst st(num)
;复制 st 的值来替换 st(num)的内容;只有 st(num)是受到影响
fstp st(num)
;复制 st 的值来替换 st(num)的内容;st 出栈
fst memory(real) ;复制 st 的值为实型数,存入存储器;堆栈不受影响
fstp memory(real) ;复制 st 的值为实型数,存入存储器;st 出栈
;互换 st 和 st(1)
fxch st(num)
;互换 st 和 st(num)
;///////////////////////////////////////////////////////////////////////////////
;////
;///
浮点型加法指令
;///
;//////////////////////////////////////////////////////////////////////////////
;助记符 操作数
功能
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
fstcw memory WORD ;复制控制字寄存器到存储器
fldcw memory WORD ;复制存储器字到控制字寄存器
****************
;////////////////////////////////////////////////////////////////////////////////
;////
;////
浮点数载入指令
;////
;///////////////////////////////////////////////////////////////////////////////
fisub memory(integer) ;计算 st 减存储器中的整型数的值;用差值替换 st
fsubp st(num),st ;计算 st(num)减 st 的值;用差值替换 st(num);将 st 出栈
fsubr (none)
;将 st 和 st(1)出栈;计算 st 减 st(1)的值;将差值入栈
功能 ;st := |st|(绝对值) ;st := -st(相反数) ;对 st 取整 ;用 st 的平方根来替换 st
;/////////////////////////////////////////////////////////////////////////////
;///
;///
浮点型比较指令
;///
;///
附加的浮点型指令
;///
;/////////////////////////////////////////////////////////////////////////////
;助记符 操作数 fabs (none) fchs (none) frndint (none) fsqrt (none)
;助记符 操作数
功能
fld memory(real) ;将存储器中的实型压人堆栈
fild memory(integer) ;将存储器的整型数值转化为浮点数并压人堆栈
fbld memory(BCD) ;将存储器的 BCD 码转化为浮点数并压人堆栈
fld st(num)
;将浮点型寄存器中的数值压入堆栈
fld1 (none)
;助记符 操作数
功能
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
fist memory(integer) ;复制 st 的值,并转换为整型数存入存储器
fistp memory(integer) ;复制 st 的值,并转换为整型数存入存储器;st 出栈
fbstp memory(BCD) ;复制 st 的值,并转换为 BCD 码存入存储器;st 出栈
fxch (none)
;///
;///
混合浮点型指令
;///
;////////////////////////////////////////////////////////////////////////////
相关主题