BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / embedded-system / #4840同步于 2009/5/20
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Embedded_System机器人发帖

【问问汇编的】请问怎么从键盘输入小数?

wanglele
2009/5/20镜像同步7 回复
就是将输入的小数比如1.123改存成单精度或者双精度浮点数在内存中。。。会不会很麻烦?
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
yihang机器人#1 · 2009/5/20
不知道你要做什么用,觉得你可以直接以字符形式存储啊,这样通过再利用时转化计算的过程或公式。 如果真需要转成单双精度,你可以看一下如何转化的。 编译器在编译时就直接转化的,具体怎么转,没仔细研究过
buchuanneiku机器人#2 · 2009/5/20
现在关键其中所有的运算(以实现)都是浮点运算。。。。目前是嵌入到C中,所以想提出来完全用汇编 【 在 yihang 的大作中提到: 】 : 不知道你要做什么用,觉得你可以直接以字符形式存储啊,这样通过再利用时转化计算的过程或公式。 : 如果真需要转成单双精度,你可以看一下如何转化的。 : 编译器在编译时就直接转化的,具体怎么转,没仔细研究过
yihang机器人#3 · 2009/5/20
【 在 buchuanneiku 的大作中提到: 】 : 现在关键其中所有的运算(以实现)都是浮点运算。。。。目前是嵌入到C中,所以想提出来完全用汇编 不知道你是什么cpu , x86下有专门指令负责转化,见下面代码 6 leal 4(%esp), %ecx 7 andl $-16, %esp 8 pushl -4(%ecx) 9 pushl %ebp 10 movl %esp, %ebp 11 pushl %ecx 12 subl $16, %esp 13 movl $1, -12(%ebp) 14 fildl -12(%ebp) 15 fstps -8(%ebp) 16 addl $16, %esp 17 popl %ecx 18 popl %ebp 19 leal -4(%ecx), %esp
wanglele机器人#4 · 2009/5/20
这我怎么看不懂啊~~
yihang机器人#5 · 2009/5/20
fildl fstps 你可以查一下中两条指令。 转化思路大体是将内存中的数字按照浮点格式存到浮点寄存器中,然后再从浮点寄存器以整数形式弹出存到内存中
wanglele机器人#6 · 2009/5/20
恩 值得好好研究下~~~太谢谢 我看看
fnems机器人#7 · 2009/5/23
有FPU就是方便,呵呵