ASMB,L,C
      HED SCGN3 91700-16141 REV.A 760108 * (C) HEWLETT-PACKARD CO. 1976 * 
      NAM SCGN3,5 91700-16141 REV.A 760108
      SPC 1 
******************************************************************
*  * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1976.  ALL RIGHTS     *
*  * RESERVED.  NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED,      *
*  * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT*
*  * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY.       *
******************************************************************
      SPC 2 
      SPC 1 
******************************************************
* 
*SCGN3               ON-LINE LOADER SEGMENT...LOADER CONTROL
* 
*SOURCE PART #      91700-18141 REV A 
* 
*REL PART #         91700-16141 REV A 
* 
*WRITTEN BY:        LARRY POMATTO 
* 
*DATE WRITTEN:      9-18-74 
* 
*MODIFIED BY:       K.HAHN
* 
*DATE MODIFIED:     6-27-75 
* 
***************************************************** 
      SPC 1 
* 
*     DEFINE EXTERNALS
* 
      EXT LST,PLK,PLKS,?XFER,LSTI,LSTP
      EXT .MEM.,PRCMD 
      EXT FTRKA,NSEC,NTRK,SECA,TRKA,ENDM
      EXT DSKLU,SMTLN,SECTK 
      EXT UEXFL,SSTBL,.MEM3 
      EXT LST1,LST2,LST3,LST4,LST5
      EXT .MEM1,.MEM4 
      EXT .MEM2,.MEM5,.MEM6,NAMR.,LISTO 
      EXT FWAM,LWAM,PARSA 
      EXT PNAME,PNAMA,PRAMS 
      EXT EXEC,LOCC,BPLOC,PRINT 
      EXT INDCB,PRMT,GTOUT,ABDCB
      EXT FCRET,WRITF,FCLOS,CLSFI 
      EXT FILCK,FERR,SWAPR,LSDCB,CMDLU
      EXT LOUT,ENDLU,COML,PUNCH,ABRC1,PACK$ 
      SUP 
      SPC 1 
* 
*     DEFINE ENTRY POINTS 
* 
      SPC 1 
* 
*     DEFINE A AND B REG
* 
A     EQU 0 
B     EQU 1 
      SKP 
      SKP 
      SKP 
* 
*     THIS IS WHERE WE START. 
* 
      SPC 2 
GSWAP NOP           START HERE
      LDA RSTA      GET STARTING ADDRESS
      JMP SWAPR     AND RETURN TO MAIN
      SPC 1 
RSTA  DEF RSTRT 
      SPC 1 
RSTRT CLA           CLEAR OUT POINTERS
      STA PNAME 
      STA LOCC
      STA BPLOC 
      STA COML
      STA ?XFER 
      STA LST 
      JSB PRCMD 
      JMP RSTRT     ERROR...RETRY 
      LDA ?XFER 
      LDB LOCC
      SZA           IF NO STARTING ADDRESS OR 
      SZB,RSS       NOTHING RELOCATED 
      JMP LDRDN     TERMINATE 
      JSB GENID     SET IN ID SEGMENT 
LDRDN JSB CLSFI     AND TERMINATE...CLOSE FILES 
      LDA P16 
      LDB DNMSG     "LOADER COMPLETED"
      JSB LOUT
      JSB EXEC      SEND TERMINATION MESSAGE
      DEF *+5 
      DEF P2
      DEF ENDLU 
      DEF DNMSG+1 
      DEF P8
      JSB FCLOS     TERMINATE LIST FILE 
      DEF *+3 
      DEF LSDCB 
      DEF ZERO
      JSB FCLOS     TERMINATE INPUT FILE
      DEF *+3 
      DEF INDCB 
      DEF ZERO
      JSB EXEC      RELEASE TRACKS
      DEF *+3 
      DEF P5
      DEF N1
      JSB EXEC      AND TERMINATE 
      DEF *+2 
      DEF P6
      SPC 2 
