Spectrum ROM | Routines |
Prev: 13958 | Up: Map |
The address of this routine is found in the table of addresses. It is called via the calculator literal 00 by the routines at NEXT_LOOP, DRAW, e_to_fp, PRINT_FP, int, ln, get_argt, cos, atn, sqr and to_power.
This subroutine executes a conditional jump if the 'last value' on the calculator stack, or more precisely the number addressed currently by the DE register pair, is true.
|
|||||||
jump_true | 13967 | INC DE | Point to the third byte, which is zero or one. | ||||
13968 | INC DE | ||||||
13969 | LD A,(DE) | Collect this byte in the A register. | |||||
13970 | DEC DE | Point to the first byte once again. | |||||
13971 | DEC DE | ||||||
13972 | AND A | Test the third byte: is it zero? | |||||
13973 | JR NZ,jump | Make the jump if the byte is non-zero, i.e. if the number is not-false. | |||||
13975 | EXX | Go to the alternate register set. | |||||
13976 | INC HL | Pass over the jump length. | |||||
13977 | EXX | Back to the main set of registers. | |||||
13978 | RET | Finished. |
Prev: 13958 | Up: Map |