*** empty log message ***
[h316.git] / programs / tools / src / binal.asm
index 57a97e1c6ac5407c25365e9ccf37e1934a3277c7..8bba1a9347b961b450e60cc4afdc8f4afc903d2a 100644 (file)
@@ -39,7 +39,7 @@
 *       IF NO START LOCATION HAS BEEN CODED THE LOADER WILL
 *       CONTIUNE!
 *     
 *       IF NO START LOCATION HAS BEEN CODED THE LOADER WILL
 *       CONTIUNE!
 *     
-*       TAPE END MARK:
+*       STOP BLOCK
 *       THIS BLOCK TELLS THE LOADER THAT IT SHALL STOP NOW.
 *       LAYOUT:
 *       NO BODY AT ALL, ONLY BLOCK START AND BLOCK TYPE :-)
 *       THIS BLOCK TELLS THE LOADER THAT IT SHALL STOP NOW.
 *       LAYOUT:
 *       NO BODY AT ALL, ONLY BLOCK START AND BLOCK TYPE :-)
@@ -60,9 +60,7 @@
        OCP     '0002   START PUNCH (NOT NECESSARY ON MY H316)
        JST     PLDR    PUNCH OUT LEADER
        JST     PS2     PUNCH SECOND STAGE LOADER
        OCP     '0002   START PUNCH (NOT NECESSARY ON MY H316)
        JST     PLDR    PUNCH OUT LEADER
        JST     PS2     PUNCH SECOND STAGE LOADER
-       JST     PLDR    PUNCH OUT LEADER
        JST     PS3     PUNCH THIRD STAGE LOADER
        JST     PS3     PUNCH THIRD STAGE LOADER
-       JST     PLDR    PUNCH OUT LEADER
 *      
 *
 LOOP   CRA             MAIN LOOP
 *      
 *
 LOOP   CRA             MAIN LOOP
@@ -276,9 +274,9 @@ PS3 DAC     **      PUNCH OUT SECOND STAGE LOADER
 P23    DAC     **      PUNCH OUT A LOADER
        STA     PTR     SAVE POINTER
 L23    LDA*    PTR
 P23    DAC     **      PUNCH OUT A LOADER
        STA     PTR     SAVE POINTER
 L23    LDA*    PTR
+       JST     SWRD    PUNCH OUT CURRENT WORD  
        SNZ     
        JMP*    P23     RETURN
        SNZ     
        JMP*    P23     RETURN
-       JST     SWRD    PUNCH OUT CURRENT WORD
        IRS     PTR     INCREMENT POINTER
        JMP     L23     LOOP AGAIN
 *
        IRS     PTR     INCREMENT POINTER
        JMP     L23     LOOP AGAIN
 *
@@ -313,8 +311,6 @@ B2AD        DAC     BO2S    START ADDRESS OF SECOND STAGE LOADER
 B3AD   DAC     BO3S    START ADDRESS OF THIRD STAGE LOADER
 *
 LDRL   DEC     100     LEADER LENGTH
 B3AD   DAC     BO3S    START ADDRESS OF THIRD STAGE LOADER
 *
 LDRL   DEC     100     LEADER LENGTH
-ALOC   ***     **      NEXT WORD TO BE PUNCHED OUT
-ELOC   ***     **      LAST WORD TO BE PUNCHED OUT
 SZE    SZE             INSTRUCTION FOR FILL IN
 SNZ    SNZ             INSTRUCTION FOR FILL IN
 *
 SZE    SZE             INSTRUCTION FOR FILL IN
 SNZ    SNZ             INSTRUCTION FOR FILL IN
 *
@@ -336,24 +332,21 @@ BO2S      OCT     '20     START ADDRESS
 *
        INA     '1001           READ WITH CLEAR
        JMP     '17-BO2S+*-1
 *
        INA     '1001           READ WITH CLEAR
        JMP     '17-BO2S+*-1
-*      JMP     '17-BO2S+*      DEBUG STOP      
        ICA
        INA     '001            READ WITHOUT CLEAR
        JMP     '17-BO2S+*-1
        ICA
        INA     '001            READ WITHOUT CLEAR
        JMP     '17-BO2S+*-1
