ASMB,R,L,C RTMLM * NAME: RTMLM * SOURCE: 91740-18053 * RELOC: 91740-16053 * 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 RTMLM,8 91740-16053 REV 1926 790426 * * ENTRY POINT NAMES * ENT RT.G1,RT.LC * * EXTERNAL REFERENCE NAMES * EXT ABL1,ABL2,ABRC1,ABREC,ABRT1,BPLOC,CKS EXT CLBPL,CLFL2,COML,CONSO,DBTAD,DIAG,DIAG2 EXT ENTPT,EXEC6,FRTRU,FT#ME,FWABP,FWAC,FWAM EXT ICR,ISECU,LDSEG,LDSG3 EXT LST,LST4,MAPS,.MEM4,MLOCC EXT NAMR.,OUTON,PRCMD EXT PRINT,SCP,SEGFL,SERFG,TIMES EXT TRUNC,TYOFF,UNDEF,WRTBT,?XFER * EXT KCVT * EXT PNZQZ,PRAMS * * LOCC EQU MLOCC FTIME EQU FT#ME SUP ********************************************************** * THE FUNCTION OF THIS LOADER IS TO RELOCATE AND LINK * RELOCATABLE BINARY MODULES TOGETHER, AND PREPARE * THEM FOR EXECUTION ON AN RTM SYSTEM. AFTER * STARTING THIS LOADER WITH A ON LOADR COMMAND * A SNAPSHOT CAN BE READ IN. * THIS SNAPSHOT CONTAINS THE DEFAULT * MEMORY BOUNDS, SYSTEM COMMON, AND DEFINES THE * CORE-RESIDENT LIBRARY ROUTINES FOR THE TARGET RTM * SYSTEM. * SYMBOL TABLE ENTRY FORMAT: * * WORD 5 - OCT 0 (LINK OR FIXUP TABLE ADDRESS) * 4 - DEF SYMBOL (HOLDS SYMBOL VALUE) * 3 - OCT XX000 CHAR 5 AND FLAGS * 2 - ASC 1, CHARS 3,4 OF NAME * 1 - ASC 1, CHARS 1,2 OF NAME * SHOULD ONLY BE REFERENCED VIA POINTERS LST1 THRU LST5, * USING SUBROUTINES LSTI AND LSTP. * ************************************************************************ * RT.G1 LDA SCP AND B10 SZA PUT DEBUG IN LST? JMP RTMLP YES, FORCE LOAD DEBUG RTMLA CLA,INA STA LDSG3 USE LDRIN ENTRY IN SEG 3 LDB ONMSG PRINT MESSAGE JSB DIAG2 LOADER STARTED JSB PRCMD PROCESS LOADER COMMANDS JMP ABRT1 PROGRAM TERMINATION RTML2 LDA LOCC SZA,RSS IF NO MODULES RELOCATED, JMP RTMLT PROGRAM TERMINATION LDA B2 STA ABRC1 STORE ADDRESS OF TIE-OFF RECORDS DLD PNZQZ GET PROGRAM NAME JSB TYOFF OUTPUT CHARS 1,2,3,4 OF NAME LDA PNZQZ+2 AND UPCM IOR PRAMS CHAR 5,TYPE LDB PRAMS+1 GET PRIORITY JSB TYOFF LDA PRAMS+2 RAR,RAR RES. CODE RAR IOR PRAMS+3 CLB SPARE JSB TYOFF JSB TIMES PROCESS TIME PARAMETERS JSB TYOFF OUTPUT TIME PARAMETERS CLA SPARE LDB .MEM4 LWAM JSB TYOFF OUTPUT SPARES LDA FWAM GET LOW MAIN LDB LOCC GET HIGH MAIN JSB TYOFF OUTPUT LDA FWABP GET LOW BASE PAGE LDB BPLOC GET HIGH BASE PAGE JSB TYOFF OUTPUT LOW & HIGH BASE PAGE LDA FWAC LDB COML JSB TYOFF LDB DBTAD GET DEBUG TRANSFER ADDRESS LDA SCP LOAD WITH DEBUG? AND B10 SZA,RSS LDB ?XFER NO, USE PROGRAM XFER ADDRESS LDA JMP3 JSB TYOFF CLB,INB JSB CLFL2 CLOSE ABSOLUTE OUTPUT FILE LDB EDREL PRINT MESSAGE JSB DIAG "RELOCATION FINISHED" LDA FWAM GET # OF PAGES USED FOR RELOCATION CMA ADA LOCC AND B76K ALF RAL,RAL ADA B2 STA NUMB JSB KCVT DEF *+2 DEF NUMB STA PAGES,I LDA CONSO INTERACTIVE INPUT? SZA,RSS JMP RTMLB NO LDA P19 LDB PAGE JSB PRINT RTMLB LDA P19 LDB PAGE JSB MAPS LDB SNAP PRINT MESSAGE JSB DIAG "INPUT SNAP REQUEST" JSB PRCMD PROCESS SNAP REQUEST JMP ABRT1 PROGRAM TERMINATION LDA B2 SET TO SEGMENT LOAD STA SCP LDB SEGRL * REL SEGMENT JSB DIAG JSB INIT2 REINITIALIZE POINTERS JSB PRCMD PROCESS LOADER COMMANDS JMP ABRT1 PROGRAM TERMINATION LDA LOCC IF NO MODULES RELOCATED SZA PROGRAM TERMINATION JMP RTML2 RTMLT LDB OFMSG PRINT MESSAGE JSB DIAG2 RTMLG FINISHED JMP EXEC6 PROGRAM TERMINATION * RTMLP CLA STA SEGFL LAST SEGMENT FLAG LDA B3 STA LDSG3 SET FOR RETURN TO MAIN JMP LDSEG LOAD IN LOADER SEGMENT 3 * * RT.LC LDB DEBUG PUT DEBUG IN LST JSB ENTPT LDA UDFE SET TO UNDEF STA LST4,I JMP RTMLA SPC 1 JMP3 JMP 3,I * INIT2 NOP JSB CLBPL CLEAR BASE PAGE LINKS LDA ABL2 STA ABL1 CLA STA UNDEF START SEARCH AT BEGINNING OF LST STA FRTRU FIRST TIME THRU FLAG STA ?XFER "HAVE MAIN FLAG" STA LOCC PROGRAM RELOCATION BASE STA BPLOC BASE PAGE RELOCATION BASE STA COML "COMMON USED" FLAG STA LST,I LOADER SYMBOL TABLE LENGTH STA NAMR. ALLOW A NAM RECORD STA OUTON ABSOLUTE OUTPUT FILE CLOSED STA FTIME OUTPUT TYOFF RECORD ONLY AT START STA ISECU SECURITY CODE STA ICR LABEL STA WRTBT NO RELOCATION YET STA TRUNC DON'T TRUNCATE ON ABORT STA ABREC CLEAR RECORD LENGTH STA CKS CLEAR CHECKSUM STA SERFG LIBRARY LOAD FLAG JMP INIT2,I * SPC 2 * NUMB NOP SEGRL DEF *+1 DEC 13 ASC 7,* REL SEGMENT ONMSG DEF *+1 DEC 16 ASC 8,* LOADER STARTED EDREL DEF *+1 DEC 21 ASC 11,* RELOCATION FINISHED OFMSG DEF *+1 DEC 16 ASC 9,* RTMLG FINISHED PAGE DEF *+2 PAGES DEF *+2 ASC 1,* BSS 1 ASC 8, PAGES REQUIRED SNAP DEF *+1 DEC 11 ASC 6,* SNAPSHOT? B2 OCT 2 B3 OCT 3 B10 OCT 10 B76K OCT 76000 P19 DEC 19 UPCM OCT 77400 UDFE OCT 77777 * DEBUG DEF *+1 ASC 3,DEBUG * SPC 2 END