Routines 
Prev: 13500  Up: Map  Next: 13561 
Used by the routines at IF_CMD, PREP_M_D, negate, sgn, greater_0, f_not, no_or_no, no_and_no and str_no.
This subroutine is called at least nine times to test whether a floatingpoint number is zero. This test requires that the first four bytes of the number should each be zero. The subroutine returns with the carry flag set if the number was in fact zero.


TEST_ZERO  13545  PUSH HL  Save HL on the stack.  
13546  PUSH BC  Save BC on the stack.  
13547  LD B,A  Save the value of A in B.  
13548  LD A,(HL)  Get the first byte.  
13549  INC HL  Point to the second byte.  
13550  OR (HL)  'OR' the first byte with the second.  
13551  INC HL  Point to the third byte.  
13552  OR (HL)  'OR' the result with the third byte.  
13553  INC HL  Point to the fourth byte.  
13554  OR (HL)  'OR' the result with the fourth byte.  
13555  LD A,B  Restore the original value of A.  
13556  POP BC  And of BC.  
13557  POP HL  Restore the pointer to the number to HL.  
13558  RET NZ  Return with carry reset if any of the four bytes was nonzero.  
13559  SCF  Set the carry flag to indicate that the number was zero, and return.  
13560  RET 
Prev: 13500  Up: Map  Next: 13561 