-*      JMP     '17-BO2S+*      DEBUG STOP
 *
 *
-*      
-*
-       STA     '17-BO2S+CNT    STORE START ADDRESS
-*      LDA     '57     LOOK FOR DEPOSITED OTHER BOOT ADDRESS
-*      SZE             OK, IF WE FIND SOMETHING THERE...
-*      STA     '17-BO2S+CNT    OVERWRITE DEFAULT VALUE 
-       IRS     '17-BO2S+CNT    CORRECT STOLEN WORD     
-       LDA     '17-BO2S+CNT
+       STA     '17-BO2S+CNT2   STORE START ADDRESS
+       STA*    '17-BO2S+CNT2   STORE START IN START
+*      LDA     '57             LOOK FOR DEPOSITED OTHER BOOT ADDRESS
+*      SZE                     OK, IF WE FIND SOMETHING THERE...
+*      STA     '17-BO2S+CNT2   OVERWRITE DEFAULT VALUE 
+       IRS     '17-BO2S+CNT2   CORRECT STOLEN WORD     
+       LDA     '17-BO2S+CNT2
 *      JMP     '776
 *
 *      JMP     '776
 *
-       LDA     '17-BO2S+CNT    WHERE TO LOAD NOW?
-       STA     '17-BO2S+PTR    INIT POINTER
+       LDA     '17-BO2S+CNT2   WHERE TO LOAD NOW?
+       STA     '17-BO2S+PTR2   INIT POINTER
 *      
 LOP    INA     '1001   READ IN CHARACTER
        JMP     '17-BO2S+*-1
 *      
 LOP    INA     '1001   READ IN CHARACTER
        JMP     '17-BO2S+*-1
@@ -361,15 +354,15 @@ LOP       INA     '1001   READ IN CHARACTER
        INA     '001    READ OTHER CHARACTER
        JMP     '17-BO2S+*-1
        SNZ
        INA     '001    READ OTHER CHARACTER
        JMP     '17-BO2S+*-1
        SNZ
-       JMP*    '17-BO2S+CNT    JUMP INTO THIRD STAGE LOADER
+       JMP*    '17-BO2S+CNT2   JUMP INTO THIRD STAGE LOADER
 *      JMP     '665
 *      JMP     '665
-       STA*    '17-BO2S+PTR    STORE DATA
-       IRS     '17-BO2S+PTR    MOVE ON
+       STA*    '17-BO2S+PTR2   STORE DATA
+       IRS     '17-BO2S+PTR2   MOVE ON
        JMP     '17-BO2S+LOP    FETCH MORE DATA
 *      
 S3SC   OCT     '301    START CHARACTER TO RECOGNIZE STAGE3
        JMP     '17-BO2S+LOP    FETCH MORE DATA
 *      
 S3SC   OCT     '301    START CHARACTER TO RECOGNIZE STAGE3
-PTR    DAC     **      GENERAL PURPOSE MEMORY POINTER
-CNT    DAC     **      WHERE TO LOAD? CAN BE CHANGED.
+PTR2   DAC     **      GENERAL PURPOSE MEMORY POINTER
+CNT2   DAC     **      WHERE TO LOAD? CAN BE CHANGED.
 BO2E   OCT     10600   ZERO-TERMINATOR
 *
 *
 BO2E   OCT     10600   ZERO-TERMINATOR
 *
 *
@@ -378,6 +371,13 @@ BO2E       OCT     10600   ZERO-TERMINATOR
 *
        ORG     '600
 BO3S   DAC     *       THAT IS FOR THE SECOND STAGE LOADER
 *
        ORG     '600
 BO3S   DAC     *       THAT IS FOR THE SECOND STAGE LOADER
+*********
+* COMPLETE THE ATTIC
+       LDA     PJ1     COMPLETE THE PAUS ROUTINE
+       STA     J1
+       CRA
+       STA     JH      ENSURE HALT INSTRUCTION
+*      
        OCP     1       READER ON (UNNECESSARY?)
 SLOP   INA     '1001   CRA AND READ
        JMP     *-1
        OCP     1       READER ON (UNNECESSARY?)
 SLOP   INA     '1001   CRA AND READ
        JMP     *-1
