• 汇编语言浮点数算术运算指令

    下表列出了基本算术运算操作。所有算术运算指令支持的内存操作数类型与 FLD (加载)和 FST(保存)一致,因此,操作数可以是间接操作数、变址操作数和基址-变址操作数等等。

    FCHS 修改符号
    FADD 源操作数与目的操作数相加
    FSUB 从目的操作数中减去源操作数
    FSUBR 从源操作数中减去目的操作数
    FMUL 源操作数与目的操作数相乘
    FDIV 目的操作数除以源操作数
    FDIVR 源操作数除以目的操作数

    FCHS 和 FABS

    FCHS( 修改符号 ) 指令将 ST(0) 中浮点数值的符号取反。FABS ( 绝对值 ) 指令清除 ST(0) 中数值的符号,以得到它的绝对值。这两条指令都没有操作数:

    FCHS
    FABS

    FADD、FADDP、FIADD

    FADD(加法)指令格式如下,其中,m32fp 是 REAL4 内存操作数,m64fp 即是 REAL8 内存操作数,i 是寄存器编号:

    FADD
    FADD m32fp
    FADD m64fp
    FADD ST(0), ST(i)
    FADD ST(i) , ST(0)

    无操作数

    如果 FADD 没有操作数,则 ST(0)与 ST(1)相加,结果暂存在 ST(l)。然后 ST(0) 弹出堆栈,把加法结果保留在栈顶。假设堆栈已经包含了两个数值,下图展示了 FADD 的操作:

更多...

加载中...