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