您当前的位置:首页 > 计算机 > 编程开发 > 汇编

汇编语言读写浮点数值

时间:03-05来源:作者:点击数:

本教程链接库有两个浮点数输入输出过程,如下所示:

  • ReadFloat:从键盘读取一个浮点数,并将其压入浮点堆栈。
  • WriteFloat:将 ST(0) 中的浮点数以阶码形式写到控制台窗口。

ReadFloat 接收各种形式的浮点数,示例如下:

35
+35.
-3.5
.35
3.5E5
3.5E005
-3.5E+5
3.5E-4
+3.5E-4

ShowFPUStack 另一个有用的过程,能够显示 FPU 堆栈。调用该过程不需要参数:

call ShowFPUStack

【示例】下面的示例程序把两个浮点数压入 FPU 堆栈并显示,再由用户输入两个数,将它们相乘并显示乘积:

; 32位浮点数 I/O 测试      (floatTest32.asm)
INCLUDE Irvine32.inc
INCLUDE macros.inc
.data
first  REAL8 123.456
second REAL8 10.0
third  REAL8 ?
.code
main PROC
    finit                    ; 初始化 FPU
; 两个浮点数入栈,并显示 FPU 堆栈.
    fld    first
    fld    second
    call    ShowFPUStack
; 输入两个浮点数,并显示它们的乘机
    mWrite "Please enter a real number: "
    call    ReadFloat
   
    mWrite "Please enter a real number: "
    call    ReadFloat
   
    fmul    ST(0),ST(1)            ; 相乘
   
    mWrite "Their product is: "
    call    WriteFloat
    call    Crlf
    exit
main ENDP
END main

示例输入/输出(用户输入显示为粗体)如下:

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门