*** empty log message ***
[h316.git] / programs / tools / src / restart.asm
diff --git a/programs/tools/src/restart.asm b/programs/tools/src/restart.asm
new file mode 100644 (file)
index 0000000..bf58abd
--- /dev/null
@@ -0,0 +1,55 @@
+* STATUS SAVE AND RESTORE PROGRAM
+*
+*
+* 
+       SUBR    F$REST,FNST
+       SUBR    RINST,INST
+       SUBR    RSTART,REST
+       SUBR    RSAVE,SAVE
+*
+       REL
+       ORG     0
+*
+REST   LDA     BREG    LOAD B REGISTER SAVE
+       IAB             PUT TO B REG
+       LDX     XREG    RESTORE INDEX REGISTER
+       LDA     KEYS    LOAD FLAGS
+       OTK             WRITE FLAGS BACK
+       LDA     AREG    LOAD A REGISTER
+       JMP*    SAVE    JUMP BACK INTO PROGRAM
+       ***     *       ZERO PADDING
+*
+       ORG     '10     
+INST   LDA     VECT    LOAD POINTER TO SAVE ROUTINE
+       STA     '60     SAVE TO INTERRUPT LOCATION
+       STA     '63     SAVE TO STANDARD INTERUPT LOCATION
+       ENB             ENABLE INTERRUPT
+       HLT             HALT
+*
+       ORG     '20
+SAVE   DAC     0       RETURN ADDRESS GOES HERE
+       STA     AREG    
+       IAB
+       STA     BREG
+       INK     
+       STA     KEYS
+       STX     XREG
+       HLT             WE GO TO SLEEP....
+*
+FNST   DAC     *       INSTALL
+       LDA     VECT
+       STA     '60
+       JMP*    INST    
+*      
+VECT   DAC     SAVE
+AREG   ***     *
+BREG   ***     *
+KEYS   ***     *
+XREG   ***     *
+*
+       ABS             ABSOLUT MODE FOR INSTALLATION
+       ORG     '60
+       DAC     SAVE
+*
+       END
+