Back
MASM : LUT : LUTINV
LUTINV:

Syntax:

Description:

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.

Microcode Pattern:

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

	  
Exceptions :

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.

Example :

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

APE Group Zeuthen. 2003
$Id: lutinv_masm.php,v 1.2 2004/08/04 09:43:31 noe Exp $
$Id: syntax.php,v 1.8 2004/08/04 09:25:34 noe Exp $