上一题下一题
跳转到
 
 
  世界如此多姿,发展如此迅速,窥一斑未必还能知全豹。但正如万花筒一样,每一个管窥都色彩斑斓。  
 
 
  知识通道 | 学习首页 | 教师首页 | PK首页 | 知识创造首页 | 企业首页 | 登录
 
本文对应知识领域
控制寄存器
作者:未知 申领版权
2010年12月12日 共有 2035 次访问 【添加到收藏夹】 【我要附加题目
受欢迎度:

    控制寄存器
    控制寄存器主要用于浮点数精度选择的控制、四舍五入的控制和无穷大的控制等,其低6位还可用来决定是否屏蔽协处理器的异常。指令FLDCW可用来设置控制寄存器的值。控制寄存器中控制位的分布如图11.6所示,其控制位的含义如表11.3所列。
    
    

15
    
14
    
13
    
12
    
11
    
10
    
9
    
8
    
7
    
6
    
5
    
4
    
3
    
2
    
1
    
0
    
  
    
  
    
  
    
IC
    
RC
    
PC
    
  
    
  
    
PM
    
UM
    
OM
    
ZM
    
DM
    
IM
    

图11.6 控制寄存器的控制位分布示意图
    表11.3 控制寄存器中控制位的含义
    
    

控制位
    
控制功能说明
    
IC(无穷大控制)
    
0—投影,假定是无符号无穷;
    1—仿射,允许正、负无穷
    
RC(舍入控制)
    
00—最接近或偶数,01—舍入成负无穷,
    11—舍入成负无穷,10—截成0
    
PC(精度控制)
    
00—单精度,01—保留,11—双精度,10—扩展精度
    
PM
    
精度错误屏蔽位
    
若屏蔽位的值为1,则状态寄存器的相应位被屏蔽。
    
UM
    
下溢出屏蔽位
    
OM
    
上溢出屏蔽位
    
ZM
    
除数为0屏蔽位
    
DM
    
非规格化操作数屏蔽位
    
IM
    
非法操作屏蔽位
    

11.2.4 标记寄存器
    标记寄存器用来表明协处理器堆栈中各存储单元内容的状态,也就是说,该寄存器可表明堆栈中的数据是合法的,还是非法的,是无穷,还是0或空等。该标记寄存器的结构如图11.7所示。
    
    

15
    
13
    
11
    
9
    
7
    
5
    
3
    
1  0
    
TAG(7)
    
TAG(6)
    
TAG(5)
    
TAG(4)
    
TAG(3)
    
TAG(2)
    
TAG(1)
    
TAG(0)
    

图11.7 标记寄存器结构示意图
    其中:TAG(i)的取值含义:00—合法,01—0,10—非法或无穷,11—空
    在协处理器中,查看标记寄存器的方法是使用指令FSTENV、FSAVE或FRSTOR,它们都能使标记寄存器与其它协处理器数据一起转存。
    汇编入门(21讲)
    时间:2009-5-19 8:21:10 点击:9
    核心提示:11.3 协处理器的指令系统协处理器共有68条不同的指令,汇编程序在遇到协处理器指令助忆时,都会将其转换成机器语言的ESC指令,ESC指令代表了协处理器的 操作码。在协处理器指令在执行过程中,需要访问内存单元时,CPU会为其形成内存地址。协处理器在协处理器指令期间内利用数据总线来传递数据。80287 协...
    11.3 协处理器的指令系统
    协处理器共有68条不同的指令,汇编程序在遇到协处理器指令助忆时,都会将其转换成机器语言的ESC指令,ESC指令代表了协处理器的操作码。
    在协处理器指令在 执行过程中,需要访问内存单元时,CPU会为其形成内存地址。协处理器在协处理器指令期间内利用数据总线来传递数据。80287协处理器利用I/O地址 00FAH~00FFH来实现其与CPU之间的数据交换,而80387~Pentium系列芯片,则是利用I/O地址 800000FAH~800000FFH来实现这两者之间的数据交换。
    11.3.1 指令操作符的命名规则
    协处理器指令的操作符(或助忆符)在命名设计时,遵循了下列规则:
    1、在操作符后面加上字母P:表示该指令执行完后,还进行一次堆栈弹出操作。如:FADD和FADDP等;
    2、在操作符后面加上字母R:表示该操作是反模式,它仅限于减法、除法指令。如:FSUB和FSUBR等;
    正模式 —— 栈顶数据=栈顶数据 op 指令操作数,或OPN1=OPN1 – OPN2
    反模式 —— 栈顶数据=指令操作数 op 栈顶数据,或OPN1=OPN2 – OPN1
    假设:栈顶数据为10,内存变量data的值为1,分别执行下列指令将有不同的结果。
    
    

 
    
