Most functions treat it as zero, and it is printed as -1E-38, obtained by treating is as 'minus zero' in an illegitimate format.
One possible remedy would be to test for this number at about byte 3032 and, if it is present, to make the second byte 80 hex and the first byte 91 hex, so producing the full five byte floating-point form of the number, i.e. 91 80 00 00 00, which causes no problems. See also the remarks in 'truncate' below, before byte 3225, and the Appendix.
303C ADDN-OFLW DEC HL Restore the pointer to the first
number.
POP DE Restore the pointer to the
second number.
303E FULL-ADDN CALL 3293,RE-ST-TWO Re-stack both numbers in full
five byte floating-point form.
The full ADDITION subroutine first calls PREP-ADD for each number, then gets the two numbers from the calculator stack and puts the one with the smaller exponent into the addend position. It then calls SHIFT-FP to shift the addend up to 32 decimal places right to line it up for addition. The actual addition is done in a few bytes, a single shift is made for carry (overflow to the left) if needed, the result is twos complemented if negative, and any arithmetic overflow is reported; otherwise the subroutine jumps to TEST-NORM to normalise the result and return it to the stack with the correct sign bit inserted into the second byte.
EXX Exchange the registers.
PUSH HL Sace the next literal address.
EXX Exchange the registers.
PUSH DE Save pointer to the addend.
PUSH HL Save pointer to the augend.
CALL 2F9B,PREP-ADD Prepare the augend.
LD B,A Save its exponent in B.
EX DE,HL Exchange its pointers.
CALL 2F9B,PREP-ADD Prepare the addend.
LD C,A Save its exponent in C.
CP B If the first exponent is smaller,
JR NC,3055,SHIFT-LEN keep the first number in the
LD A,B addend position; otherwise
LD B,C change the exponents and the
EX DE,HL pointers back again.
3055 SHIFT-LEN PUSH AF Save the larger exponent in A.
SUB B The difference between the
exponents is the length of the
shift right.
CALL 2FBA,FETCH-TWO Get the two numbers from the
stack.
CALL 2FDD,SHIFT-FP Shift the addend right.
POP AF Restore the larger exponent.
POP HL HL is to point to the result.
LD (HL),A Store the exponent of the
result.
PUSH HL Save the pointer again.
LD L,B M4 to H & M5 to L,
LD H,C (see FETCH-TWO).
ADD HL,DE Add the two right bytes.
EXX N2 to H' & N3 to L',
EX DE,HL (see FETCH-TWO).
ADC HL,BC Add left bytes with carry.
EX DE,HL Result back in D'E'.
LD A,H Add H', L' and the carry; the
ADC A,L resulting mechanisms will ensure
LD L,A that a single shift right is called
RRA if the sum of 2 positive numbers
XOR L has overflowed left, or the sum
EXX of 2 negative numbers has not
overflowed left.