fdiv 或 fd (浮动分割) 指令
用途
将一个浮点操作数除以另一个浮点操作数。
语法
| 位数 | VALUE |
|---|---|
| 0-5 | 63 |
| 6-10 | FRT |
| 11-15 | 法国 |
| 16-20 | 联邦储备银行 |
| 21-25 | /// |
| 26-30 | 18 |
| 31 | Rc |
| 位数 | 值 |
|---|---|
| 0-5 | 59 |
| 6-10 | FRT |
| 11-15 | 法国 |
| 16-20 | 联邦储备银行 |
| 21-25 | /// |
| 26-30 | 18 |
| 31 | Rc |
描述
fdiv 和 fd 指令将浮点寄存器 (FPR) FRA 中的 64 位双精度浮点操作数除以 FPR FRB中的 64 位双精度浮点操作数。 未保留任何余数。
fdivs 指令将 FPR FRA 中的 32 位单精度浮点操作数除以 FPR FRB中的 32 位单精度浮点操作数。 未保留任何余数。
结果在浮点状态和控制寄存器 (FPSCR) 的浮点舍入控制字段 RN 的控制下进行舍入,并放置在目标 FPR FRT中。
浮点除法运算基于两个显着性的指数减法和除法。
注: 如果操作数是反规范化数字,那么将在开始操作之前对其进行预规范化。
当浮点无效操作异常启用位为 1 时,浮点状态和控制寄存器的浮点结果标志字段将设置为结果的类和符号 (无效操作异常除外)。
fdiv, fdivs和 fd 指令各有两种语法形式。 每种语法形式对条件寄存器字段 1 都有不同的影响。
| 项 | 描述 | ||
|---|---|---|---|
| 语法 表单 | 浮点状态和 控制寄存器 | 记录 位 (RC) | 条件 注册字段 1 |
| fdiv | C , FL , FG , FE , FU , FR , FI , OX , UX , ZX , XX , VXSNAN , VXIDI , VXZDZ | 0 | 无 |
| fdiv。 | C , FL , FG , FE , FU , FR , FI , OX , UX , ZX , XX , VXSNAN , VXIDI , VXZDZ | 1 | FX , FEX , VX 和 OX |
| fdivs | C , FL , FG , FE , FU , FR , FI , OX , UX , ZX , XX , VXSNAN , VXIDI , VXZDZ | 0 | 无 |
| fdivs。 | C , FL , FG , FE , FU , FR , FI , OX , UX , ZX , XX , VXSNAN , VXIDI , VXZDZ | 1 | FX , FEX , VX 和 OX |
| fd | C , FL , FG , FE , FU , FR , FI , OX , UX , ZX , XX , VXSNAN , VXIDI , VXZDZ | 0 | 无 |
| fd。 | C , FL , FG , FE , FU , FR , FI , OX , UX , ZX , XX , VXSNAN , VXIDI , VXZDZ | 1 | FX , FEX , VX 和 OX |
fdiv, fdivs和 fd 指令的所有语法形式始终会影响浮点状态和控制寄存器。 如果语法格式将 "记录 (Rc)" 位设置为 1 ,那么指令会影响 "条件寄存器" 字段 1 中的 "浮点异常" (FX) , "已启用浮点异常" (FEX) , "浮点无效操作异常" (VX) 和 "浮点溢出异常" (OX) 位。
参数
| 项 | 描述 |
|---|---|
| FRT | 指定操作的目标浮点寄存器。 |
| 法国 | 指定包含红利的源浮点寄存器。 |
| 联邦储备银行 | 指定包含除数的源浮点寄存器。 |
示例
- 以下代码将 FPR 4 的内容除以 FPR 5 的内容,将结果放入 FPR 6 ,并设置浮点状态和控制寄存器以反映操作结果:
# Assume FPR 4 contains 0xC053 4000 0000 0000. # Assume FPR 5 contains 0x400C 0000 0000 0000. # Assume FPSCR = 0. fdiv 6,4,5 # FPR 6 now contains 0xC036 0000 0000 0000. # FPSCR now contains 0x0000 8000. - 以下代码将 FPR 4 的内容除以 FPR 5 的内容,将结果放在 FPR 6 中,并设置 "条件寄存器字段" 1 和 "浮点状态和控制寄存器" 以反映操作结果:
# Assume FPR 4 contains 0xC053 4000 0000 0000. # Assume FPR 5 contains 0x400C 0000 0000 0000. # Assume FPSCR = 0. fdiv. 6,4,5 # FPR 6 now contains 0xC036 0000 0000 0000. # FPSCR now contains 0x0000 8000. # CR contains 0x0000 0000.