;;;MODIFICATION HISTORY ;;; ;;; 15 NOV 75 OBTAINED FROM DEC (KLDCP REV 7) ;;; 15 NOV 75 CONVERTED TO PALX FORMAT ;;; .SBTTL *STORE* PROGRAM STORAGE FILE, 5-AUG-75 .MACRO INFORM A,B .IF P2 .PRINT\A=B \ .ENDC .ENDM INFORM PROGRAM END,\. .NLIST .IF DF KLDCP .LIST ;DECISION TABLES FOR KL10/11 SUBROUTINE PACKAGE $DTBL0: $LF: .BYTE 12 $CR: .BYTE 15 $BELL: .BYTE 07 .BYTE 00 .EVEN $DTBL1: $LFTBL ;LINE FEED FILL TABLE $CRTBL ;CARRIAGE RETURN FILL TABLE $BELLT ;BELL FILL TABLE $LFTBL: .BYTE 1,1 .BYTE 2,1 .BYTE 2,4 $CRTBL: .BYTE 0,0 .BYTE 9.,1 .BYTE 2,4 $BELLT: .BYTE 2,2 .BYTE 2,2 .BYTE 2,2 $DTBL: 10000. 1000. 100. 10. 1. $TBLL: 1. 10. 100. 1000. 10000. .NLIST .ENDC ;KLDCP .LIST ;THIS SECTION CONTAINS ALL PROGRAM TEXT LITERALS $$FF: $$CLIT $$LITT=. $$$FF=$$CLIT INFORM LITERAL END,\$$CLIT ;BUFFER CREATION MACROS $$BUF= COREND-600 ;ROOM FOR STACK ;WORD BUFFER ASSIGNMENT MACRO ;USAGE IS: .BUFW TAG=,NUMBER-OF-WORDS [OPTIONAL] .MACRO .BUFW $BTAG,$BARG .IIF NE $$BUF&1,$$BUF=$$BUF-1 .IIF B $BARG,$$BARG=1 .IIF NB $BARG,$$BARG=$BARG $$BUF=$$BUF-<$$BARG*2> ; .NLIST ; .LIST ME ; .LIST $BTAG $$BUF ; .NLIST ME .ENDM ;BYTE BUFFER ASSIGNMENT MACRO .MACRO .BUFB $BTAG,$BARG .IIF B $BARG,$$BARG=1 .IIF NB $BARG,$$BARG=$BARG $$BUF=$$BUF-$$BARG ; .NLIST ; .LIST ME ; .LIST $BTAG $$BUF ; .NLIST ME .ENDM ; .NLIST LOC ;PROGRAM BUFFERS & STORAGE AREA ;CLEARED ON INITIALIZATION ;STORAGE FOR DTE20 ADDRESS POINTERS .BUFW .DIAG3= ;XXX36 .BUFW .STDTE= ;XXX34 .BUFW .DIAG2= ;XXX32 .BUFW .DIAG1= ;XXX30 .BUFW .T11DT= ;XXX26 .BUFW .T10DT= ;XXX24 .BUFW .T11AD= ;XXX22 .BUFW .T10AD= ;XXX20 .BUFW .BC11= ;XXX16 .BUFW .BC10= ;XXX14 .BUFW .TENA2= ;XXX12 .BUFW .TENA1= ;XXX10 .BUFW .DAT1= ;XXX06 .BUFW .DAT2= ;XXX04 .BUFW .DAT3= ;XXX02 .BUFW .DELAY= ;XXX00 ;SPECIAL LOAD ONLY CLEAR & SETUP AREA .BUFW $ONETM= ;ONE TIME FLAG .BUFW $ILDSUM= ;"KLDCP" CHECKSUM .BUFW $PWRCNT= ;POWER RESTART COUNT .BUFW DEVTYP= ;DEVICE TYPE: -1=ACT, 0=DTA, 1=RP04 .BUFW FLOPPY= ;-1, USE RX11/RX01 FLOPPY .BUFW LPTFLG= ;LINE PRINTER FLAG .BUFW LPTYPE= ;LINE PRINTER TYPE .BUFW RXUNIT= ;FLOPPY UNIT .BUFW DTUNIT= ;DECTAPE UNIT .BUFW RPUNIT= ;RP04 UNIT .BUFW $BKFLG= ;BREAKPOINT FLAG .BUFW CLKPE=,3 ;CLOCK PE DFWRT STORAGE .BUFW PEBITS= ;CLOCK STOP PARITY ENABLE BITS .BUFW PAGDFL=,3 ;KL10 "DATAO PAG,0" DEFAULT .BUFW CLKDFL=,3 ;KL10 CLOCK DEFAULT .BUFW SWS10=,3 ;PDP-10 SWITCHES .BUFW $SWS10=,3 .BUFW $$SWR= .BUFW $$STJRS=,3 ;PDP-10 START "JRST" .BUFW $STODD= ;"SETMPH" VARIABLES .BUFB $MPHMK= ;MASK, A OR B CHANGE .BUFB $MPHDF= ;DIAG FCN, A OR B CHANGE .BUFW TGOADR=,2 ;PDP-10 GO START ADDRESS .BUFW PGOADR=,2 ;PROGRAM GO ADDRESS .BUFW PGOCTL= ;PROGRAM GO CONTROL .BUFW SEADR= ;PDP-11 START ADDRESS .BUFW ITSFLG= ;NON-ZERO ITS IOELEVEN PROGRAM IS IN CORE ;KLINIK FIELD SERVICE REMOTE FLAG .BUFW DL11EFLG= ;BP TABLE; INST, ADR, CNT .BUFW $BT=,<$NB*3> ;BP TABLE .BUFW $BCA= ;BP CONTINUE ADDRESS .BUFW $BTIS= ;BP TEMP $ILDCLR=$$BUF ;COMMON STORAGE .BUFW $SWMON= ;MONITOR LOW ORDER SWITCHES .BUFW MONCTL= ;0=STANDALONE, -1=MONITOR .BUFW TENSWD= ;PDP-10 SWITCH DEPOSIT FLAG .BUFW TENCLK= ;PDP-10 CLOCK ENABLE FLAG .BUFW PCMDFLG= ;PROGRAM COMMAND FLAG .BUFW PCMDNF= ;PROGRAM CMD NO PRINT FLAG .BUFW $ITERA= ;ITERATION REGISTER .BUFW $ENDCT= ;END OF PASS REPORT COUNT .BUFW $EOPCT= ;END OF PASS COUNT .BUFW $ERRPC= ;ERROR PC .BUFW $ERTTL= ;TOTAL ERRORS DETECTED .BUFW $ERFLG= ;ERROR FLAG .BUFW $PASS= ;PASS COUNT .BUFW $CMTAG= ;COMMON TAG ;DECTAPE/RP04 AND LOADING BUFFERS .BUFW DVBUF=,256. ;DEVICE BUFFER VFUDAT=DVBUF .BUFW EXTBF=,2 ;ASCII EXTENSION BUFFER .BUFW NAMBF=,3 ;ASCII NAME BUFFER .BUFW DIRST4= .BUFW DIRST3= .BUFW DIRST2= .BUFW DIRST1= .BUFW DIRST0= ;PSEUDO DIRECTORY CONVERSION STORAGE .BUFW DTEXT= ;RAD50 EXT .BUFW DTEXTS=,3 ;UNPACKED EXT (ASCII) .BUFW DTLNGTH= ;DECTAPE FILE LENGTH .BUFW DTSTRT= ;DECTAPE FILE START BLOCK .BUFW DVADR= ;DEVICE DATA ADDRESS POINTER .BUFW DVCNT= ;DEVICE BYTE COUNT .BUFW DVDIRF= ;DEVICE DIRECTORY FLAG .BUFW CDADR= ;CORE DUMP BUFFER POINTER .BUFW DIAFLG= ;"DIAMON" OPERATION FLAG .BUFW RPEOF= ;END-OF-FILE FLAG .BUFW WRTBAK=,3 ;RPLKUP & RPWRFL RETURN INFO .BUFW $RPINFO=,2 ;DVDATA POINTERS .BUFW NAMRAD=,3 ;RAD50 NAME.EXT .BUFW RPFDNB= ;FILE DIRECTORY LENGTH IN BLOCKS .BUFW RPFDTS= ;FILE DIRECTORY TRACK & SECTOR .BUFW RPFDCY= ;FILE DIRECTORY CYLINDER NUMBER .BUFW RPIXNB= ;INDEX FILE LENGTH IN BLOCKS .BUFW RPIXTS= ;INDEX FILE TRACK & SECTOR .BUFW RPIXCY= ;INDEX FILE CYLINDER NUMBER .BUFW RPIXCB= ;INDEX FILE CURRENT BLOCK .BUFW RPLAST= ;INDEX FILE LAST BLOCK .BUFW CYLNDR= ;CURRENT CYLINDER .BUFW TRKSCT= ;CURRENT TRACK & SECTOR .BUFW OFFSET= ;CURRENT OFFSET .BUFW BUFADR= ;BUFFER ADDRESS .BUFW BUFSIZ= ;BUFFER SIZE .BUFW WRDCNT= ;READ/WRITE WORD COUNT .BUFW FILDSB=,FDESIZ+2 ;FILE DESCRIPTOR ;DECTAPE PARAMETER STORAGE .BUFW REVCNT= ;REVERSE COUNT .BUFW INTSW= ;INIT SWITCH .BUFW $CKS11= ;PDP-11 BINARY CHECKSUM .BUFW LTMP= ;LOAD TEMP .BUFW LBC= ;LOAD BYTE COUNT .BUFW TRYCTR= ;DECTAPE TRY COUNT .BUFW DTXCMD= ;DECTAPE XFER COMAND .BUFW WCSAV= ;WORD COUNT SAVE .BUFW CASAV= ;CURRENT ADDRESS SAVE .BUFW DTBLK= ;DECTAPE BLOCK NUMBER ;FLOPPY PARAMETER STORAGE .BUFW $$ITS1= ;FLOPPY "$RXITS" COUNTER .BUFW RXSADR= ;FLOPPY SECTOR ADDRESS .BUFW RXTADR= ;FLOPPY TRACK ADDRESS .BUFW RXBLKT= ;FLOPPY BLOCK # TEMP .BUFW RXWCMD= ;FLOPPY WORKING COMMAND .BUFW RXCMD= ;FLOPPY COMMAND .BUFW RXBLK= ;FLOPPY BLOCK NUMBER ;LOAD PARAMETER STORAGE .BUFW LDATAE= .BUFW LDATA=,34. ;LOAD DATA .BUFW LDADR= ;LOAD ADDRESS .BUFW LDCNT= ;LOAD WORD COUNT .BUFW LDOCTF= ;LOAD OCTAL FORMAT FLAG .BUFW LDCNTL= ;LOAD CONTROL WORD .BUFW LDOVRD= ;LOAD CONTROL OVERRIDE .BUFW LDZBLK= ;LOAD 10 ZERO BLOCK FLAG .BUFW SRTFLG= ;SELF START FLAG .BUFW DEVLC= ;DEVICE LINE COUNT .BUFW ARETRY= ;ACT10 RETRY COUNT .BUFW HLPPNT= ;ACT10 HELP PRINT FLAG .BUFW EMTLDD=,2 ;HOLDS WHAT TO LOAD INTO EMT VECTOR ;TELETYPE BUFFERS .BUFW $INPTR= ;INPUT POINTERS .BUFW $INPTC= .BUFB $INBUF=,142. ;INPUT BUFFER .BUFW $OUTPC= ;OUTPUT POINTERS .BUFW $OUTPT= .BUFW $OUTPP= ;OUTPUT PRINT POSITION .BUFB $OUTBF=,142. ;OUTPUT BUFFER .BUFW $TNPTR= ;10 INPUT POINTERS .BUFW $TNPTC= .BUFB $TNBUF=,142. ;10 INPUT BUFFER .BUFW $TNCHR=,3 ;LAST CHAR TYPED (FOR TEN) .BUFW TENTTY= ;10 "TENCHR" FLAG .BUFW $TTYIN= .BUFB $TTSAV=,12. .BUFW ENQFLG= ;COMMUNICATIONS IN PROGRESS .BUFW MSGNBR= ;COMMUNICATIONS MESSAGE NUMBER .BUFW COMNBR= ;COMMUNICATION NUMBER .BUFB COUTBF=,142. ;COMMUNICATIONS OUTPUT BUFFER .BUFW COUTSP=,2 ;OUTPUT CONTROL CHARACTERS .BUFB CINBF=,142. ;COMMUNICATIONS INPUT BUFFER .BUFW CINSP=,2 ;INPUT CONTROL CHARACTERS .BUFW $PRNTH= ;PRINT HEAD POSITION .BUFW $PGWID= ;PAGE WIDTH .BUFW $TPLIN= ;NUMBER OF LINES ON A PAGE .BUFW $TPLIT= ;LINES TALLY .BUFW $XOFLG= ;XOFF FLAG, -1 = NO PRINT .BUFW CTRLOF= ;CONTROL O FLAG .BUFW $EOLFLG= ;END OF LINE FLAG .BUFW $TTLKF= ;TTLOOK INPUT CHECKS INHIBIT .BUFW TILNWF= ;TTY INPUT WAIT FLAG .BUFW $FORCE= ;FORCE PRINTOUT FLAG .BUFW $TTYFL= ;TTY FILL PARAMETER .BUFW $0FLG= ;ZERO FILL FLAG .BUFW $NEG= ;NEGATE NUMBER INPUT FLAG .BUFW $SVH= .BUFW $SVM= .BUFW $TICHR= ;TTY DRIVER INPUT CHAR .BUFW $TOCHR= ;TTY DRIVER OUTPUT CHAR .BUFW DDTFLG= ;PDP-10 DDT INPUT MODE FLAG ;CONSOLE PARAMETER STORAGE .BUFW $KONSP= ;SAVED STACK POINTER .BUFW ALLFLG= ;ALL PRINT FLAG .BUFW RPTFLG= ;COMMAND REPEAT FLAG .BUFW VERIFY= ;PROGRAM VERIFY FLAG .BUFW .EADR= ;EXAMINE 11 ADDRESS .BUFW $ECADR= ;EXAMINE C-RAM ADDRESS .BUFW $EDADR= ;EXAMINE D-RAM ADDRESS .BUFW $ADR= .BUFW .DFRDA=,3 .BUFW .DPXAD=,2 .BUFW L10ADR=,2 ;LOAD 10 ADDRESS .BUFW TENRUN= ;TEN RUNNING FLAG .BUFW MONMODE= ;TEN MONITOR MODE FLAG .BUFW MTTYOF= ;MONITOR TTY OUTPUT IN PROGRESS .BUFW $TTYTIM= ;TTY TIMEOUT COUNT ;BREAKPOINT STORAGE .BUFW $R0TMP= .BUFW $PCSAV= .BUFW $PSSAV= .BUFW $TEMP0=,3 .BUFW $ADR1= .BUFW $SPSAV= .BUFW $R5SAV= .BUFW $R4SAV= .BUFW $R3SAV= .BUFW $R2SAV= .BUFW $R1SAV= .BUFW $R0SAV= ;MISCELLANEOUS STORAGE .BUFW $EMADR= ;EMT ADDRESS (+2) .BUFW $SWTCH= ;SWITCHES .BUFW $$SVSP= .BUFW TEMP= .BUFW IFILEF= ;INDIRECT FILE FLAG .BUFW IFINP= ;INDIRECT STORAGE POINTER .BUFW JFILEF= ;DOUBLE INDIRECT FILE FLAG .BUFW JFINP= ;DOUBLE INDIRECT STORAGE POINTER .BUFW PRGRUN= ;PROGRAM RUNNING FLAG .BUFW MEMPEF= ;PARITY FLAG .BUFW .HCFLG= ;ALLOW HALT CONTINUE FLAG .BUFW .HCADR= ;HALT CONTINUE ADDRESS .BUFW DDTTM1= ;DDT MODE TIMEOUT COUNTS .BUFW DDTTM2= .BUFW $ECMD=,3 ;DTE20 COMMAND STORAGE .BUFW $SAV20=,3 ;PDP-10 SAVE 20 STORAGE ;KL10 SUBROUTINE STORAGE .BUFW ZEROS=,3 ;SOURCE OF 36 ZEROS .BUFW VMADAT=,3 ;VMA & PC TEMP .BUFW XXDAT= ;DF WRITE TEMP .BUFW MMDAT=,3 ;WWADR TEMP .BUFW WREADY=,3 ;$WCRAM TEMP .BUFW SIGNL= .BUFW $BUFRC=,6 ;$RCRAM TEMP .BUFW SIGNL2= .BUFW SIGNL3= .BUFW DDRAM=,3 ;$DRAMAD TEMP .BUFW RDRTMP=,2 ;$RDRAM TEMP .BUFW $DRAM=,6 .BUFW $DDRMS= .BUFW $STDAT= ;$BURST TEMP .BUFW KLCLKR= ;KL10 CLOCK LOGICALLY RUNNING FLAG .BUFW TENDAT=,3 ;PDP-10 INPUT DATA WORD .BUFW TENAC0=,2 ;PDP-10 AC0 ADDRESS .BUFW C10CW=,3 ;PDP-10 CLOCK WAIT COUNT .BUFW CLKCNT=,3 ;PDP-10 CLOCK COUNT BUFCLR= $$BUF ; .LIST LOC INFORM LOWEST VARIABLE,\$$BUF