ASMB,R,L,C RTSGN REV.1612 NAM RTSGN 29101-60007 REV.1612 760319 * SOURCE: 29101-80007 * RELOC: 29101-60007 * ABSOLUTE 29101-60011 * * **************************************************************** * * (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. * * **************************************************************** * * ************************************************** * * NAME: RTE-C GENERATOR MAIN CONTROL * PROGRAMMER: W. RAGIN * DATE OF ORIGINAL ISSUE: 5/18/73 * MODIFIED BY: G.MCANALLY * MODIFIED DATE: 3/25/75 * MODIFIED BY: E.WONG * MODIFIED DATE: 3/19/76 * ************************************************** ORB A EQU 0 B EQU 1 ***************** - HIGH CORE - ****************** * * * SIO DRIVERS (TTY, PT, HSP) * * * ************************************************** * - IDENTS - * * ---------- * * * * * * ------- * * - LST - * ************************************************** * * * * * PROGRAM LOADING CONTROL * * * * * ************************************************** * * * I/O TABLE GENERATION * * * * PARAMETER INPUT * * * ****************** - 2000 - ********************** * * * * * DATA AREAS * * * * * ************************************************** * * THE TERM RTS/2100 IS SYNONYMOUS WITH RTE-C, AND * THE TERMS ARE USED INTERCHANGEABLY THROUGHOUT * THIS DOCUMENT. * * SKP * * * * * * RTSGN PROGRAM TABLE FORMAT (IDENTS) * * WORD 1: IP1 - NAME 1,2 * WORD 2: IP2 - NAME 3,4 * WORD 3: IP3 - NAME 5,SC * * SC = 0 PROGRAM HAS BEEN LOADED * = XX (OCTAL) INT PRG * * * 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 LST,PLK,PLKS,?XFER,LSTA1 EXT OPT.3,.MEM.,PRCMD,PCHX EXT UEXFL,SSTBL,.MEM3,LTG,LOEND EXT LST4,LST5,BPAG4,LOCC,BPLOC EXT .MEM1,.MEM4,LINK,ASR33,LOUT EXT .MEM2,.MEM5,.MEM6,NAMR.,LISTO * ENT PNAME,PNAMA,PRAMS * * .XFER EQU ?XFER * * * .MEM. TABLE DEFINITIONS * * .MEM1 = FWABP * .MEM2 = LWABP * .MEM3 = FWAM * .MEM4 = LWAM * .MEM5 = FWAC * .MEM6 = LWAC * * * * ERROR CODES * * TB: SYMBOL TABLE/ID SEG OVERFLOW * NA: PARAMETER NAME ERROR * PA: PARAMETER ERROR * PR: PARAMETER PRIORITY ERROR * IN: PARAMETER EXECUTION INTERVAL ERROR * CH: INVALID CHANNEL NUMBER * DR: INVALID DRIVER NAME * LU: INVALID DEVICE REFERENCE NUMBER * EQ: INVALID EQT. NO. IN INT RECORD * AD: INVALID ENTRY POINT * DU: DUPLICATE PROGRAM NAME * * START JMP BEGIN BEGINING OF RTSGN DRPTR BSS 1 PT READER DRIVER ADDRESS DRKEY BSS 1 KEYBOARD OUPUT DRIVER ADDRESS DRHSP BSS 1 HS PUNCH DRIVER ADDRESS DRTTY BSS 1 TELETYPE INPUT DRIVER ADDRESS FWAM DEF LOEND LWAM BSS 1 END AVAIL. MEM - SET BY DRIVERS BSS 1 * TRANS DEF RTSGN TRANSFER ADDR TO RTSGN AREAD DEF READ AOTLY DEF OTNLY ADDRESS OF WRITE ONLY ROUTINE APARS DEF PARAM ADDRESS OF PARAMETER INPUT CODE AGNIO DEF GENIO ADDR OF I/O GENERATOR CODE AGETA DEF GETAL ADDR OF GETAL SUB. AGETN DEF GETNA ADDRESS OF GETNA SUB. AGETO DEF GETOC ADDRESS OF GETOC SUB. ACONV DEF CONVD SKP * * PROGRAM CONSTANT FACTORS ZERO OCT 0 N1 DEC -1 N2 DEC -2 N3 DEC -3 N4 DEC -4 N5 DEC -5 N6 DEC -6 N8 DEC -8 N9 DEC -9 N10 DEC -10 N24 DEC -24 N28 DEC -28 N60 DEC -60 N64 DEC -64 N100 DEC -100 N1020 DEC -1020 P2 DEC 2 P3 DEC 3 P4 DEC 4 P5 DEC 5 P6 DEC 6 P7 DEC 7 P8 DEC 8 P9 DEC 9 P11 DEC 11 P12 DEC 12 P13 DEC 13 P14 DEC 14 P15 DEC 15 P18 DEC 18 P27 DEC 27 P28 DEC 28 P58 DEC 58 P64 DEC 64 P99 DEC 99 P1647 OCT 1647 B3000 OCT 3000 L6 EQU N6 L10 EQU N8 L12 EQU N10 L60 OCT -60 M7 EQU P7 M4 EQU P4 M60 OCT 60 M77 OCT 77 M177 OCT 177 M377 OCT 377 M1600 OCT 160000 M2000 OCT 2000 M7400 OCT 177400 M7000 OCT 177000 SKP DPWRS DEF *+1 P0100 DEC 10000 P1000 DEC 1000 P100 DEC 100 P10 DEC 10 P1 DEC 1 OPWRS DEF *+1 M0100 OCT 10000 M1000 OCT 1000 M100 OCT 100 M10 OCT 10 OCT 1 * SUP BLANK OCT 040 BLANK MSIGN OCT 100000 NEGATIVE SIGN CHNGE OCT 1 SPC 3 * STARTS AND RESTARTS FROM 100B COME HERE. SPC 2 BEGIN CLF 0 CLEAR THOSE INTERRUPTS LDA DRTTY SET INPUT TO TTY STA PARAD LIA 1 GET THE SWITCH REGISTER SSA,RSS IS BIT 15 SET ? CLA NO, CLEAR TTY PUNCH FLAG STA ASR33 SET PUNCH FLAG JSB SPACE PUT THE WORD ON A NEW LINE LDA P5 LDB MES01 JSB AOTLY,I TO THE TTY JMP TRANS,I YES - START THE GENERATOR SPC 1 MES01 DEF *+1 ASC 3,RTSGN HED RTSGN BASE PAGE ROUTINES **A-29101-60007-1 REV.B * * NEW LINE (CR,LF) ON TTY * * THE SPACE SUBROUTINE IS USED TO SPACE UP THE TELEPRINTER. * * CALLING SEQUENCE: * A = IGNORED * B = IGNORED * JSB SPACE * * RETURN: CONTENTS OF A AND B ARE DESTROYED. * SPACE NOP CLB,INB CLA SET CHARACTER COUNT = ZERO JSB AOTLY,I OUTPUT CR, LF ON TTY JMP SPACE,I RETURN * SKP * PRINT: ERR XX * * THE ERROR SUBROUTINE IS USED TO PRINT THE DIAGNOSTICS * FOR ALL ERROR MESSAGES. * * CALLING SEQUENCE: * A = 2-CHAR ASCII ERROR CODE * B = IGNORED * JSB ERROR * * RETURN: CONTENTS OF A AND B ARE DESTROYED. * ERROR NOP PRINT ERROR MESSAGES STA AMERR+3 SET ERROR CODE INTO MESSAGE LDA P6 LDB AMERR AMERR = MESSAGE ADDRESS JSB AOTLY,I PRINT ERROR MESSAGE JMP ERROR,I RETURN * * IRRECOVERABLE ERROR EXIT * IRERR NOP JSB ERROR PRINT ERROR MESSAGE HLT0 HLT 0B WAIT - PROGRAM CAN NOT CONTINUE JMP *-1 IRRECOVERABLE ERROR * AMERR DEF *+1 ASC 3,ERR ERROR MESSAGE = ERR + CODE SKP * * SET DATA TO ABS TAPE * * ROUTINE TO RESERVE AND SET CORE ON THE * LOADER PRODUCED ABSOLUTE OUTPUT. * * CALLING SEQUENCE: * A = FINAL STARTING ADDRES * B = FINAL ENDING ADDRESS * * SETAD = ADDRESS OF THE OUTPUT DATA BUFFER * * JSB SETCR * * RETURN: A AND B ARE DESTROYED * SETCR NOP STA TEMP1 CMA,INA ADA SETAD BUFFER ADDRESS STA PLKS OFFSET ADDRESS LDA TEMP1 STARTING ADDRESS JSB PLK OUTPUT ROUTINE IN THE LOADER JMP SETCR,I * SKP * * * ROUTINE TO FIND THE END OF THE SYMBOL TABLE * * CALLING SEQUENCE: * A = IGNORED * B = IGNORED * JSB SYEND * * RETURN: A = LAST ADDRESS OF SYMBOL TABLE PLUS ONE * SYEND NOP LDA LST COUNT OF SYMBOLS ALS,ALS MULT BY 4 ADA LST MAKE IT 5 ADA LSTA1 ADDRESS OF LST START JMP SYEND,I RETURN, A = ADDRESS OF LAST+1 * SKP * * THE IPX ROUTINE ADDRESSES THE CURRENT 3 WORD ENTRY * IN THE INTERRUPT PROGRAM TABLE FROM THE ADDRESS OF * THE CURRENT ENTRY (BIDNT) . THE TABLE START ADDRESS * IS LWAM * * CALLING SEQUENCE: * A = IGNORED * B = IGNORED * JSB IPX * * RETURN, CONTENTS OF A AND B ARE DESTROYED * IPX NOP LDA BIDNT BUILD POINTERS STA IP1 INA STA IP2 INA STA IP3 ADA N5 STA BIDNT JMP IPX,I * * * LSERR LDA ERRTB JSB IRERR IRRECOVERABLE ERROR EXIT * ERRTB ASC 1,TB IDENT/LST OVERFLOW * * CLEAR BUFFER TO CALLING SEQ+1 * * THE BUFCL SUBROUTINE STUFFS A 64 WORD BUFFER WITH CALL+1 * * CALLING SEQUENCE: * A = IGNORED * B = ADDRESS OF BUFFER * JSB BUFCL * CALL+1 = DATA TO BE STUFFED * * RETURN: CONTENTS OF A AND B ARE DESTROYED. * BUFCL NOP LDA N64 STA WDCNT SET BUFFER LENGTH = 64 LDA BUFCL,I GET STUFF DATA STA B,I CLEAR BUFFER WORD INB ISZ WDCNT ALL WORDS CLEAR? JMP *-3 NO - CONTINUE CLEARING ISZ BUFCL JMP BUFCL,I RETURN * * ROUTINT TO COMPARE TWO NAME BUFFERS * * * CALLING SEQUENCE: * A = ADDRESS OF SOURCE NAME- 3 ENTRIES * B = ADDRESS OF TABLE 3 ENTRIES * JSB NACMP * * RETURN: A AND B ARE DESTROYED * (N+1) NAMES DO NOT COMPARE * (N+2) NAMES COMPARE * NACMP NOP STA TEMP1 SAVE SOURCE ADDRESS STB TEMP2 SAVE TABLE ADDRESS LDA N2 LOOP COUNT STA TEMP3 NACM1 LDA TEMP1,I SOURCE ENTRY CPA TEMP2,I TABLE COMPARE RSS YES,COMPARE, LOOK NEXT JMP NACMP,I NO IT DOESN'T RETURN ISZ TEMP1 BUMP SOURCE ISZ TEMP2 BUMP TABLE ISZ TEMP3 JMP NACM1 TRY AGAIN LDA TEMP2,I FIRST TWO COMPARE, LOOK LAST AND M7400 LOOK UPPER ONLY STA B LDA TEMP1,I AND M7400 CPA B ISZ NACMP BUMP RETURN FOR COMPARE! JMP NACMP,I * * * SET INITIAL IPX ADDRESS * * INIPX SETS THE ADDRESS OF THE FRIST ENTRY IN THE * PROGRAM IDENT TABLE AS THE CURRENT ADDRESS. * * * CALLING SEQUENCE: * A = IGNORED * B = IGNORED * JSB INIPX * * RETURN: A AND B ARE DESTROYED * INIPX NOP LDA LWAM ADA N2 STA BIDNT JMP INIPX,I HED RTSGN BASE PAGE LOCATIONS/BUFFERS A-29101-60007-1 REV.B * ALBUF DEF LBUF ATBUF DEF TBUF INERA DEF INERR APNAM DEF PNAMA * WDCNT OCT 0 TEMPORARY WORD COUNTER BIDNT BSS 1 ADDR OF FIRST IDENT * MAXC BSS 1 MAX CHAR COUNT TCHAR BSS 1 TEMPORARY CHAR SAVE AREA OCTNO BSS 1 OCTAL DIGIT PIOC BSS 1 ADDR. OF PRIVILEGED I/O CARD $$ TBCHN BSS 1 TIME BASE GENERATOR CHNL PARAD BSS 1 PARAMETER INPUT DRIVER ADDRESS * IDAA DEF *+1 ID5 BSS 1 PRIORITY ID6 BSS 1 RESOLUTION CODE ID7 BSS 1 EXECUTION MULTIPLE ID8 BSS 1 HOURS ID9 BSS 1 MINUTES ID10 BSS 1 SECONDS ID11 BSS 1 TENS OF SECONDS PNAMA DEF PNAME PNAME NOP NOP NOP BSS 3 PRAMS DEC 3 DEC 99 REP 6 NOP * * CURAL BSS 1 LBUF BSS 64 SETAD BSS 1 ABSOLUTE OUTPUT BUFFER ADDRESS * SPC 1 TEMP1 NOP TEMP2 NOP TEMP3 NOP IPXSV BSS 1 SRISV BSS 1 IP1 BSS 1 IP2 BSS 1 IP3 BSS 1 WONLY OCT 0 WRITE ONLY FLAG SYMAD OCT 0 FWASM CURAT BSS 1 CURRENT TBUF ADDRESS TCNT BSS 1 CURRENT TBUF COUNT TBUF BSS 4 TEMPORARY BUFFER PPREL BSS 1 TBREL BSS 1 * KEYAD BSS 1 ADDRESS OF KEY WORD TABLE KEYCN BSS 1 TOTAL KEYWORD COUNT KEYCT BSS 1 CURRENT KEYWORD COUNT $ * AEQT BSS 1 ADDRESS OF EQUIPMENT TABLE CEQT BSS 1 NO. ENTRIES IN EQUIPMENT TABLE * ASQT BSS 1 ADDR OF DEVICE REFERENCE TABLE CSQT BSS 1 NO. ENTRIES IN DEV. REF. TABLE * A$CIA BSS 1 ADDRESS OF $CIC ROUTINE PROCT BSS 1 NO. OF INT. ENTRIES STRAD BSS 1 $STRT START ADDRESS * * IDSAD BSS 1 SYSAD BSS 1 IDNOS BSS 1 ACTUAL ID'S FILLED STRPA DEF *+1 STRPN BSS 3 START UP PROG NAME AINT BSS 1 ADDRESS OF INTERRUPT TABLE CINT BSS 1 NO. ENTRIES IN INTERRUPT TABLE * * ERR09 ASC 1,NA PARAMETER NAME ERROR ERR10 ASC 1,PA PARAMETER ERROR ERR12 ASC 1,IN PARAMETER INTERVAL ERROR ERR24 ASC 1,CH INVALID CHANNEL NO. IN EQT REC ERR25 ASC 1,DR INVALID DRIVER NAME ERR27 ASC 1,LU INVALID DEVICE REF. NO. ERR31 ASC 1,EQ INVALID EQT NO. IN INT RECORD ERR33 ASC 1,AD INVALID ENTRY POINT IN INT RECORD PTERM ASC 1,EN ERRDU ASC 1,DU COMMA OCT 54 COMMA IJSB JSB 0,I I-JSB CODE FOR INTERRUPT LOCS UASCZ OCT 30000 UPPER ASCII ZERO CHAR CHARD OCT 104 ASCII CHAR D CHARB OCT 102 ASCII CHAR B CHART OCT 124 ASCII CHAR T BIT14 OCT 40000 BIT 14=1 CDEC ASC 1,C. CHR$C ASC 1,$C CHRIC ASC 1,IC CHAVR ASC 1,VR CHRPR ASC 1,PR REQT ASC 1,RE RDRT ASC 1,RD RINT ASC 1,RI CHREN ASC 1,EN CHRAB ASC 1,AB UTCHR ASC 1,T UGCHR ASC 1,G C0 OCT 41400 CHADV ASC 1,DV CHA.R OCT 122 0-ASCII(R) USCHR ASC 1,S ERR11 EQU CHRPR PARAMETER PRIORITY ERROR CHREQ EQU ERR31 MES28 DEF MS28 * MES25 DEF *+1 ASC 4,EQT TBL * MES26 DEF *+1 ASC 4,DRT TBL OCT 6412 ASC 2,LU#: * MES42 DEF *+1 ASC 4,#ID SEG? MES41 DEF *+1 ASC 5,PRIV. INT? MES2 DEF *+1 ASC 6,REL SYS MODS MES3 DEF *+1 ASC 6,REL RES LIB MES12 DEF *+1 ASC 4,INT PRGS MES13 DEF *+1 ASC 4,IGNORE? HED SYSTEM BASE PAGE COMMUNICATION AREA A-29101-60007-1 REV.B *** SYSTEM BASE PAGE COMMUNICATION AREA *** * * * SYSTEM TABLE DEFINITION * * . EQU 1650B EQTA DEF .+0 FWA OF EQUIPMENT TABLE EQT# DEF .+1 # OF EQT ENTRIES DRT DEF .+2 FWA OF DEVICE REFERENCE TABLE LUMAX DEF .+3 # OF LOGICAL UNITS (IN DRT) INTBA DEF .+4 FWA OF INTERRUPT TABLE INTLG DEF .+5 # OF INTERRUPT TABLE ENTRIES TAT EQU .+6 FWA OF TRACK ASSIGNMENT TABLE KEYWD DEF .+7 FWA OF KEYWORD BLOCK * * I/O MODULE/DRIVER COMMUNICATION * EQT1 EQU .+8 ADDRESSES EQT2 EQU .+9 EQT3 EQU .+10 OF EQT4 EQU .+11 EQT5 EQU .+12 CURRENT EQT6 EQU .+13 EQT7 EQU .+14 15-WORD EQT8 EQU .+15 EQT9 EQU .+16 EQT EQT10 EQU .+17 EQT11 EQU .+18 ENTRY EQT12 EQU .+81 EQT13 EQU .+82 EQT14 EQU .+83 EQT15 EQU .+84 * CHAN EQU .+19 CURRENT DMA CHANNEL # TBG DEF .+20 I/O ADDRESS OF TIME-BASE CARD SYSTY DEF .+21 EQT ENTRY ADDRESS OF SYSTEM TTY * * SYSTEM REQUEST PROCESSOR /'EXEC' COMMUNICATION * * RQCNT EQU .+22 # OF REQUEST PARAMETERS -1 RQRTN EQU .+23 RETURN POINT ADDRESS RQP1 EQU .+24 ADDRESSES RQP2 EQU .+25 RQP3 EQU .+26 OF REQUEST RQP4 EQU .+27 RQP5 EQU .+28 PARAMETERS RQP6 EQU .+29 RQP7 EQU .+30 (SET FOR MAXIMUM OF RQP8 EQU .+31 8 PARAMETERS) * * DEFINITION OF SYSTEM LISTS (QUEUES) * * DORMT DEF .+32 ADDRESS OF 'DORMANT' LIST, SKEDD DEF .+33 'SCHEDULE' LIST, SUSP3 EQU .+36 'AVAILABLE MEMORY' LIST, SUSP4 EQU .+37 'DISC ALLOCATION' LIST, SUSP5 EQU .+38 'OPERATOR SUSPEND' LIST * * DEFINITION OF EXECUTING PROGRAM ID SEGMENT' * * XEQT EQU .+39 ID SEGMENT ADDR. OF CURRENT PROG. XLINK EQU .+40 'LINKAGE' XTEMP EQU .+41 'TEMPORARY (5-WORDS) XPRIO EQU .+46 'PRIORITY' WORD XPENT EQU .+47 'PRIMARY ENTRY POINT' XSUSP EQU .+48 'POINT OF SUSPENSION' XA EQU .+49 'A REGISTER' AT SUSPENSION XB EQU .+50 'B REGISTER' XEO EQU .+51 'E AND OVERFLOW * * SYSTEM MODULE COMMUNICATION FLAGS * * OPATN EQU .+52 OPERATOR/KEYBOARD ATTENTION FLAG OPFLG EQU .+53 OPERATOR COMMUNICATION FLAG SWAP EQU .+54 RT DISC RESIDENT SWAPPING FLAG DUMMY DEF .+55 I/O ADDRESS OF DUMMY INT. CARD IDSDA EQU .+56 DISC ADDR. OF FIRST ID SEGMENT IDSDP EQU .+57 -POSITION WITHIN SECTOR * * DEFINITION OF MEMORY ALLOCATION BASES * * BPA1 DEF .+58 FWA R/T DISC RES. BP LINK AREA BPA2 EQU .+59 LWA R/T DISC RES. BP LINK AREA BPA3 EQU .+60 FWA BKG DISC RES. BP LINK AREA LBORG DEF .+61 FWA OF RESIDENT LIBRARY AREA RTORG DEF .+62 FWA OF REAL-TIME AREA RTCOM DEF .+63 LENGTH OF REAL TIME COMMON AREA RTDRA EQU .+64 FWA OF R/T DISC RESIDENT AREA AVMEM DEF .+65 FWA OF SYSTEM AVAILABLE MEMORY BKORG DEF .+66 FWA OF BACKGROUND AREA BKCOM EQU .+67 LENGTH OF BACKGROUND COMMON AREA BKDRA EQU .+68 FWA OF BKG DISC RESIDENT AREA * * UTILITY PARAMETERS * TATLG EQU .+69 LENGTH OF TRACK ASSIGNMENT TABLE TATSD EQU .+70 # OF TRACKS ON SYSTEM DISC SECT2 EQU .+71 # SECTORS/TRACK ON LU 2 (SYSTEM) SECT3 EQU .+72 # SECTORS/TRACK ON LU 3 (AUX.) DSCLB EQU .+73 DISC ADDR OF RES LIB ENTRY PTS DSCLN EQU .+74 # OF RES LIB ENTRY POINTS DSCUT EQU .+75 DISC ADDR OF RELOC UTILITY PROGS DSCUN EQU .+76 # OF RELOC UTILITY PROGS LGOTK EQU .+77 LOAD-N-GO: LU,STG TRACK,# OF TRKS LGOC EQU .+78 CURRENT LGO TRACK/SECTOR ADDRESS SFCUN EQU .+79 SOURCE FILE LU AND DISC ADDRESS MPTFL EQU .+80 MEMORY PROTECT ON/OFF FLAG (0/1) FENCE EQU .+85 MEM PROTECT FENCE ADDRESS BKLWA DEF .+87 LWA OF MEMORY IN BACKGROUND BPCLR DEF .+44 HED RTSGN INITIALIZATION A-29101-60007-1 REV.B * * INITIAL TRANSFER IS MADE TO RTSGN BY SETTING 100(8) * IN THE P REGISTER AND PRESSING RUN. IF ANY ERRORS ARE * DETECTED DURING RTSGN, IT MAY BE RESTARTED AT 100(8). * * IF THE TTY PUNCH IS TO BE USED, SET BIT 15 OF THE S REGISTER * THEN RTSGN WILL HALT BEFORE EACH OUTPUT OPERATION AS FOLLOWS: * * HLT -7 = TURN PUNCH ON * HLT -70 = TURN PUNCH OFF * * * THE FOLLOWING MESSAGES ARE PRINTED DURING THE INITIALIZATION * PHASE, WITH THE SPECIFICATIONS FOR EACH VALID RESONSE. * * * MESSAGE RESPONSE * * PRAM INPUT? ENTER DEVICE LU * * TBG CHNL? ENTER 2 OCTAL DIGITS * * PRIV. INT. ENTER 2 OCTAL DIGITS $$ * * FWA BP? ENTER 4 OCTAL DIGITS * * LWA MEM? ENTER 5 OCTAL DIGITS * * FWA SYS MEM? ENTER 5 OCTAL DIGITS * * RTSGN CLC 0,C TURN OFF ALL I/O,INTERRUPTS JSB SPACE GET A NEW JSB LTG OUTPUT LEADER LDA M2000 SET UP FWAM STA .MEM3 LDA P1647 STA .MEM2 SET LWABP CLA STA LST CLEAR THE SYMBOL TABLE COUNT STA NAMR. LDA LISTO AND N9 CLEAR BIT 3, FOR NEW HEADING STA LISTO * * SET PARAMETER INPUT UNIT * PARIN LDA P10 LDB MESS6 MESS6 = ADDR: PRAM INPT? JSB AREAD,I PRINT MESSAGE, GET REPLY JSB SINIT GET CODE, ANALYSE JMP PARIN REPEAT PARAMETER INPUT STA PARAD PARAD = PRAM INPUT DRIVER ADDR * SET TIME BASE GENERATOR CHANNEL JSB SPACE NEW LINE CHNLT LDA P9 LDB MES30 MES30 = ADDR: TBG CHNL? JSB AREAD,I PRINT MESSAGE, GET REPLY LDA P2 SET FOR 2 OCTAL DIGITS INPUT JSB DOCON GET DIGITS, RETURN OCTAL JMP CHNLT REPEAT INPUT STA TBCHN SET TBG CHANNEL NO. * * GET PRIV. INT. CARD ADDR. JSB SPACE NEW LINE $$ DUMY LDA P10 $$ LDB MES41 MES41 = ADDR: PRIV. INT. CARD?$$ JSB AREAD,I PRINT MESSAGE, GET REPLY $$ LDA P2 SET FOR 2 OCTAL DIGITS INPUT $$ JSB DOCON GET DIGITS $$ JMP DUMY -ERROR, REPEAT INPUT. $$ STA PIOC SET ADDR. OF DUMMY CARD. $$ * * * * SET FWA BP LINKAGE FWENT JSB SPACE $ LDA P7 $ LDB MES27 MES27 = ADDR: FWA BP LINKAGE? JSB AREAD,I PRINT AND GET REPLY LDA P4 JSB AGETO,I GET 4 OCTAL DIGITS, CONVERT JMP LNKER INVALID DIGIT ENTERED JSB AGETA,I GET NEXT CHAR FROM LBUF CPA ZERO END OF BUFFER? JMP SETFB YES - SET FWA BP LINKAGE LNKER JSB INERA,I JMP FWENT REPEAT MESSAGE SETFB LDB OCTNO GET FWA BP SZB,RSS SKIP - VALID (NON-ZERO) FWA BP JMP LNKER REPEAT FWA BP LINKAGE INPUT STB .MEM1 ADB N1 STB LWABP SAVE FOR INT PROCESSOR JSB SPACE NEW LINE * LDA ALBUF SET OFFSET ADDRESS STA SETAD TO THE CLEARED BUFFER LDB ALBUF ADDRESS OF IN BUFFER JSB BUFCL CLEAR BUFFER TO OCTAL ZEROS OCT 0 LDA EQTA START ADDR OF AREA TO BE CLEARED LDB BPCLR END ADDRESS JSB SETCR CLEAR LOWER HALF LDA BPCLR LDB BKLWA JSB SETCR CLEAR UPPER HALF SMLWA LDA P8 LDB MESS3 MESS3 = ADDR: LWA MEM? JSB AREAD,I PRINT MESSAGE, GET REPLY LDA P5 SET FOR 5 OCTAL DIGITS INPUT JSB DOCON GET DIGITS, RETURN OCTAL JMP SMLWA REPEAT INPUT LDA OCTNO GET LWAM STA TEMP3 SAVE FOR FWA SYS MEMORY PROCESSING STA SETAD,I PUT IN BUFFER LDA BKORG ADDRESS OF BK LWAM LDB A ADDRESS INTO B JSB SETCR OUTPUT ABSOLUTE LDA BKLWA THE OTHER BP REFERENCE LDB A JSB SETCR OUTPUT TO ABS * JSB SPACE GETAV LDA P11 PRINT: LDB MES34 "FWA SYS MEM? JSB AREAD,I GET THE ANSWER LDA P5 SET FOR 5 oCTAL DIGITS. JSB DOCON CONVERT TO OCTAL. JMP SYMER -ERROR. JMP SETAV OK , SET BOUNDARY. * SYMER JSB INERA,I JMP GETAV -REPEAT REQUEST *