ASMB,R,L,C RTMGM * NAME: RTMGM GEN. MAIN CONTROL FOR SEGMENTED GEN.-LOADER * SOURCE: 91740-18057 * RELOC: 91740-16057 * PGMR: MIKE SCHOENDORF * * *************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1977. 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. * * *************************************************************** * * HED RTE-M SYSTEM GENERATOR-LOADER * NAM RTMGM,8 91740-16057 REV 1740 770912 ***************** - HIGH CORE - ****************** * * * - IDENTS - * * * ************************************************** * - FIXUP TABLES - * * ---------- * * * * * * ------- * * - LST - * ************************************************** * * * * * PROGRAM LOADING CONTROL * * * * * ************************************************** * * * * I/O TABLE GENERATION * * * * ************************************************** * * * * * PARAMETER INPUT * * * * * ************************************************** * * * SKP * * * LST FORMAT * * WORD 1: LST1 - NAME 1,2 * WORD 2: LST2 - NAME 3,4 * WORD 3: LST3 - NAME 5, ORDINAL * WORD 4: LST4 - IDENT ADDRESS * WORD 5: LST5 - BP LINK ADDRESS * * * * ENTERNS AND EXTERNS * EXT ATBUF,CM#LG,DO#ON,ENTPT,ER#OR,FIXUP EXT GENRT,GE#AL,GE#NA,GI#IT,GNFLG EXT GNSG1,GNSG2,GREAD,GTIME,IN#RR,INTER,LDSEG EXT LDSG3,LST1,LST4,LST5 EXT OUTON,PRCMD,PRIN1 EXT SAVE2,SEGFL,SP#CE,SYSTM,TBUF# EXT UNDEF,ZPRIV,ZRENT * * ENT RTLG1,RTMLC,RTMLI * CMFLG EQU CM#LG DOCON EQU DO#ON GETAL EQU GE#AL GETNA EQU GE#NA GINIT EQU GI#IT INERR EQU IN#RR READ EQU GREAD SPACE EQU SP#CE TBUF EQU TBUF# * * .MEM. TABLE DEFINITIONS * * .MEM1 = FWABP * .MEM2 = LWABP * .MEM3 = FWAM * .MEM4 = LWAM * .MEM5 = FWAC * .MEM6 = LWAC * SKP * * * ERROR CODES * * AD: INVALID ENTRY POINT * CH: INVALID CHANNEL NUMBER * DR: INVALID DRIVER NAME * DU: DUPLICATE PROGRAM NAME * EQ: INVALID EQT. NO. IN INT. RECORD * IN: PARAMETER INTERVAL EXECUTION ERROR * LU: INVALID DEVICE REFERENCE NUMBER * ON: INVALID ON PARAMETER * NA: PARAMETER NAME ERROR * PA: PARAMETER ERROR * PD: PARTITION ALREADY DEFINED * PR: PARAMETER PRIORITY ERROR * PS: NOT ENOUGH MEMORY LEFT FOR PARTITION * PT: PARTITION DEFINITION ERROR * SO: SYSTEM OVERFLOW * TB: SYMBOL TABLE/ID SEGMENT OVERFLOW * * SUP * SKP RTLG1 LDA P6 LOAD IN GENERATOR SEGMENT 1 LDSGA CLB STB SEGFL LAST SEGMENT FLAG JMP LDSEG LOAD IN SEGMENT * SKP * * * RTMLI CONTROLS THE LOADING OF THE SEGMENT WHILE * RTMLC CONTROLS THE EXECUTION OF THAT SEGMENT. * RTMLI LDA GNFLG WHERE GO FLAG (INITIALIZATION) SZA,RSS JMP DEDEV DEFINE OUTPUT DEVICES CPA P1 JMP CENTS CHANGE ENTRIES CPA P2 JMP FIXI DO FIXUP CPA P3 JMP RESLB PUT IN ZPRIV ZRENT JMP SNAP2 PROCESS SNAP REQUEST SPC 5 RTMLC LDA GENRT WHERE GO FLAG CPA P1 JMP ENTRA CHANGE ENTRIES CPA P2 JMP FIXC DO FIXUP JMP RTMGR PUT IN ZPRIV ZRENT SKP * * DEFINE OUTPUT DEVICES * DEDEV CLA,INA STA GNFLG SET FOR CHANGE ENTRIES CLA,INA STA GENRT SET FOR CHANGE ENTS JSB SPACE OTPUT JSB INTER LDA P23 LDB MES31 *DEFINE OUTPUT DEVICES JSB PRIN1 JSB PRCMD CALL LOADER SUBCONTROL JMP OTPUT ERROR, REPEAT INPUT LDA OUTON ANY OUTPUT DEVICE DECLARED? SZA,RSS JMP ERROO NO, OUTPUT ERROR CLA,INA STA GNSG1 LDA P6 LOAD IN GEN SEGMENT 1 AND START JMP LDSGA EXECUTION AT SET TYPE OF SYSTEM * ERROO LDA OO ERROR MESSAGE CLB ERROR CODE JSB ER#OR JMP OTPUT * OO ASC 1,OO SKP * * CENTS LDA P2 STA GNFLG SET FOR FIXUP STA LDSG3 SET FOR PUTTING ENTRY IN LST LDA P3 JMP LDSGA LOAD IN LOADER SEGMENT 3 ENTRA LDA P2 STA GENRT SET FOR FIXUP LDA SYSTM RTE-M-I SYSTEM? CPA P1 JMP ENTRX YES LDB D$CLS ADDRESS OF ENTRY JSB ENTPT PUT IN LST LDA UDFE STA LST4,I SET TO UNDEFINED ISZ UNDEF DON'T OUTPUT AS UNDEF LDB D$RNT ADDRESS OF ENTRY JSB ENTPT PUT IN LST LDA UDFE STA LST4,I SET TO UNDEFINED ISZ UNDEF DON'T OUTPUT AS UNDEF * * CHANGE ENTRY POINTS * ENTRX JSB SPACE NEW LINE ENTRY JSB INTER INTERACTIVE INPUT LDA P14 LDB MES17 CHANGE ENTS? JSB READ PRINT MESSAGE, GET REPLY CLA STA CHRCT LDA N2 JSB GETNA GET FIRST 2 CHARACTERS CPA EN END? JMP END? YES,CHECK TO SEE IF NOT ENTRY ENTRI JSB GINIT REINITIALIZE INPUT CCA STA CMFLG ENTLN JSB GETAL GET NEXT CHARACTER CPA BLANK REACHED COMMA YET? JMP ENTFN YES ISZ CHRCT CHARACTER COUNTER JMP ENTLN ENTFN LDA N2 MOVE 2 CHARACTERS TO TBUF JSB GETNA CLB CPA RP MICROCODE REPLACEMENT? JMP RP1 YES CPA AB ABSOLUTE? JMP AB1 YES ENTER JSB INERR NEITHER MICROCODE RELACEMENT NOR ABSOLUTE JMP ENTRY ERROR, REPEAT INPUT RP1 INB AB1 ADB P3 STB TBUF+4 CCA STA CMFLG JSB GETAL GET NEXT CHAR. IN RESPONSE CPA BLANK REACHED COMMA YET? RSS JMP ENTER ERROR LDA BBLNK INITIALIZE TBUF STA TBUF WITH BLANKS STA TBUF+1 STA TBUF+2 LDA P6 SET FOR 6 OCTAL DIGITS INPUT JSB DOCON GET VALUE OF RP OR AB JMP ENTRY REPEAT INPUT STA TBUF+3 JSB GINIT BUFFER INITIALIZE LDA CHRCT GET NO. OF CHAR. IN ENTRY POINT CMA,INA JSB GETNA PUT ENTRY POINT IN TBUF LDA TBUF+2 IOR TBUF+4 STA TBUF+2 LDB ATBUF JSB ENTPT CLA STA GTIME JMP ENTRY GET NEXT CHANGE END? LDA N2 JSB GETNA GET NEXT 2 CHARACTERS CPA D D? RSS YES, DONE JMP ENTRI NO, MUST BE ENTRY POINT LDA P3 STA GNSG1 LDA P6 JMP LDSGA LOAD IN GEN SEG 1 SKP FIXI LDA P3 STA LDSG3 SET FOR PUTTING ENTRY IN LST JMP LDSGA LOAD IN LOADER SEGMENT 3 FIXC JSB FIXUP DO FIXUP FOR CLASS I O AND RESOURCE LDA P6 NUMBERS STA GNSG1 LOAD IN LOADER SEGMENT 2 JMP LDSGA SKP RESLB LDA P4 STA GNFLG SET FOR SNAP STA LDSG3 SET FOR PUTTING ENTRY IN LST LDA P3 JMP LDSGA LOAD IN LOADER SEGMENT 3 RTMGR LDA P4 STA GENRT SET FOR SNAP LDB .ZPRV PUT .ZPRV IN LST JSB ENTPT LDA LST1 SAVE LST ADDRESS STA ZPRIV LDA N4 STA LST5,I SET .ZPRV FOR MICROCODE LDA B2001 REPLACEMNT "RSS" STA LST4,I LDB .ZRNT PUT .ZRNT IN LST JSB ENTPT LDA LST1 SAVE LST ADDRESS STA ZRENT LDA N4 STA LST5,I SET .ZRNT FOR MICROCODE LDA B2001 REPLACEMENT "RSS" STA LST4,I LDB $SSGA JSB ENTPT PUT $SSGA IN LST CLA STA LST4,I SET ITS ADDRESS TO 0 LDA LST4 SAVE LST ADDRESS FOR FIXUP STA SAVE2 LDA P2 STA GNSG2 SET TO RELOCATE RESIDENT LIBRARY NEXT LDA P9 JMP LDSGA LOAD IN GEN SEG 2 SKP SNAP2 JSB INTER LDA P11 LDB MES09 * SNAPSHOT? JSB PRIN1 JSB PRCMD GO PROCESS SNAP REQUEST JMP SNAP2 ERROR, TRY AGAIN LDA P9 STA GNSG2 SET FOR SNAP RETURN JMP LDSGA LOAD IN GENERATOR SEGMENT 2 SKP * AB ASC 1,AB D ASC 1,D EN ASC 1,EN RP ASC 1,RP * B2001 OCT 2001 P1 DEC 1 P2 DEC 2 P3 DEC 3 P4 DEC 4 P6 DEC 6 P9 DEC 9 P11 DEC 11 P14 DEC 14 P23 DEC 23 N2 DEC -2 N4 DEC -4 * BBLNK OCT 20040 BLANK OCT 40 UDFE OCT 77777 * CHRCT NOP * D$CLS DEF $CLS $CLS ASC 3,$CLAS D$RNT DEF $RNTB $RNTB ASC 3,$RNTB $SSGA DEF *+1 ASC 3,$SSGA .ZPRV DEF *+1 ASC 3,.ZPRV .ZRNT DEF *+1 ASC 3,.ZRNT * MES09 DEF *+1 ASC 6,* SNAPSHOT? MES17 DEF *+1 ASC 7,* CHANGE ENTS? MES31 DEF *+1 ASC 12,* DEFINE OUTPUT DEVICES END SKP