FSUB
    
data
    
;指令执行后,栈顶数据为9
    
FSUBR
    
data
    
;指令执行后,栈顶数据为-9
    
FSUB
    
ST, ST(1)
    
;指令执行后,ST=ST-ST(1)
    
FSUBR
    
ST, ST(1)
    
;指令执行后,ST=ST(1)-ST
    

3、操作符的第2个字母是I:表示内存中数据是整数。它对加、减、乘除指令都有效。
    例如:FADD  data——浮点数加法;
    FIADD  data——整数加法,它表示内存单元data是一个整数,把该整数加到栈顶的浮点数上。
    4、操作符的第2个字母是N:表示在指令执行之前检查非屏蔽数值性错误。如:FSAVE和FNSAVE等,前者称为等待形式(wait version),后者称为非等待形式(no-wait version)。
    在使用.8087伪指令情况下,汇编程序会在等待形式的指令前面加上指令WAIT,而在非等待形式的指令前面加上空操作指令NOP。
    理解了上述操作符命名规则,就能很容易地区分同类指令之间的差异。
    11.3.2 数据传送指令
    为了满足协处理器和CPU之间进行数据交流的需求,就需要实现内存单元和协处理器之间进行数据传送的指令。协处理器的指令系统中有三大类数据传送指令:BCD传送指令、浮点数传送和整数传送指令。
    一、BCD传送指令
    1、FBLD
    指令格式:FBLD  MemBCD(*)
    指令功能:将内存中的BCD数据压入协处理器的堆栈中;
    (*) MemType是指定数据类型Type的内存单元,如:MemBCD是BCD类型的存储单元。此后不再说明。
    2、FBSTP
    指令格式:FBSTP  MemBCD
    指令功能:将协处理器中的BCD数据存入内存,并进行堆栈的弹出操作。
    例如:
    
    

 
    
.387
    
data1
    
DT  123, -543
    
data2
    
DT  2.5
    
……
    
FBLD
    
data1
    
;把BCD数据123压进栈
    
FBSTP
    
data2
    
;把当前堆顶数据弹出,并传送给BCD型的内参单元
    

二、浮点数传送指令
    (*) STReg是协处理器堆栈寄存器ST(0)~ST(7)。
    例如:
    
    

1、FLD
    
 
    
指令格式:
    
FLD  STReg(*)/MemReal
    
指令功能:
    
将浮点数据压入协处理器的堆栈中。当进行内存单元内容压栈时,系统会自动决定传送数据的精度。比如:用DD或REAL4定义的内存单元数值是单精度数等。
    
 
    
.387
    
data1
    
DD  123, -543
    
data2
    
REAL8  -321.5
    
data3
    
REAL10  2.5
    
……
    
FLD
    
data1
    
;压一个单精度数据进栈
    
FLD
    
data2
    
;压一个双精度数据进栈
    
FLD
    
ST(0)
    
;把堆栈寄存器ST(0)的值再压进栈
    
FLD
    
data3
    
;压一个扩展精度数据进栈
    

2、FST
    3、FSTP
    4、FXCH
    例如:FXCH  ST(2)——栈顶数据与堆栈寄存器ST(2)进行数据交换。
    
    

 

相关新闻

选择的困惑
选择 (3)
选择 (2)
选择 (1)
成为关键人物(1)
想达到目的该怎么做(2)
想达到目的该怎么做(1)
好好想想你的选择(2)
好好想想你的选择(1)
你是天才

您可能对这些感兴趣  

干货分享|10本最受国外孩子喜爱的英文词典——上
从孩子的表现看父母的缺点!请家长对号入座,看看你是哪一类?
20条制作PPT的视觉原则
培训简史:培训者必知的历史轨迹
广田丰管理培训生人才培养调查报告
第4讲 作为上司的职业经理
第3讲 作为同事的职业经理
第2讲 作为下属的职业经理
第1讲 培养经理人的管理素养
酒店前台新员工上岗培训计划

题目筛选器
日期:
类型:
状态:
得分: <=
分类:
作者:
职业:
关键字:
搜索

 
 
 
  焦点事件
 
  知识体系
 
  职业列表
 
 
  最热文章
 
 
  最多引用文章
 
 
  最新文章
 
 
 
 
网站介绍 | 广告服务 | 招聘信息 | 保护隐私权 | 免责条款 | 法律顾问 | 意见反馈
版权所有 不得转载
沪ICP备 10203777 号 联系电话:021-54428255
  帮助提示    
《我的太学》是一种全新的应用,您在操作中遇到疑问或者问题,请拨打电话13564659895,15921448526。
《我的太学》