fctidz (Floating Convert to Integer Double Word with Round to Zero) 指令
用途
使用舍入为零的舍入方式将浮点寄存器的内容转换为 64 位带符号的定点整数。 将结果放入另一浮点寄存器中。
语法
| 位数 | VALUE |
|---|---|
| 0-5 | 63 |
| 6-10 | D |
| 11-15 | 00000 |
| 16-20 | B |
| 21-30 | 815 |
| 31 | rc |
描述
浮点寄存器 (FRP) FRB 中的浮点操作数将转换为 64 位带符号的定点整数,并使用舍入方式舍入为零,然后放入 FPR FRT中。
如果 FPR FRB 中的操作数大于 2 * *63-1 ,那么 FPR FRT 会设置为 0x7FFF_FFFF_FFFF_FFFF。 如果 frB 中的操作数小于 2 * *63 ,那么 FPR FRT 设置为 0x8000_0000_0000_0000。
除了已启用的无效操作异常,未定义 FPSCR [FPRF]。 如果结果在四舍五入时递增,那么将设置 FPSCR [FR]。 如果结果不准确,那么将设置 FPSCR [FI]。
国际 指令具有两种语法形式。 每个语法表单对条件寄存器字段 1 具有不同的影响。
| 项 | 描述 | ||
|---|---|---|---|
| 语法 表格 | 浮点状态 (Floating-Point Status) 和 控制寄存器 | 记录 位 (Rc) | 条件 注册字段 1 |
| 国际 | FPRF (未定义) , FR , FI , FX , XX , VXSNAN , VXCVI | 0 | 无 |
| Fctidz. | FPRF (未定义) , FR , FI , FX , XX , VXSNAN , VXCVI | 1 | FX , FEX , VX , OX |
参数
| 项 | 描述 |
|---|---|
| FRT | 指定该操作的目标浮点寄存器。 |
| FRB | 指定用于该操作的源浮点寄存器。 |
实现
此指令仅针对 64 位实现进行定义。 在 32 位实现上使用该命令将导致调用系统非法指令错误处理程序。