社区
汇编语言
帖子详情
在 FPU 中如何分别取得一个64bit整数的高低32bit ?
gxqcn
2007-04-18 09:33:03
有多组值在 [0,2^31) 的整数相乘,考虑到用整型算术指令很难充分利用流水线,所以改用 FPU.
问题:在 FPU 中,通过何指令分别获得这个积的高低32bit?(无需立即转换成整型,可仍为浮点,但要“无误差”)
...全文
337
7
打赏
收藏
在 FPU 中如何分别取得一个64bit整数的高低32bit ?
有多组值在 [0,2^31) 的整数相乘,考虑到用整型算术指令很难充分利用流水线,所以改用 FPU. 问题:在 FPU 中,通过何指令分别获得这个积的高低32bit?(无需立即转换成整型,可仍为浮点,但要“无误差”)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
日立奔腾浪潮微软松下联想
2007-04-30
打赏
举报
回复
应该是:
push edx
push eax
fst qword ptr [esp]
pop eax
pop edx
gxqcn
2007-04-30
打赏
举报
回复
to mydo(侯佩|hopy|K&F):
感谢您的回复(本帖暂不结,以期获得更好的答案)!
可否关注我的另一问题,千分求汇编优化:UInt96x96To192(...) :
http://community.csdn.net/Expert/topic/5505/5505130.xml
大熊猫侯佩
2007-04-18
打赏
举报
回复
你是指分别取浮点运算结果的64bit值的高32bit和低32bit,这个指令肯定有,
查一下intel手册。
大熊猫侯佩
2007-04-18
打赏
举报
回复
手册可以到intel官方下载,如果实在找不到,我可以qq传给你。
大熊猫侯佩
2007-04-18
打赏
举报
回复
手册可以到inter官方下载,如果实在找不到,我可以qq传给你。
gxqcn
2007-04-18
打赏
举报
回复
刚查到,有类似如下方案:
push edx
push eax
fild qword ptr [esp]
pop eax
pop edx
1、不知上述代码可行否?是否通用所有带协处理器的CPU?
2、有没有更简单的方案?
3、我希望仅将高 32bit 弹出来,而原寄存器仅保留低 32bit 值,又该怎么做?
gxqcn
2007-04-18
打赏
举报
回复
谢谢回复!
如果用 mul,则 EDX:EAX 直接即为高低32bit;
用 fmul 后,却不知用何指令将它们分离。
我查了手头的一些零碎 FPU 资料,未解决。
不知“intel手册”从哪里可下载到?(最好是中文版的,上手快点)
还有,我想自学 FPU 汇编,希望大家提供相关链接,谢谢!
TMP116/TMP117全功能驱动解析
本文介绍了
一个
兼容TMP116/TMP117温度传感器的I2C驱动程序,主要特点如下: 硬件兼容性:支持TMP116/TMP117,通过宏定义可开启TMP117特有功能(如休眠模式、器件ID读取) 功能实现:包含软件复位、采样配置、转换周期设置、连续/单次转换模式、
高低
温告警阈值设置等完整功能 优化改进: 修复原I2C驱动重复初始化问题 统一返回码(0=成功) 提供浮点和纯
整数
两种温度转换方案 支持器件识别(区分TMP116/TMP117) 寄存器支持:详细列出了各寄存器地址及功能支持情况 使用示例:包含初
嵌入式C语言开发:u8、s
32
等数据类型的选择、原理与避坑指南
在C语言编程
中
,数据类型是定义变量存储格式和操作方式的基础。其核心原理在于,不同类型决定了变量在内存
中
的存储大小、表示范围以及运算规则。精确选择数据类型对于编写高效、稳定、可移植的代码具有重要技术价值,尤其在资源受限、直接操作硬件的嵌入式系统开发
中
,这直接关系到内存利用率、计算精度和系统稳定性。常见应用场景包括硬件寄存器访问、数据通信协议解析以及传感器数据处理等。本文将结合嵌入式开发实践,深入解析`uint8_t`、`int
32
_t`等明确位宽类型的符号性与位宽含义,探讨如何避免数据溢出、隐式类型转换等典型
工业数据采集实战:MODBUS RTU协议
中
IEEE 754浮点数解析与转换
在工业自动化与嵌入式系统
中
,数据采集是核心环节。为实现设备间通信,MODBUS RTU等现场总线协议被广泛应用,它们定义了数据传输的帧结构,但并未规定寄存器内数据的编码格式。这就引出了
一个
关键概念:数据格式解析。许多智能仪表为传输高精度模拟量(如流量、压力),普遍采用IEEE 754标准的
32
位单精度浮点数格式进行编码。该格式通过1位符号位、8位指数域和23位尾数域的巧妙组合,在有限的4字节空间内实现了宽广的数值范围和较高的精度,其核心原理在于“隐含前导1”和偏移指数计算。掌握其从二进制字节流到十进制数值的
DSP串口printf重定向:从标准库配置到SCI驱动实现
在嵌入式系统开发
中
,标准输入输出函数是调试与信息交互的基础工具。其原理是通过格式化处理将数据写入标准输出流,在通用计算机
中
由操作系统自动管理硬件映射。然而在资源受限的嵌入式环境如TI DSP平台,标准库的底层硬件抽象层需要开发者手动实现,这体现了嵌入式软硬件协同设计的技术价值。通过重定向标准库的底层write函数至串口外设,开发者能够在不依赖操作系统的条件下构建调试信息通道,广泛应用于工业控制、电机驱动等实时系统的开发调试场景。本文以TMS
32
0F28335为例,详细解析了在CCS6环境
中
配置标准库支持、实
【信息科学与工程学】计算机科学与自动化——第一百八十九篇 计算机硬件 系列一 微处理器01
在金融行业CDN流推送场景
中
,结合WebRTC over SD-RTN与SD-WAN Branch方案,需兼顾要求。
汇编语言
21,500
社区成员
41,618
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章