| Routines

367A: THE 'DECREASE THE COUNTER' SUBROUTINE (offset +35)

The address of this routine is found in the table of addresses. It is called via the calculator literal +35 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 | 367A | EXX | Go to the alternative register set and save the next literal pointer on the machine stack.
| 367B | PUSH HL
| 367C | LD HL,$5C67 | Make HL point to BREG.
| 367F | DEC (HL) | Decrease BREG.
| 3680 | POP HL | Restore the next literal pointer.
| 3681 | JR NZ,JUMP_2 | The jump is made on non-zero.
| 3683 | INC HL | The next literal is passed over.
| 3684 | EXX | Return to the main register set.
| 3685 | RET | Finished.