| Routines

33C0: THE 'MOVE A FLOATING-POINT NUMBER' SUBROUTINE (offset +31)

Used by the routines at STK_F_ARG, STACK_NUM, get_mem and st_mem. The address of this routine is found in the table of addresses. It is called via the calculator literal +31 by the routines at BEEP, CIRCLE, DRAW, CD_PRMS1, S_RND, e_to_fp, PRINT_FP, series, n_mod_m, int, exp, ln, get_argt, sin, tan, atn, asn, sqr and to_power. This subroutine moves a floating-point number to the top of the calculator stack (3 cases) or from the top of the stack to the calculator's memory area (1 case). It is also called through the calculator when it simply duplicates the number at the top of the calculator stack, the 'last value', thereby extending the stack by five bytes.
Input
DE | Destination address
HL | Address of the first byte of the number to move
duplicate | 33C0 | CALL TEST_5_SP | A test is made for room.
| 33C3 | LDIR | Move the five bytes involved.
| 33C5 | RET | Finished.