@@ -407,11 +407,10 @@ SLOP      INA     '1001   CRA AND READ
        JMP     *+2
        JMP     RSTP    PROCESS STOP BLOCK
        NOP
        JMP     *+2
        JMP     RSTP    PROCESS STOP BLOCK
        NOP
-       LDA     '125252 ERROR BLOCK TYPE
-       CRA
-       STA     *+1
-       OCT     66      THE HALT TRICK
+       LDA     ='125252        ERROR BLOCK TYPE
+       JST     PAUS    PAUSE
        JMP     SLOP    SEARCH FOR NEW BLOCK
        JMP     SLOP    SEARCH FOR NEW BLOCK
+       FIN
 *
 ********************
 * START ADDRESS BLOCK
 *
 ********************
 * START ADDRESS BLOCK
@@ -457,8 +456,7 @@ EL  IRS     PTR     POINT TO NEXT LOCATION
        SNZ
        JMP     SLOP
 CERR   CRA             CHECKSUM ERROR HALT
        SNZ
        JMP     SLOP
 CERR   CRA             CHECKSUM ERROR HALT
-       STA     *+1
-       OCT     66
+       JST     PAUS
        JMP     SLOP    TRY A NEW BLOCK
 *
 RZER   CRA
        JMP     SLOP    TRY A NEW BLOCK
 *
 RZER   CRA
@@ -466,17 +464,15 @@ RZER      CRA
        JMP     EL      USE END OF LOOP ABOVE
 *******
 * STOP BLOCK
        JMP     EL      USE END OF LOOP ABOVE
 *******
 * STOP BLOCK
-RSTP   CRA
-       STA     *+1
-       OCT     66      A TRICK - HERE WILL BE THE HLT INSTRUCTION
+RSTP   LDA     BO3S    FOR SHOW
+       JST     PAUS
        JMP*    RESA    JUMP TO RESTART LOCATION
 *
        JMP*    RESA    JUMP TO RESTART LOCATION
 *
-***** VARIABLES
-CSUM   OCT     66      CHECKSUM
-LEN    OCT     66      LENGTH TO GO
-RESA   DAC     SLOP    RESTART ADDRESS
-BTYP   OCT     66      BLOCK TYPE
 *
 *
+**********************
+* CONSTANTS
+*
+RESA   DAC     SLOP    RESTART ADDRESS
 BSTA   DEC     129     BLOCK START CHARACTER
 *
 * BLOCK TYPES:
 BSTA   DEC     129     BLOCK START CHARACTER
 *
 * BLOCK TYPES:
@@ -496,7 +492,24 @@ LWRD       OCT     66
        JMP*    LWRD
 *      
        FIN             WRITE OUT LITERALS - IF ANY
        JMP*    LWRD
 *      
        FIN             WRITE OUT LITERALS - IF ANY
-BO3E   DEC     0       ZERO TERMINATOR
+*******************
+* THE ATTIC OF THE THIRD STAGE LOADER
+PJ1    JMP*    PAUS    LAST LOCATION THAT WILL BE LOADED FROM TAPE!
+PAUS   DAC     **
+JH     HLT             THIS WILL STAY A HALT
+J1     DAC     **      WILL BE: JMP* PAUS
+*
+***** VARIABLES
+CSUM   OCT     66      CHECKSUM
+LEN    OCT     66      LENGTH TO GO
+BTYP   OCT     66      BLOCK TYPE
+*
+*******************
+* VARIABLES OF THE MAIN PROGRAM
+ALOC   ***     **      NEXT WORD TO BE PUNCHED OUT
+ELOC   ***     **      LAST WORD TO BE PUNCHED OUT
+PTR    DAC     **      GENERAL PURPOSE MEMORY POINTER
+CNT    DAC     **      WHERE TO LOAD? CAN BE CHANGED.
 *
 ************************************************************
        END
 *
 ************************************************************
        END