P23   DEC 23
P6    DEC 6 
P8    DEC 8 
P12   DEC 12
P128  DEC 128 
P5    DEC 5 
P4    DEC 4 
P30   DEC 30
P10   DEC 10
P64   DEC 64
P3    DEC 3 
ZERO  NOP 
P14   DEC 14
P2    DEC 2 
P7    DEC 7 
N1    DEC -1
P200  DEC 200 
P16   DEC 16
M20   DEC -20 
P99   DEC 99
M7400 OCT 177400
N24   DEC -24 
N60   DEC -60 
N100  DEC -100
JMP3I JMP 3,I 
DNMSG DEF *+1 
      ASC 8,SCEGN COMPLETED 
      SKP 
*    JSB GENID
* 
* 
*  RETURN: A AND B ARE DESTROYED
* 
GENID NOP 
      LDA M20 
      STA TEMP1 
      CLA 
      LDB ALBUF     BUFFER ADDRESS
      STA B,I 
      ISZ TEMP1 
      JMP *-2 
      LDB PNAMA     GET DISPLACEMENT INTO ID SEGMENT
      ADB P7        GET TO WORD 7 
      LDA B,I   7   GET PRIORITY
      SZA,RSS 
      LDA P99       DEFAULT TO 99 
      STA LBUF+3
      LDA ?XFER     ENTRY POINT 
      STA LBUF+17 
      LDB PNAMA 
      LDA B,I       NAME 1,2
      STA LBUF
      INB 
      LDA B,I       NAME 3,4
      STA LBUF+1
      INB 
      LDA B,I       NAME 5, BLNK
      AND M7400     MASK OUT BLANK
      INA           MAKE TYPE 1 
      STA LBUF+2
      LDB PNAMA 
      ADB P8        GET TO WORD 8 OF NAM RECORD 
      LDA B,I       RESOLUTION
      ALF,ALF 
      ALF,RAL       SHIFT INTO PLACE
      INB 
      IOR B,I       MURGE EXEC MULT 
      STA LBUF+4    PUT IN BUFFER 
      INB 
      LDA B,I       HOURS 
      SZA,RSS 
      LDA N24       DEFAULT TO 24 
      STA LBUF+6
      INB 
      LDA B,I       MINUTES 
      SZA,RSS 
      LDA N60       DEFAULT TO 60 
      STA LBUF+7
      INB 
      LDA B,I       SECONDS 
      SZA,RSS 
      LDA N60       DEFAULT TO 60 
      STA LBUF+8
      INB 
      LDA B,I       TENS OF SEC 
      SZA,RSS 
      LDA N100      DEFAULT TO 100
      STA LBUF+9
      LDA .MEM3     LOW MAIN
      STA LBUF+10 
      LDA LOCC      HIGH MAIN 
      STA LBUF+11 
      LDA .MEM1     LOW BASE
      STA LBUF+12 
      LDA BPLOC     HIGH BASE 
      STA LBUF+13 
      LDA .MEM5 
      STA LBUF+14 
      LDA COML
      STA LBUF+15 
      LDA JMP3I 
      STA LBUF+16 
      LDA M9
      STA TEMP1     MOVE TO 2 WORD RECORDS
      LDA ALBUF 
      STA TEMP2 
      LDA P2        STARTING ADDRESS
      STA ABRC1 
GNID1 LDA TEMP2,I 
      JSB PACK$ 
      ISZ TEMP2 
      LDA TEMP2,I 
      JSB PACK$ 
      ISZ TEMP2 
      JSB PUNCH 
      ISZ TEMP1 
      JMP GNID1     NOT DONE
      JMP GENID,I   RETURN
* 
ALBUF DEF LBUF
M9    DEC -9
TEMP1 NOP 
TEMP2 NOP 
      SPC 1 
LBUF  BSS 32
LNKSV BSS 1 
      SKP 
* 
*     SUBROUTINE TO READ INPUT
* 
READ NOP
      STA READ2 
      STB READ1 
      JSB PRMT
      DEF *+6 
READ1 NOP 
      DEF READ2 
      DEF LBUF
      DEF P64 
      DEF PARSA 
      JMP READ,I
      SPC 1 
READ2 NOP 
      SPC 2 
      END GSWAP 
* 
                                                                            