| 1 | * STATUS SAVE AND RESTORE PROGRAM |
| 2 | * |
| 3 | * |
| 4 | * |
| 5 | SUBR F$REST,FNST |
| 6 | SUBR RINST,INST |
| 7 | SUBR RSTART,REST |
| 8 | SUBR RSAVE,SAVE |
| 9 | * |
| 10 | REL |
| 11 | ORG 0 |
| 12 | * |
| 13 | REST LDA BREG LOAD B REGISTER SAVE |
| 14 | IAB PUT TO B REG |
| 15 | LDX XREG RESTORE INDEX REGISTER |
| 16 | LDA KEYS LOAD FLAGS |
| 17 | OTK WRITE FLAGS BACK |
| 18 | LDA AREG LOAD A REGISTER |
| 19 | JMP* SAVE JUMP BACK INTO PROGRAM |
| 20 | *** * ZERO PADDING |
| 21 | * |
| 22 | ORG '10 |
| 23 | INST LDA VECT LOAD POINTER TO SAVE ROUTINE |
| 24 | STA '60 SAVE TO INTERRUPT LOCATION |
| 25 | STA '63 SAVE TO STANDARD INTERUPT LOCATION |
| 26 | ENB ENABLE INTERRUPT |
| 27 | HLT HALT |
| 28 | * |
| 29 | ORG '20 |
| 30 | SAVE DAC 0 RETURN ADDRESS GOES HERE |
| 31 | STA AREG |
| 32 | IAB |
| 33 | STA BREG |
| 34 | INK |
| 35 | STA KEYS |
| 36 | STX XREG |
| 37 | HLT WE GO TO SLEEP.... |
| 38 | * |
| 39 | FNST DAC * INSTALL |
| 40 | LDA VECT |
| 41 | STA '60 |
| 42 | JMP* INST |
| 43 | * |
| 44 | VECT DAC SAVE |
| 45 | AREG *** * |
| 46 | BREG *** * |
| 47 | KEYS *** * |
| 48 | XREG *** * |
| 49 | * |
| 50 | ABS ABSOLUT MODE FOR INSTALLATION |
| 51 | ORG '60 |
| 52 | DAC SAVE |
| 53 | * |
| 54 | END |
| 55 | |