Linux下汇编学习笔记之三--(Professional Assembly Language)

笔记之三主要介绍协处理器FPU

以前每次碰到浮点指令的时候,头就大了。可这一次就不同了,越看越简单,哇,太开心了。。。

1、FPU与标准处理器寄存器分离的一组寄存器处理浮点操作,即FPU与我们通常概念中的中央处理器是独立的。FPU包括8个80位数据寄存器和3个16位寄存器,称为控制、状态和标记寄存器。FPU的数据寄存器R0到R7构成循环堆栈。(第一次遇到循环堆栈这种数据结构)

2、状态寄存器fstat        默认值是0x0000

位0 :非法操作异常标志
位1 :非规格化操作数异常标志
位2 :除数为零异常标志
位3 :溢出异常标志
位4 :下溢异常标志
位5 :精度异常标志
位6:堆栈错误
位7:错误汇总状态
位8:条件代码位0(c0)
位9:条件代码位1(c1)
位10:条件代码位2(c2)
位11位12位13:堆栈顶部指针
位14:条件代码位3(c3)
位15:FPU繁忙标志

使用fstsw把fstat读到一个双字节内存或AX中。

3、控制寄存器 fctrl

位0 :非法操作异常掩码
位1 :非规格化操作数异常掩码
位2 :除数为零异常掩码
位3 :溢出异常掩码
位4 :下溢异常掩码
位5 :精度异常掩码
位6位7:保留
位8位9:精度控制(00单精度10双精度11扩展双精度)
位10位11:舍入控制(00最近值01向下舍入10向上舍入11向零舍入)
位12:无穷大控制
位13位14位15:保留

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值