Returns in register Rd3 the leading term of iterative algorithm to
get 1/x, where x is the content of Rs1. Instruction is performed
according to BS (bank select) and is stack conditioned.
Takes 4 cycles to execute.
Example: LUTINV 0xA3 3 0xA1
MPC BS3 C3 P3 P1
-----------------
INV 0 0 00 A1
- 0 0 00 00
- 0 0 00 00
- 3 0 A3 00
The following exceptional cases are handled as specified in table below
(in all these cases, mantissa is set to zero):
 |
ERs1(hex) |
mRs1(42:42) |
ERd3(hex) |
Exceptions |
 |
0x7FF |
x |
0x7FF |
BADOP |
0x7FE |
x |
0x000 |
OUT_DEN |
0x7FD |
x |
0x000 |
OUT_DEN |
0x000 |
x |
0x7FF |
OVF |
0x3FF |
0* |
0x3FF |
- |
 |
*- is a special case such that if the argument is close to 1.0 then 1.0 is returned.
LUTINV 0x21 1 0x20
!! Perform 1/x, where x is the
!! content of low bank of 0x20
!! and puts the value in low
!! bank of register 0x21