*20 ///PROGRAM PDP11DAT /PROGRAM TO PRODUCE PDP 11 /FEATURE FILE MAG TAPES FROM /SIGSYS 12 DATA FILES.ALLOWS /MULTIPLE FILES SAME AS DOBANDS /AND SPECBND2. /OPERATING COMMANDS / / MAG TAPE MOUNTED?: (YES,NO) / INUNITS: (INPUT UNITS) / LINC TAPE IDENT: (2 CHARS) / ALL?: (AS IN DOBANDS) / / END OF MAG TAPE?: (YES,NO) /252 FLOATING POINT NUMBERS ARE /EXTRACTED FROM THE DATA AREA /OF EACH SYSTEM FILE AND WRITTEN /TO MAG TAPE OR TELETYPE /EACH DATA FILE IS PRECEEDED WITH A /HEADER OF THE FORM 1X,2A4,I3 . THE /SPECIFIC CONTENTS OF THE HEADER IS: / BRRRRRRTTNNN /WHERE: / B=SPACE / R=RECORD ID. E.G. AA1234 / T=TAPE ID. (OPERATOR ENTRY) / N=RECORD SEQUENCE NUMBER ON TAPE / / /MAG TAPE FORMAT / /(6 INCHES BLANK TAPE, 4EOF MARKS) / /MULTIPLE RECORDS OF THE FOLLOWING FORM /(1X,2A4,I3),(IRG) HEADER /42((1X,6F11.4),(IRG)) 252 DATA VALUES /(EOF) / " / " /(EOF) END OF TAPE MARK / /************WARNING**************** / /IN SIGSYS 12, ILLEGAL NUMBERS ARE /CONVERTED TO ? ON OUTPUT.THIS IS /AN UNREADABLE FORMAT TO FORTRAN. /IN THIS PROGRAM ALL SUCH NUMBERS /ARE TRAPPED AND THE ? IS CONVERTED /TO OCTAL 60 (0). / /*********************************** /SENSE SWITCH OPTIONS: / / SNS0=0 WRITE DATA ON MAG TAPE / =1 PRINT DATA ON TELETYPE / / SNS3=0 PRINT MISSING ENTRIES FROM TABLE / OF FILE NAMES / =1 SUPPRESS MISSING ENTRIES PRINT-OUT /LODSYM NOT NEEDED. PBLOCK ADDED. LMODE SEGMNT 5 *20 LIF 4 MESOUT MPB /PDP11DAT START, LIF 4 INTRACT CJ3 M3 /MAG TAPE MOUNT BEG, LIF 4 INUNIT LIF 4 INTRACT CJ5 M5 /TAPE ID. D2, JMP WRDSET /SET WRD1,WRD2 LIF 4 INTRACT CJ2 M2 /ALL?: CJ2, T2 J2 CJ3, T2 J3 CJ4, T2 J4 CJ5, T1 J5 T2, YES NO T1, 0 J2, JMP BEG /CR JMP DOALL /YES; ALL FILES JMP DOTAB /NO; FILE TABLE JMP D2 /0 J3, JMP START /CR JMP SRTTAP /YES,WRITE LEADER JMP START /NO J4, JMP ENDQES /CR JMP ENDTAP /YES JMP BEG /NO J5, JMP BEG /CR JMP GETID /TAPE IDENT /ALL FILES FILES HANDLER DOALL, LIF 4 DIRINI NXTFIL, LIF 4 MGETNAM JMP ALLDON /END OF FILES LIF 4 MGETFIL HLT /NOT FOUND, ERROR JMP DOTAPE /DO TAPE WRITING JMP NXTFIL /NEXT FILE /INPUT FILE TABLE HANDLER DOTAB, LIF 4 TABSET 0 LDF 2 2000 1000 LIF 4 INTABLE 0 LIF 4 TABINI 0 NXTTAB, LIF 4 TABGET 0 JMP ENDTAB /END OF TABLE JMP NXTTAB /NOT FOUND LIF 4 TABZER 0 JMP DOTAPE /DO TAPE WRITING JMP NXTTAB /NEXT FILE /PROGRAM EXIT ROUTINE ENDTAB, LIF 4 TABINI 0 LIF 4 MISSNG 0 NOP /MISSING FOUND ALLDON, LIF 4 DEASS /ASK IF MAG TAPE EOF? ENDQES, LIF 4 INTRACT CJ4 M4 /END OF MAGTAPE? ENDTAP, SNS 0 JMP WRTEOF /DOUBLE EOF FOR EOT LIF 4 STOP /SUBROUTINES /SET UP WORD1 AND WORD2 IN DECODE /AND INITIALIZE TAPE SEQUENCE NUMBER WRDSET, LDF 4 LDA I 7107 STA WORD1 LDA I 4406 STA WORD2 LDA I 1 STC SEQNUM JMP 0 //MASTER CONTROLLER FOR TAPE WRITING DOTAPE, LDA 0 STC DOTAPX JMP HEADER /WRITE HEADER JMP WRTIRG /INTER RECORD GAP JMP DAT256 /WRITE OUT DATA JMP WRTEOF /END OF RECORD DOTAPX, JMP //END INTEGRATION MASTER COMTROLLER. /WRITE HEADER DATA / HEADER, LDA 0 STC HEADX /FILENAME LDF 4 SFLOAT FILNAM+1 /VAL OF FILE SETWRD 400 OUTPUT VALBUF /LEADING SPACE LDA I 40 JMP WR /FILNAME CHARS LDH FILNAM JMP WR LDH 4\FILNAM JMP WR LDA I -4 JMP VALCON /TAPE ID LDH TAPID JMP WR LDH 4\TAPID JMP WR /SEQUENCE NUMBER SFLOAT SEQNUM SETWRD 300 OUTPUT VALBUF LDA I -3 JMP VALCON / LDA I 1 ADM I SEQNUM, 0 HEADX, JMP /TRANSMIT VALUES FROM VALBUF / VALCON, STC 5 /- CHAR COUNT SET 2 0 /CHECK FOR ? IN OUTPUT BUFFER LDH VALBUF+5 SAE I 77 JMP .+5 LDA I 60 STH VALBUF+5 / SET I 3 4\VALBUF-1 LDH I 3 JMP WR XSK I 5 JMP .-3 JMP 2 /GET TAPE IDENT SUBROUTINE / GETID, LDF 4 LDA INBUF STC TAPID LDF 5 JMP D2 /WRITE 6 INCHES OF LEADER // SRTTAP, SNS I 0 JMP BEG /DONT PRINT SET I 3 -4 JMP WRTEOF XSK I 3 JMP .-2 JMP BEG /PRINT A SINGLE CHAR ON TTY /CONVERT 6 BIT TO 7 BIT / TYPIT, ADA I 40 BCL I 7700 ADA I 40 STC TCHR / OPR 11 7704 -1 0 TCHR, 0 JMP .-5 / OPR 1 4 TYPX JMP .-3 OPR 5 / TYPX, JMP 1 /PRINT CRLF / CRLF, LIF 4 MESOUT CRMES JMP 1 / /PRINT 2 DASHES / DSHOUT, LIF 4 MESOUT DSHMES JMP 1 /WRITE OUT 252 DATA POINTS / DAT256, LDA 0 STC DATX SET I 17 3777 /START OF DATA SET I 16 -52 /42*6 /DO 6 VALUES NX6, SET I 15 -6 LDA I 40 JMP WR NXVAL, LDF 6 LDA I 17 STC NUM LDA I 17 STC NUM+1 LDA I 17 STC NUM+2 LDF 5 /CHECK FOR FUNNY VALUE LDA NUM SAE I 3777 JMP DATOUT CLR STC NUM STC NUM+1 STC NUM+2 DATOUT, SETWRD 1344 LOAD NUM OUTPUT VALBUF LDA I -13 JMP VALCON XSK I 15 JMP NXVAL JMP WRTIRG /INTER RECORD GAP XSK I 16 JMP NX6 /NEXT 6 VALUES DATX, JMP /END OF 12 VALUES WRTIRG, SET 1 0 SNS I 0 JMP CRLF IOB IOF LDA I 1000 IOB 6704 IOB 6703 JMP .-2 JMP 1 WRTEOF, SET 1 0 SNS I 0 JMP DSHOUT /PRINT DASHES IOB IOF LDA I 2000 IOB 6704 IOB 6703 JMP .-2 JMP 1 WR, SET 1 0 SNS I 0 JMP TYPIT ADA I BCDTAB STC 4 LDA 4 IOB IOF IOB 6706 IOB 6703 JMP .-2 JMP 1 /BCD CONVERSION TABLE BCDTAB, 20 /00 USE BLANK 61 /A 62 /B 63 /C 64 /D 65 /E 66 /F 67 /G 70 /H 71 /I 41 /J 42 /K 43 /L 44 /M 45 /N 46 /O 47 /P 50 /Q 51 /R 22 /S 23 /T 24 /U 25 /V 26 /W 27 /X 30 /Y 31 /Z 17 /[ 00 /\ 32 /] 55 / 00 /NO 37 20 /SPACE 00 /! 00 /" 00 /CR 00 /$ 00 /LF 00 /& 00 /NO 47 34 /( 74 /) 54 /* 60 /+ 33 /, 40 /- 73 /. 21 // 12 /0 01 /1 02 /2 03 /3 04 /4 05 /5 06 /6 07 /7 10 /8 11 /9 12 /: 77 /; 72 /< 13 /= 57 /> 00 /? //MESSAGES. MPB, TEXT %PDP11DAT% 4543 M2, TEXT &ALL?: & M3, TEXT &TAPE MOUNTED?:& M4, TEXT %END OF MAG TAPE?: % M5, TEXT &LINC TAPE IDENT:& DSHMES, 5555 CRMES, 4543 //END MESSAGES. //CONSTANTS & STOREAGE BUFFERS. NUM, 0 0 0 VALBUF, 0 0 0 0 0 0 0 TAPID, 0 //END CONSTANTS. AAEND, 0 //END PROGRAM CODING. /PBLOCK FOLLOWS. NOLIST //PBLOCK /PARAMETER BLOCK ASSIGNMENTS / P0=3400 /DATA TYPE P1=3401 /CURRENT CHAN. P2=3402 /CURRENT CHAN. P3=3403 /DATA CHAN. P4=3404 /DATA CHAN. P5=3405 /CONTINGENCY CH P6=3406 /CONTINGENCY CH P7=3407 /TRUE CONTING. P10=3410 /FALSE CONTING. P11=3411 /CONTING. WIDTH P12=3412 /TRUE CONTING. P13=3413 /FALSE CONTING. P14=3414 /CONTING. WIDTH P15=3415 /CHAN INVERSION P16=3416 /CHAN INVERSION P17=3417 /NO.SAMP IN SEG P20=3420 /NO.SEG IN ENSM P21=3421 /NO. ENSEMBLES P22=3422 / P23=3423 /BASELINE PNTS P24=3424 /TAPE DELAY P25=3425 /ENSEMBL DELAY P26=3426 /CLOCK RATE P27=3427 /CLOCK TICS P30=3430 P31=3431 P32=3432 P33=3433 P34=3434 P35=3435 P36=3436 P37=3437 /TAPE SPEED UP P40=3440 /TAPE SPEED UP P41=3441 /TAPE SPEED UP / /FLOATING POINT VARIABLES / / P42=3442 /MULT FACTOR P43=3445 /UV PER VOLT P44=3450 /SEG. LENGTH P45=3453 /TEMP P46=3456 /BASELINE DELAY P47=3461 /CONTING WIDTH P50=3464 /BNDA1 MIN P51=3467 /BNDA1 MAX P52=3472 /BNDA2 MIN P53=3475 /BNDA2 MAX P54=3500 /BNDA3 MIN P55=3503 /BNDA3 MAX P56=3506 /BNDA4 MIN P57=3511 /BNDA4 MAX P60=3514 /BNDA5 MIN P61=3517 /BNDA5 MAX P62=3522 /BNDB1 MIN P63=3525 /BNDB1 MAX P64=3530 /BNDB2 MIN P65=3533 /BNDB2 MAX P66=3536 /BNDB3 MIN P67=3541 /BNDB3 MAX P70=3544 /BNDB4 MIN P71=3547 /BNDB4 MAX P72=3552 /BNDB5 MIN P73=3555 /BNDB5 MAX P74=3560 /PF MIN P75=3563 /PF MAX P76=3566 /TEMP P77=3571 /TRUE VOLTS P100=3574 /FALSE VOLTS P101=3577 /TEMP P102=3602 /V RMS P103=3605 /VRMS VAR / /FROM NOW ON DESCRIPTION IS FOUND OVER /THE DEFINED VARIABLE. / /AX,A1,A1CNT P104=3610 /AXVAR,A1VAR,A1CNTVAR P105=3613 /AY,A2,A1INT P106=3616 /AYVAR,A2VAR,A1INTVAR P107=3621 /BX,A3,A1MN P110=3624 /BXVAR,A3VAR,A1MNVAR P111=3627 /BY,A4,A2CNT P112=3632 /BYVAR,A4VAR,A2CNTVAR P113=3635 /CX,A5,A2INT P114=3640 /CXVAR,A5VAR,A2INTVAR P115=3643 /CY,B1,A2MN P116=3646 /CYVAR,B1VAR,A2MNVAR P117=3651 /DX,B2,A3CNT P120=3654 /DXVAR,B2VAR,A3CNTVAR P121=3657 /DY,B3,A3INT P122=3662 /DYVAR,B3VAR,A3INTVAR P123=3665 /EX,B4,A3MN P124=3670 /EXVAR,B4VAR,A3MNVAR P125=3673 /EY,B5,A4CNT P126=3676 /EYVAR,B5VAR,A4CNTVAR P127=3701 /FX,PF,A4INT P130=3704 /FXVAR,PFVAR,A4INTVAR P131=3707 /FY,DC,A4MN P132=3712 /FYVAR,DCVAR,A4MNVAR P133=3715 /GX,GX,A5CNT P134=3720 /GXVAR,GXVAR,A5CNTVAR P135=3723 /GY,GY,A5INT P136=3726 /GYVAR,GYVAR,A5INTVAR P137=3731 /HX,HX,A5MN P140=3734 /HXVAR,HXVAR,A5MNVAR P141=3737 /HY,HY,B1CNT P142=3742 /HYVAR,HYVAR,B1CNTVAR P143=3745 /IX,IX,B1INT P144=3750 /IXVAR,IXVAR,B1INTVAR P145=3753 /IY,IY,B1MN P146=3756 /IYVAR,IYVAR,B1MNVAR P147=3761 /JX,JX,PF P150=3764 /JXVAR,JXVAR,PFVAR P151=3767 /JY,JY,DC P152=3772 /JYVAR,JYVAR,DCVAR P153=3775 / / /COMMAND DECODER ASSIGNMENTS / / STOP=JMP 20 SCAN=JMP 21 STRSCN=JMP 21 INUNIT=JMP 22 STORIT=JMP 23 GETFIL=JMP 24 GETFST=JMP 24 GETNAM=JMP 25 GETNXT=JMP 25 DIRINI=JMP 26 DIRLST=JMP 27 ASSIGN=JMP 30 DEASS=JMP 31 OUTUNIT=JMP 32 LODBLK=JMP 33 RUNBLK=JMP 34 FIND=JMP 35 CALL=JMP 37 UNCALL=JMP 40 RUNPRG=JMP 41 INTRACT=JMP 42 MESOUT=JMP 43 DISK=JMP 44 TABSET=JMP 45 INTABLE=JMP 46 MISSNG=JMP 47 TABGET=JMP 50 TABPUT=JMP 51 TABZER=JMP 52 MAKDIL=JMP 53 TABINI=JMP 54 MGETNAM=JMP 55 MGETFIL=JMP 56 MSTORIT=JMP 57 / /COMMAND LOCATIONS. / FILNAM=2320 WORD1=2323 WORD2=2324 INBUF=2325 REPCK=2376 /COMMAND NUMBERS. YES=17 NO=20 SAMPL=21 TABLE=22 GO=23 NEXT=24 ALL=27 / /EXEC3 ASSIGNMENTS / OPR=500 IOF=6002 ION=6001 EXC=1710 REXC=540 RLSW=514 RRSW=515 /FLOATING POINT DEFINITIONS. / FAC=0 STARTE=740 FSUB=741 FMUL=742 FDIV=743 LOAD=744 STORE=745 SETWRD=746 INPUT=747 OUTPUT=750 ISTOR1=751 SQRT=752 DFLOAT=753 SFLOAT=754 FIX=755 FADD=756 ISTOR2=757 STARTF=760 FCOMP=761 FZER=762 FAPO=763 FAZE=764 RECIP=765 NEXTIN=766 SETIN=767 SETOUT=770 OUTBUF=771 / /PBLOCK /FEB 74. /END PDP11DAT /18 OCT 75 /NDC /REVISED 8 NOV 75 /NDC