首页 > 汇编语言 > 浮点数处理与指令编码
阅读:2,326
汇编语言读写浮点数值
本教程链接库有两个浮点数输入输出过程,如下所示:
ReadFloat 接收各种形式的浮点数,示例如下:
- ReadFloat:从键盘读取一个浮点数,并将其压入浮点堆栈。
- WriteFloat:将 ST(0) 中的浮点数以阶码形式写到控制台窗口。
ReadFloat 接收各种形式的浮点数,示例如下:
35
+35.
-3.5
.35
3.5E5
3.5E005
-3.5E+5
3.5E-4
+3.5E-4
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
示例输入/输出(用户输入显示为粗体)如下: