|Description||Normalize (integer to floating)|
|Affected||T, A, D|
NLZ is an assembly instruction. It converts the number in the A register to a standard form 48-bit floating point number in the floating point accumulator (T, A and D registers), using the scaling of the NLZ instruction as a scaling factor.
The scaling is given to the conversion of -128 to 127 (approximately 10-39 to 1039).
For integers, a scaling factor of +1610 will give a floating point number with the same value as the integer. A larger scaling factor will result in a higher floating point number. Because of the single precision fixed point number, the D register will be cleared.
- NLZ+20 (code 151420) Convert from integer to floating point.
NLZ on 32-bit floating point CPUs
The ND-100/110 can have a 48-bit floating point CPU (standard configuration) or a 32-bit floating point CPU (customer option). For 32-bit floating point operations NLZ works as described above, except that the T register is not affected. This can also be used to test for 48-bit vs. 32-bit CPUs. The method is described in Norsk Data Document ND–06.029.01 ND-110 Instruction Set  p.72:
SAT 0 % Set T register to zero (INSTRUCTION-B test program uses 'COPY 0 DT') SAA 1 % Set A register bit one NLZ 16 % Normalize with scaling factor 16 decimal % Test if T is changed (non-zero). If so, the CPU is 48-bit, otherwise it is 32-bit.
- Norsk Data Document ND–06.029.01 ND-110 Instruction Set