| Routines

13946: THE 'DECREASE THE COUNTER' SUBROUTINE (offset 53)

The address of this routine is found in the table of addresses. It is called via the calculator literal 53 by the routine at series. This subroutine is only called by the series generator and in effect is a 'DJNZ' operation but the counter is the system variable, BREG, rather than the B register.
Input
HL' | Address of the jump offset
Output
HL' | Address of the next calculator literal to execute
dec_jr_nz | 13946 | EXX | Go to the alternative register set and save the next literal pointer on the machine stack.
| 13947 | PUSH HL
| 13948 | LD HL,23655 | Make HL point to BREG.
| 13951 | DEC (HL) | Decrease BREG.
| 13952 | POP HL | Restore the next literal pointer.
| 13953 | JR NZ,JUMP_2 | The jump is made on non-zero.
| 13955 | INC HL | The next literal is passed over.
| 13956 | EXX | Return to the main register set.
| 13957 | RET | Finished.