| Routines

352D: THE 'STRING AND NUMBER' OPERATION (offset +10)

The address of this routine is found in the table of addresses. It is called indirectly via fp_calc_2. This subroutine performs the binary operation 'X$ AND Y' and returns X$ if Y is non-zero and a null string otherwise.
Input
DE | Address of the first byte of the number (Y)
str_no | 352D | EX DE,HL | Point HL at Y, DE at X$.
| 352E | CALL TEST_ZERO | Test whether Y is zero.
| 3531 | EX DE,HL | Swap the pointers back.
| 3532 | RET NC | Return with X$ as the 'last value' if Y was non-zero.
| 3533 | PUSH DE | Save the pointer to the number.
| 3534 | DEC DE | Point to the fifth byte of the string parameters, i.e. length-high.
| 3535 | XOR A | Clear the A register.
| 3536 | LD (DE),A | Length-high is now set to zero.
| 3537 | DEC DE | Point to length-low.
| 3538 | LD (DE),A | Length-low is now set to zero.
| 3539 | POP DE | Restore the pointer.
| 353A | RET | Return with the string parameters being the 'last value'.