Linux下汇编学习笔记之三--(Professional Assembly Language)
2006-05-12 21:00
826 查看
笔记之三主要介绍协处理器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:保留
以前每次碰到浮点指令的时候,头就大了。可这一次就不同了,越看越简单,哇,太开心了。。。
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:保留
相关文章推荐
- Linux 内核入门学习笔记(一) AT&T汇编基础
- linux下汇编学习笔记[第一天]
- Linux内核学习笔记-AT&T汇编语法
- Linux学习笔记:OSI七层模型
- 整理下最近LINUX学习笔记
- Linux____文件的压缩与打包学习笔记
- 【make工程管理器】linux下Make工程管理器简述_学习笔记_004
- 写得蛮好的linux学习笔记四-vi用法(收藏)
- linux 学习笔记
- 【拔苗计划】linux学习笔记——tcpdump命令学习
- Linux 学习笔记 - 常用命令
- Linux学习笔记六
- Linux网络设备驱动学习笔记(-)
- 【Linux学习笔记】Linux C中内联汇编的语法格式及使用方法(Inline Assembly in Linux C)
- Linux学习笔记之<hdparm命令>
- Linux第一周学习笔记(13)
- python XML_RPC 的使用 - 千月的python linux 系统管理指南学习笔记(22)
- linux学习笔记21-linux的日常管理
- Linux 学习笔记 (一)在VMware 中安装 Ubtuntu 以及 VMware tools
- 文件I/O编程学习笔记三(linux 时间编程)