/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 1

              /OS8 PIP10 - PDP-10 CONVERSION PROGRAM
              /
              /
              /
              /
              /
              /
              /
              /
              /
              /COPYRIGHT  (C)  1974 BY DIGITAL EQUIPMENT CORPORATION
              /
              /
              /
              /
              /
              /
              /
              /
              /
              /
              /THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE
              /AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
              /CORPORATION.  DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY
              /FOR ANY ERRORS THAT MAY APPEAR IN THIS DOCUMENT.
              /
              /THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FURNISHED TO THE PURCHASER
              /UNDER A LICENSE FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED
              /(WITH INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH
              /SYSTEM, EXCEPT AS MAY OTHERWISE BE PROVIDED IN WRITING BY DIGITAL.
              /
              /DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR THE USE
              /OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY
              /DIGITAL.
              /
              /
              /
              /
              /
              /
              /
              /
              /
              /

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 2

        6772          DTRB=6772
        6774          DTLB=6774
        6764          DTXA=6764
        6762          DTCA=6762
        6761          DTRA=6761
        6771          DTSF=6771


              /WRITTEN BY MARK BRAMHALL 1970
              /MODIFIED FOR TD8E BY R. LARY 1973
              /
              /PIP10 IS A PIP FOR OS8 THAT HANDLES PDP-10 DECTAPES
              /
              /COMMAND DECODER RULES:
              /
              /*OUTPUT_INPUT,INPUT,...
              /
              /OUTPUT IS:
              /       DEV:FILE.EXT[NN]
              /       DEFAULT DEVICE IS DSK:
              /       [NN] IGNORED IF PDP-10 OUTPUT
              /       IF /L OR /F DEFAULT OUTPUT IS TTY:
              /
              /INPUT IS:
              /       DEV:FILE.EXT
              /       DEFAULT DEVICE IS DSK:
              /       FOLLOWING DEFAULT DEVICES ARE THE PRECEEDING DEVICE
              /       UP TO NINE (9) INPUT FILES
              /
              /OPTIONS ARE:
              /       /L IS LIST DIRECTORY (ONLY VALID IF PDP-10 INPUT)
              /       /F IS SHORT FORM DIRECTORY (ONLY PDP-10 INPUT)
              /       /Z IS ZERO DIRECTORY BEFORE TRANSFER (ONLY IF PDP-10 OUTPUT)
              /       /D IS DELETE OLD OUTPUT FILE BEFORE TRANSFER
              /       /B IS BINARY MODE TRANSFER (I.E. 8 BITS PER 36 BITS)
              /       /I IS IMAGE MODE TRANSFER (I.E. 3 12 BITS PER 36 BITS)
              /       /P IS PRESERVE LINE NUMBERS (DEFAULT IS TO DELETE THEM)
              /       /X IS READ A FILE OF TRIPLETS OF 4-DIGIT OCTAL NUMBERS, CONVERT
              /             EACH TO A 12-BIT INTEGER, AND WRITE THEM TO THE OUTPUT AS
              /             IF A /I SWITCH WERE IN FORCE.

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 3

              /COMMAND DECODER SETS UP:
              /
              /AT "MOUTPU" THE LIST--
              /       LLL LLL LLD DDD         OR              UUU 100 000 000
              /       NAME (TRIMMED)                          NAME (EXCESS 40)
              /       NAME                                    NAME
              /       NAME                                    NAME
              /       EXTENSION                               EXTENSION
              /       0                                       EXTENSION
              /
              /       OS8 FILE                OR              PDP-10 FILE
              /
              /WHERE L IS LENGTH (8 BITS), D IS DEVICE (4 BITS), U IS UNIT (3 BITS)
              /
              /AT "MINPUT" THE LIST--
              /       LLL LLL LLD DDD         OR              UUU 100 000 000
              /       START BLOCK                             ANY BLOCK
              /
              /       OS8 FILE                OR              PDP-10 FILE
              /
              /THE LIST ENDS WITH A ZERO (0) WORD
              /
              /AT "MPARAM" THE BLOCK--
              /       ABC DEF GHI JKL
              /       MNO PQR STU VWX
              /       YZ0 123 456 789
              /
              /WHICH ARE THE OPTION CHARACTERS
              /
              /THE = CONSTRUCTION IS NOT IMPLEMENTED

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 4

              /DEFINITIONS

        7000  DIRECT=7000             /PDP-10 DIRECTORY BUFFER (FIELD 1)
        3000  IBUF10=3000             /PDP-10 INPUT BUFFER (FIELD 1)
        3000  INBUF=3000              /OS8 INPUT BUFFER (FIELD 1)
        5000  OBUF10=5000             /PDP-10 OUTPUT BUFFER (FIELD 1)
        5000  OUBUF=5000              /OS8 OUTPUT BUFFER (FIELD 1)

        7200  OUDEVH=7200             /OUTPUT DEVICE (FIELD 0)
        6600  INDEVH=6600             /INPUT DEVICE (FIELD 0)

        1010  INCTL=1010              /INPUT CONTROL
        5010  OUCTL=5010              /OUTPUT CONTROL
        0004  INRECS=4                /INPUT RECORDS

        7666  MDATE=7666              /MONITOR'S DATE (FIELD 1)

        7617  MINPUT=7617             /INPUT LIST (FIELD 1)
        7600  MOUTPU=7600             /OUTPUT LIST (FIELD 1)
        7643  MPARAM=7643             /PARAMETER LIST (FIELD 1)
        7746  JSBITS=7746             /0S8 JOB STATUS BITS

        7760  DCB=7760                /DEVICE CONTROL BLOCK (FIELD 1)
        0020  PTP=20                  /DCB VALUE OF THE PAPER TAPE PUNCH

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 5

              /PAGE ZERO AND POINTERS

        0010  *10

000010  0000  INDEX0, 0               /AUTO-INDEX REGISTERS
000011  0000  INDEX1, 0
000012  0000  INDEX2, 0
000013  0000  INDEX3, 0
000014  0000  INDEX4, 0
000015  0000  INDEX5, 0
000016  0000  INDEX6, 0
000017  0000  IXR,    0               /INPUT LIST INDEX REGISTER

        0020  *20

000020  0000  UNIT10, 0               /CURRENT PDP-10 UNIT (U400)

000021  0000  POINT,  0               /GENERAL POINTER

000022  0000  CNTR,   0               /GENERAL COUNTER

000023  0000  TEMP1,  0               /TEMPORARIES
000024  0000  TEMP2,  0
000025  0000  TEMP3,  0
000026  0000  TEMP4,  0
000027  0000  TEMP5,  0
000030  0000  TEMP6,  0

000031  0000  CHARNI, 0               /CHARACTER INPUT NUMBER
000032  0000  CHARNO, 0               /CHARACTER OUTPUT NUMBER

000033  0000  OUNIT,  0               /OUTPUT UNIT
000034  0000  IUNIT,  0               /INPUT UNIT

000035  0000  IBLOCK, 0               /INPUT BLOCK
000036  0000  OBLOCK, 0               /OUTPUT BLOCK

000037  0000  INPUT,  0               /INPUT ROUTINE POINTER
000040  0000  OUTPUT, 0               /OUTPUT ROUTINE POINTER

000041  0000  IPOINT, 0               /INPUT POINTER
000042  0000  OPOINT, 0               /OUTPUT POINTER

000043  0000  SAVELN, 0               /OPTION /P SWITCH

000044  0000  MODE,   0               /OPTION /I AND /B SWITCH

000045  0000  WORDS,  0               /WORDS LEFT COUNTER

000046  0000  DATE,   0               /TODAY'S DATE

000047  0000  FREEP,  0               /POINT TO FREE SPOT

000050  0000  PRINT0, 0               /PRINT ROUTINE TEMPORARIES
000051  0000  PRINT1, 0

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 5-1

000052  0000  PRINT2, 0
000053  0000  PRINT3, 0
000054  0000  PRINTC, 0               /240 FOR LEADING SPACES

000055  0000  RBFLAG, 0               /RUBOUT FLAG

000056  0000  CDDEVF, 0               /DEFAULT DEVICE NAME
000057  0000          0

000060  0000  CDNAME, 0               /FILE NAME
000061  0000          0
000062  0000          0
000063  0000  CDEXT,  0               /FILE EXTENSION
000064  0000          0
000065  0000          0               /FILLER WORD

000066  0000  PERSW,  0               /PERIOD SWITCH

000067  0000  DEVSW,  0               /DEVICE SWITCH

000070  0000  CDDEV,  0               /DEVICE
000071  0000          0

000072  0000  INSEG,  0               /PDP-10 UNIT WITH DIRECTORY IN CORE

000073  0000  PDP10D, ZBLOCK 10       /LIST OF KNOWN PDP-10 UNITS

000103  0000  CDCNT,  0               /INPUT LIST COUNTER

000104  0000  CDI04,  0               /POINTER SAVE

000105  0423  XDSK,   TEXT /DSK/      /DEFAULT DEVICE DSK:
000106  1300

000107  0000  OCHARY, 0               /TEMPORARY
000110  0000  DVTYPE, 0               /DEVICE TYPE HOLDER
000111  0000  TDUNIT, 0               /0 OR 4000
000112  0000  TAPFUN, 0               /DECTAPE FUNCTION

000113  3600  XVERTP, XVERTQ          /OUT OF SPACE ON PAGE CONTAINING MAIN LOOP,
                                      / PUT CALL ADDRESS ON PAGE ZERO
        0200          PAGE

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 6

000200  5777          JMP I (PIP10    /NORMAL ENTRY
000201  4225          JMS     ERROR   /PIP10 CANNOT BE CHAINED TO
000202  4521          ERMES0-1

              /ERROR ROUTINES

000203  4225  IOERR,  JMS ERROR       /I/O ERROR
000204  4540          ERMES1-1

000205  4225  NOROOM, JMS ERROR       /NO ROOM IN TAPE OR DIRECTORY
000206  4546          ERMES2-1

000207  4225  NOOFIL, JMS ERROR       /NO SUCH DEVICE
000210  4555          ERMES3-1

000211  4225  FNOTFD, JMS     ERROR           /FILE NOT FOUND
000212  4647          ERMES9-1
000213  4225  NOT10F, JMS ERROR       /NOT A PDP-10 FILE
000214  4566          ERMES4-1

000215  4225  ERDELF, JMS ERROR       /ERROR DELETING A FILE
000216  4577          ERMES5-1

000217  4225  NOTPSF, JMS ERROR       /NOT A OS8 FILE
000220  4612          ERMES6-1

000221  4225  NOOOFL, JMS ERROR       /ERROR OPENING THE OUTPUT FILE
000222  4622          ERMES7-1

000223  4225  SYNTAX, JMS ERROR       /SYNTAX ERROR
000224  4637          ERMES8-1

000225  0000  ERROR,  0               /ERROR ROUTINE
000226  7200          CLA
000227  6201          CDF
000230  1625          TAD I ERROR
000231  3010          DCA INDEX0      /POINT TO MESSAG-1
000232  1376          TAD (ERROR3
000233  3040          DCA OUTPUT      /SET TTY: OUTPUT
000234  4236          JMS ERROR4      /PRINT THE STRING
000235  5775          JMP I (PIPCD    /AND BACK TO NORMAL

000236  0000  ERROR4, 0               /PRINT THE STRING POINTED BY INDEX0
000237  1410          TAD I INDEX0
000240  3023          DCA TEMP1       /SAVE WORD
000241  1023          TAD TEMP1
000242  7012          RTR
000243  7012          RTR
000244  7012          RTR
000245  4251          JMS ERROR2      /BREAK IT DOWN
000246  1023          TAD TEMP1
000247  4251          JMS ERROR2
000250  5237          JMP ERROR4+1    /LOOP

000251  0000  ERROR2, 0

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 6-1

000252  0177          AND [77         /USE 6 BITS
000253  7450          SNA
000254  5636          JMP I ERROR4    /END
000255  3024          DCA TEMP2
000256  1024          TAD TEMP2
000257  0374          AND (40
000260  7650          SNA CLA
000261  1373          TAD (100
000262  1176          TAD [200        /MAKE A CHAR
000263  1024          TAD TEMP2
000264  1372          TAD (-337       /_ IS SPECIAL
000265  7450          SNA
000266  1371          TAD (215-337
000267  1370          TAD (337
000270  4272          JMS ERROR7      /PUT IT
000271  5651          JMP I ERROR2

000272  0000  ERROR7, 0
000273  3024          DCA TEMP2
000274  1024          TAD TEMP2
000275  4440          JMS I OUTPUT
000276  1024          TAD TEMP2
000277  1367          TAD (-215
000300  7640          SZA CLA
000301  5672          JMP I ERROR7
000302  1366          TAD (212
000303  5273          JMP ERROR7+1

000304  0000  ERROR3, 0
000305  6046          TLS
000306  6041          TSF
000307  5306          JMP .-1
000310  7200          CLA
000311  5704          JMP I ERROR3
000366  0212
000367  7563
000370  0337
000371  7656
000372  7441
000373  0100
000374  0040
000375  3407
000376  0304
000377  3400
        0400          PAGE

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 7

              /PDP-10 DECTAPE SERVICE ROUTINE
              /
              /CALL:
              /       JMS READT       /READ PDP-10 DECTAPE
              /       BUFFER          /BUFFER ADDRESS - FIELD 1
              /       BLOCK           /BLOCK NUMBER
              /
              /       JMS WRITET      /WRITE PDP-10 DECTAPE
              /       BUFFER          /BUFFER ADDRESS - FIELD 1
              /       BLOCK           /BLOCK NUMBER
              /
              /THE UNIT IS IN "UNIT10"

000400  0002  TCON2,  2               /MUST BE AT BEGINNING OF PAGE!

000401  0000  WRITET, 0               /WRITE PDP-10 DECTAPE
000402  6201          CDF             /BE SURE OF FIELD 0
000403  1201          TAD     WRITET
000404  7120          STL
000405  4777          JMS I   (TDIOCK /CHECK FOR TD IO
000406  1601          TAD I WRITET    /GET BUFFER ADDRESS
000407  3274          DCA TBUF        /AND SAVE IT
000410  4312          JMS RWTEST      /TEST DIRECTION
000411  4776  WRITE2, JMS I (FLIP     /REVERSE - FLIP BUFFER NOW
000412  1375          TAD (50
000413  3112  WRITE1, DCA TAPFUN      /SET FUNCTION (30=READ, 50=WRITE)
000414  6774          DTLB            /SEARCH INTO FIELD 0
000415  1374          TAD (TBLK
000416  3671          DCA I TCA       /TAPE BLOCK INTO "TBLK"
000417  7006  TERR,   RTL             /ERROR BIT IS 0 INITIALLY
000420  7004          RAL             /SHIFT END ZONE BIT INTO LINK
000421  7220          CML CLA         /CLEAR REST OF THE JUNK
000422  1176          TAD [200        /'GO' BIT
000423  7420  TSTART, SNL             /SKIP IF NO REVERSE DIRECTION
000424  1175          TAD [400        /'REVERSE' BIT
000425  6764          DTXA            /START DRIVE GOING
000426  4773  TLOOP,  JMS I   (DTWAIT

000427  7510  TOUT,   SPA             /ERROR?
000430  5217          JMP TERR        /YES - CHECK IT
000431  6761          DTRA            /CHECK DIRECTION
000432  7006          RTL
000433  7006          RTL             /DIRECTION BIT INTO LINK
000434  7630  TMOD1,  SZL CLA         /'SNL CLA' IF REVERSE MODE
000435  1200  TMOD4,  TAD TCON2       /'CLL CLA CMA RAL' IF REVERSE MODE
000436  1273          TAD TBLK        /GET BLOCK FOUND
000437  7040          CMA
000440  1601          TAD I WRITET    /GET BLOCK DESIRED
000441  7040          CMA
000442  7640          SZA CLA         /SKIP IF FOUND THE BLOCK
000443  5223          JMP TSTART      /NOT FOUND - GO AGAIN
000444  7630  TMOD2,  SZL CLA         /'SNL CLA' IF REVERSE MODE
000445  5224          JMP TSTART+1    /FOUND BUT WRONG DIRECTION - REVERSE IT
000446  7240          CLA CMA
000447  1274          TAD TBUF        /GET BUFFER ADDRESS-1

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 7-1

000450  3671          DCA I TCA       /SET ADDRESS
000451  1372          TAD (10
000452  6774          DTLB            /SET FIELD 1 BUFFER
000453  1112          TAD TAPFUN
000454  6764          DTXA            /SET READ OR WRITE
000455  1343          TAD TM600
000456  3672          DCA I TWC       /SET WORD COUNT OF 600 OCTAL WORDS
000457  6771          DTSF            /FLAG?
000460  5257          JMP .-1         /NO - WAIT
000461  6772          DTRB            /CHECK FOR ERRORS
000462  7710          SPA CLA
000463  5771          JMP I (IOERR    /ERROR!!
000464  1176          TAD [200
000465  6764          DTXA            /STOP THE DRIVE
000466  4776  TMOD3,  JMS I (FLIP     /POSSIBLE FLIP AFTER READ
000467  2201          ISZ WRITET
000470  5601          JMP I WRITET    /EXIT

000471  7755  TCA,    7755            /DECTAPE CURRENT ADDRESS
000472  7754  TWC,    7754            /DECTAPE WORD COUNT
000473  0000  TBLK,   0               /SET TO BLOCK FOUND IN SEARCH
000474  0000  TBUF,   0               /HOLDS BUFFER ADDRESS

              /READ ENTRY POINT

000475  0000  READT,  0               /PDP-10 DECTAPE READ
000476  6201          CDF             /INSURE FIELD 0
000477  1275          TAD     READT
000500  7100          CLL
000501  4777          JMS I   (TDIOCK /CHECK FOR TD IO
000502  1675          TAD I READT     /GET BUFFER ADDRESS
000503  3274          DCA TBUF        /AND SAVE IT
000504  1275          TAD READT
000505  3201          DCA WRITET      /MOVE RETURN ADDRESS
000506  4312          JMS RWTEST      /CHECK DIRECTION
000507  7000          NOP             /NO INITIAL FLIP IF REVERSE
000510  1370          TAD (30         /READ FUNCTION
000511  5213          JMP WRITE1      /GO DO REST OF THE ROUTINE

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 8

000512  0000  RWTEST, 0               /CHECK DIRECTION TO READ/WRITE AND SEARCH
000513  2201          ISZ WRITET
000514  4767          JMS I   (GOLDBK /GET OLD BLOCK NUMBER (NEGATIVE)
000515  1601          TAD I WRITET    /GET DESIRED BLOCK
000516  3273          DCA TBLK        /SAVE FOR FUTURE USE
000517  7630          SZL CLA
000520  1372          TAD (10         /FORWARD - SZL CLA
000521  1330          TAD TMOD6       /REVERSE - SNL CLA
000522  3234          DCA TMOD1       /SET UP FOR DIRECTION
000523  1234          TAD TMOD1
000524  3244          DCA TMOD2
000525  7620          SNL CLA
000526  1211          TAD WRITE2      /REVERSE - FLIP BUFFER AFTER
000527  3266          DCA TMOD3       /FORWARD - NO BUFFER FLIP
000530  7620  TMOD6,  SNL CLA
000531  1366          TAD (7344-1200  /REVERSE - CLL CLA CMA RAL
000532  1351          TAD TMOD5       /FORWARD - TAD TCON2
000533  3235          DCA TMOD4       /X0002 OR 17776
000534  7630          SZL CLA
000535  2312          ISZ RWTEST      /FORWARD - 2ND EXIT
000536  7001          IAC
000537  7420          SNL
000540  7041          CIA             /REVERSE DIRECTION
000541  1601          TAD I WRITET
000542  7510          SPA
000543  7200  TM600,  CLA             /NO LOWER THAN 0
000544  3512          DCA I TAPFUN    /SET NEW LAST SERVICED BLOCK
000545  1273          TAD TBLK        /REMEMBER SAVING THIS?
000546  7100          CLL
000547  7540          SMA SZA         /<0 AND 0 SKIP AND HAVE LINK=0
000550  7161          CLL CML CIA     />0 BECOMES <0 AND HAS LINK=1
000551  1200  TMOD5,  TAD TCON2
000552  7212          CLA RTR         /LINK HAS SEARCH DIRECTION
000553  7012          RTR
000554  1372          TAD (10         /ADD 'SEARCH' BIT
000555  6766          DTCA DTXA       /LOAD SEARCH AND DIRECTION
000556  1020          TAD UNIT10      /GET UNIT
000557  6764          DTXA            /ADD UNIT (ALSO FLIPS DIRECTION)
000560  5712          JMP I RWTEST    /EXIT
000566  6144
000567  0744
000570  0030
000571  0203
000572  0010
000573  6267
000574  0473
000575  0050
000576  0610
000577  0701
        0600          PAGE

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 9

              /"OLDTBL" IS LIST OF LAST SERVICED BLOCKS

000600  0000  OLDTBL, 0;0;0;0;0;0;0;0
000601  0000
000602  0000
000603  0000
000604  0000
000605  0000
000606  0000
000607  0000
              /FLIP THE BUFFER ROUTINE

000610  0000  FLIP,   0               /FLIP A 600 WORD BUFFER (FIELD 1)
000611  1777          TAD I (TBUF     /BUFFER START
000612  3241          DCA FLIP1       /SET START
000613  1376          TAD (577
000614  1777          TAD I (TBUF
000615  3242          DCA FLIP2       /SET END (END=START+577)
000616  1375          TAD (-300
000617  3243          DCA FLIP3       /SET COUNT (600/2=300)
000620  6211          CDF 10          /BUFFER IS IN FIELD 1
000621  1641  FLIP6,  TAD I FLIP1     /GET START
000622  4247          JMS FLIP4       /FLIP IT
000623  3244          DCA FLIP5       /SAVE TEMPORARILY
000624  1642          TAD I FLIP2     /GET END
000625  4247          JMS FLIP4       /FLIP IT
000626  3641          DCA I FLIP1     /PUT END INTO START
000627  1244          TAD FLIP5
000630  3642          DCA I FLIP2     /PUT START INTO END
000631  2241          ISZ FLIP1       /BUMP POINTERS
000632  7240          CLA CMA
000633  1242          TAD FLIP2
000634  3242          DCA FLIP2
000635  2243          ISZ FLIP3       /DONE?
000636  5221          JMP FLIP6       /NO - LOOP
000637  6201          CDF             /BACK TO FIELD 0
000640  5610          JMP I FLIP      /EXIT

000641  0000  FLIP1,  0               /START POINTER
000642  0000  FLIP2,  0               /END POINTER
000643  0000  FLIP3,  0               /COUNTER
000644  0000  FLIP5,  0               /TEMPORARY
000645  0000  FLIP7,  0               /FLIPPING TEMPORARIES
000646  0000  FLIP8,  0               /"        "

000647  0000  FLIP4,  0               /FLIP A CELL
000650  3245          DCA FLIP7       /SAVE IT
000651  1245          TAD FLIP7
000652  7006          RTL
000653  7006          RTL
000654  0374          AND (7          /GET ...1
000655  3246          DCA FLIP8       /ACCUMULATE RESULT
000656  1245          TAD FLIP7
000657  7012          RTR
000660  7010          RAR

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 9-1

000661  0373          AND (70         /GET ..2.
000662  1246          TAD FLIP8
000663  3246          DCA FLIP8       /BUILD RESULT
000664  1245          TAD FLIP7
000665  0373          AND (70
000666  7106          CLL RTL
000667  7004          RAL             /GET .3..
000670  1246          TAD FLIP8
000671  3246          DCA FLIP8       /BUILD RESULT
000672  1245          TAD FLIP7
000673  0374          AND (7
000674  7112          CLL RTR
000675  7012          RTR             /GET 4...
000676  1246          TAD FLIP8
000677  7040          CMA             /GET NOT 4321
000700  5647          JMP I FLIP4     /EXIT

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 10

              /TD8E I/O ROUTINE - CALLS STANDARD ROUTINE

000701  0000  TDIOCK, 0
000702  3343          DCA     TDRET   /SAVE RETURN ADDR
000703  7010          RAR
000704  3335          DCA     TDFUN   /SAVE READ/WRITE
000705  4772          JMS I   (GET10D /GET TYPE OF DECTAPE
000706  1371          TAD     (-2
000707  7640          SZA CLA
000710  5701          JMP I   TDIOCK  /TC08 - CONTINUE
000711  1743          TAD I   TDRET
000712  3336          DCA     TDBUF   /SAVE BUF ADDR
000713  2343          ISZ     TDRET
000714  4344          JMS     GOLDBK  /GET OLD BLOCK #
000715  1743          TAD I   TDRET
000716  7204          CLA RAL         /GET DIRECTION
000717  1370          TAD     (110    /ONE BLOCK, FIELD 1
000720  1335          TAD     TDFUN
000721  3335          DCA     TDFUN   /SAVE FINAL FUNCTION WORD
000722  4767          JMS I   (TDUSET /SET UP HANDLER
000723  1111          TAD     TDUNIT
000724  7710          SPA CLA
000725  1366          TAD     (DTA1-DTA0
000726  1365          TAD     (DTA0
000727  3301          DCA     TDIOCK  /SET UP HANDLER ENTRY PTR
000730  1743          TAD I   TDRET
000731  3512          DCA I   TAPFUN
000732  1512          TAD I   TAPFUN
000733  3337          DCA     TDBLK
000734  4701          JMS I   TDIOCK
000735  0000  TDFUN,  0
000736  0000  TDBUF,  0
000737  0000  TDBLK,  0
000740  5764          JMP I   (IOERR
000741  2343          ISZ     TDRET
000742  5743          JMP I   TDRET
000743  0000  TDRET,  0

000744  0000  GOLDBK, 0
000745  1020          TAD UNIT10      /GET THE UNIT WE NEED
000746  7106          CLL RTL
000747  7006          RTL             /SHIFT INTO BITS 9-11
000750  1363          TAD (OLDTBL
000751  3112          DCA TAPFUN      /POINT TO THIS UNIT'S POSITION
000752  1512          TAD I TAPFUN    /GET LAST SERVICED BLOCK
000753  7141          CLL CIA
000754  5744          JMP I   GOLDBK
000763  0600
000764  0203
000765  6200
000766  0004
000767  4661
000770  0110
000771  7776
000772  6207

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 10-1

000773  0070
000774  0007
000775  7500
000776  0577
000777  0474
        1000          PAGE

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 11

              /GET A LINE ROUTINE

001000  0000  GLINE,  0               /GET A LINE
001001  1174          TAD ["*
001002  4573          JMS I [ERROR3   /ANNOUNCE US WITH A *
001003  3055          DCA RBFLAG      /RESET RUBOUT FLAG
001004  1172          TAD [LINBUF-1
001005  3017          DCA IXR         /POINT TO THE BUFFER
001006  6031  CHLOOP, KSF
001007  5206          JMP CHLOOP      /WAIT FOR TTY:
001010  1176          TAD [200
001011  6034          KRS             /READ TTY:
001012  3023          DCA TEMP1
001013  6032          KCC
001014  1171          TAD [SPADR-1
001015  3010          DCA INDEX0      /SET LIST SEARCH
001016  1410          TAD I INDEX0
001017  7450          SNA
001020  5226          JMP .+6         /END OF LIST
001021  1023          TAD TEMP1
001022  7650          SNA CLA
001023  5410          JMP I INDEX0    /FOUND SO JUMP
001024  2010          ISZ INDEX0
001025  5216          JMP .-7         /LOOP

001026  4350          JMS PRNT        /PRINT IT
001027  1023  CINSRT, TAD TEMP1
001030  3417          DCA I IXR       /STORE THE CHARACTER
001031  1017          TAD IXR
001032  1377          TAD (-LINBUF-100
001033  7640          SZA CLA
001034  5206          JMP CHLOOP      /GET ANOTHER CHARACTER
001035  4311          JMS CRCR
001036  5776          JMP I (SYNTAX   /ERROR

001037  4311  CARRET, JMS CRCR
001040  3417  CLFINI, DCA I IXR       /SET END
001041  3417          DCA I IXR
001042  5600          JMP I GLINE     /EXIT

001043  7553  SPADR,  -225;JMP CTRLU
001044  5275
001045  7563          -215;JMP CARRET
001046  5237
001047  7401          -377;JMP RUBOUT
001050  5324
001051  7403          -375;JMP ALTMOD
001052  5320
001053  7402          -376;JMP ALTMOD
001054  5320
001055  7545          -233;JMP ALTMOD
001056  5320
001057  7600          -200;JMP CHLOOP
001060  5206
001061  7561          -217;JMP CHLOOP

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 11-1

001062  5206
001063  7441          -337;JMP BAKARR
001064  5272
001065  7566          -212;JMP LFEED
001066  5361
001067  7575          -203;JMP CTRLC
001070  5275
001071  0000          0

001072  4350  BAKARR, JMS PRNT        /"_"
001073  1170          TAD ["<
001074  5230          JMP CINSRT+1    /USE "<" INSTEAD

              CTRLC,
001075  1167  CTRLU,  TAD ["^
001076  4573          JMS I [ERROR3   /CONTROL CHARACTERS
001077  1023          TAD TEMP1
001100  1166          TAD [100
001101  4573  CLRLIN, JMS I [ERROR3
001102  4311          JMS CRCR
001103  1410          TAD I INDEX0
001104  7640          SZA CLA
001105  5201          JMP GLINE+1     /NOT "^C"
001106  6041          TSF
001107  5306          JMP .-1
001110  5775          JMP I (7605     /TO MONITOR

001111  0000  CRCR,   0
001112  1165          TAD [215
001113  3023          DCA TEMP1
001114  4350          JMS PRNT
001115  1164          TAD [212
001116  4573          JMS I [ERROR3   /PRINT CR-LF
001117  5711          JMP I CRCR

001120  1163  ALTMOD, TAD ["$
001121  3023          DCA TEMP1       /ALTMODE IS "$"
001122  4350          JMS PRNT
001123  5240          JMP CLFINI      /ENDS THE LINE

001124  1017  RUBOUT, TAD IXR
001125  1374          TAD (1-LINBUF
001126  7650          SNA CLA
001127  5344          JMP RBSPCL      /SPECIAL TREATMENT
001130  1373          TAD ("\
001131  2055          ISZ RBFLAG
001132  4573          JMS I [ERROR3   /PRINT \
001133  7240          CLA CMA
001134  3055          DCA RBFLAG      /SET FLAG
001135  1017          TAD IXR
001136  3024          DCA TEMP2
001137  1424          TAD I TEMP2
001140  4573          JMS I [ERROR3   /PRINT RUBED CHAR
001141  7240  LBCKUP, CLA CMA
001142  1017          TAD IXR

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 11-2

001143  5205          JMP CHLOOP-1    /GO GET ANOTHER

001144  2055  RBSPCL, ISZ RBFLAG
001145  5302          JMP CLRLIN+1    /NOT INTO RUBOUTS
001146  1373          TAD ("\
001147  5301          JMP CLRLIN

001150  0000  PRNT,   0
001151  2055          ISZ RBFLAG
001152  5355          JMP .+3
001153  1373          TAD ("\
001154  4573          JMS I [ERROR3   /END OF RUBOUTS
001155  3055          DCA RBFLAG
001156  1023          TAD TEMP1
001157  4573          JMS I [ERROR3   /PRINT CHAR
001160  5750          JMP I PRNT

001161  4311  LFEED,  JMS CRCR
001162  3417          DCA I IXR       /SET END
001163  1172          TAD [LINBUF-1
001164  3017          DCA IXR
001165  1174          TAD ["*
001166  4573          JMS I [ERROR3
001167  1417          TAD I IXR       /PRINT THE LINE
001170  7450          SNA
001171  5341          JMP LBCKUP
001172  5366          JMP .-4
001173  0334
001174  3401
001175  7605
001176  0223
001177  3300
        1200          PAGE

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 12

              /FIND A SLOT ROUTINE
              /SLOT NUMBERS BETWEEN 0 AND 1101
              /RETURN WITH A 5 BIT NUMBER (1 TO 26 OCTAL)
              /
              /CALL:
              /       JMS FINDSL      /FIND A SLOT
              /       SLOT#           /SLOT NUMBER
              /       (AC)            /VALUE OF SLOT RETURNED
              /
              /SLOT NUMBER OF 0 RETURNS 7777

001200  0000  FINDSL, 0               /FIND A SLOT
001201  7240          CLA CMA
001202  1600          TAD I FINDSL    /GET SLOT NUMBER-1
001203  2200          ISZ FINDSL
001204  7510          SPA             /WAS IT 0?
001205  5213          JMP FINDSA      /YES
001206  4224          JMS DIV7        /NO - DIVIDE BY 7
001207  1377          TAD (JMP I FINDS0+7
001210  3212          DCA DIV1        /USE REMAINDER FOR JUMPING
001211  6211          CDF 10          /BUFFER IS IN FIELD 1
001212  7402  DIV1,   HLT             /TEMPORARY AND JUMP CELL

001213  7240  FINDSA, CLA CMA
001214  5600          JMP I FINDSL    /EXIT WITH 7777 FOR SLOT NUMBER 0

001215  1240  FINDS0, FINDS1          /JUMP TABLE
001216  1247          FINDS2
001217  1252          FINDS3
001220  1266          FINDS4
001221  1272          FINDS5
001222  1303          FINDS6
001223  1310          FINDS7

              /DIVIDE BY 7 ROUTINE

001224  0000  DIV7,   0               /DIVIDE BY 7
001225  3212          DCA DIV1        /SAVE IT
001226  1376          TAD (DIRECT
001227  3021          DCA POINT       /POINT TO DIRECTORY
001230  1212          TAD DIV1
001231  1375  DIV3,   TAD (-7         /SUBTRACT 7'S
001232  7510          SPA
001233  5624          JMP I DIV7      /EXIT WITH REMAINDER
001234  2021          ISZ POINT       /BUMP POINTER BY 3
001235  2021          ISZ POINT
001236  2021          ISZ POINT
001237  5231          JMP DIV3        /AND LOOP

              /FIND SLOT ROUTINE #1
              /USE WORD 1 BITS 0-4

001240  1421  FINDS1, TAD I POINT     /GET CELL
001241  7006          RTL
001242  7006          RTL

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 12-1

001243  7006          RTL             /GET FIRST 5 BITS
001244  0162  FINDS8, AND [37         /ONLY 5 BITS
001245  6201          CDF             /BACK TO FIELD 0
001246  5600          JMP I FINDSL    /AND EXIT WITH VALUE IN AC

              /FIND SLOT ROUTINE #2
              /USE WORD 1 BITS 5-9

001247  1421  FINDS2, TAD I POINT
001250  7012          RTR             /USE BITS 5-9
001251  5244          JMP FINDS8

              /FIND SLOT ROUTINE #3
              /USE WORD 1 BITS 10-11 AND WORD 2 BITS 0-2

001252  1421  FINDS3, TAD I POINT
001253  0161          AND [3          /USE BITS 10-11 OF 1ST WORD
001254  7106          CLL RTL
001255  7004          RAL             /SHIFT TO BITS 7-8
001256  3212          DCA DIV1        /SAVE IT
001257  2021          ISZ POINT       /NEXT WORD
001260  1421          TAD I POINT
001261  7106          CLL RTL
001262  7006  FINDS9, RTL             /GET INTO BITS 8-11
001263  0160          AND [17         /GET ONLY BITS 8-11
001264  1212          TAD DIV1        /ADD OTHER BITS
001265  5244          JMP FINDS8

              /FIND SLOT ROUTINE #4
              /USE WORD 2 BITS 3-7

001266  2021  FINDS4, ISZ POINT       /USE 2ND WORD
001267  1421          TAD I POINT
001270  7012          RTR             /USE BITS 3-7
001271  5250          JMP FINDS2+1

              /FIND SLOT ROUTINE #5
              /USE WORD 2 BITS 8-11 AND WORD 3 BIT 0

001272  2021  FINDS5, ISZ POINT       /USE 2ND WORD
001273  1421          TAD I POINT
001274  0160          AND [17
001275  7104          CLL RAL         /GET BITS 7-10
001276  3212          DCA DIV1        /AND SAVE THEM
001277  2021          ISZ POINT       /NEXT WORD
001300  7330          CLL CLA CML RAR
001301  0421          AND I POINT     /GET BIT 0
001302  5262          JMP FINDS9

              /FIND SLOT ROUTINE #6
              /USE WORD 2 BITS 1-5

001303  2021  FINDS6, ISZ POINT
001304  2021          ISZ POINT       /USE 3RD WORD
001305  1421          TAD I POINT

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 12-2

001306  7004          RAL
001307  5241          JMP FINDS1+1

              /FIND SLOT ROUTINE #7
              /USE WORD 3 BITS 6-10

001310  2021  FINDS7, ISZ POINT
001311  2021          ISZ POINT       /USE 3RD WORD
001312  1421          TAD I POINT
001313  7010          RAR             /GET RID OF LAST BIT
001314  5244          JMP FINDS8

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 13

              /DELETE A PDP-10 ENTRY
              /
              /CALL:
              /       (AC)            /POINT TO NAME-1 (FIELD 1)
              /       JMS DELETE      /DELETE A PDP-10 ENTRY
              /       -NO-            /NOT FOUND
              /       -OK-            /ENTRY DELETED

001315  0000  DELETE, 0               /DELETE A PDP-10 ENTRY
001316  4774          JMS I   (FIND   /TRY TO FIND IT FIRST
001317  5715          JMP I DELETE    /NOT FOUND
001320  2315          ISZ DELETE      /FOUND - 2ND EXIT
001321  3360          DCA DELET1      /SAVE SLOT NUMBER
001322  7201          CLA IAC
001323  3327          DCA DELET2      /START AT SLOT 1
001324  1373          TAD (-1101
001325  3361          DCA DELET3      /DO 1101 SLOTS
001326  4200          JMS FINDSL      /FIND A SLOT
001327  0000  DELET2, 0               /SLOT NUMBER
001330  7041          CIA
001331  1360          TAD DELET1      /IS IT ONE OF OURS?
001332  7640          SZA CLA
001333  5341          JMP DELET4      /NO
001334  1327          TAD DELET2      /YES
001335  3337          DCA .+2         /SET SLOT NUMBER AGAIN
001336  4772          JMS I (FILLSL   /FILL WITH A 0
001337  0000          0
001340  0000          0               /FILL WITH A 0
001341  2327  DELET4, ISZ DELET2      /NEXT SLOT
001342  2361          ISZ DELET3      /MORE?
001343  5326          JMP DELET2-1    /YES - LOOP
001344  6211          CDF 10          /DIRECTORY IS IN FIELD 1
001345  3410          DCA I INDEX0    /REMEMBER "FIND" SETTING THIS UP?
001346  3410          DCA I INDEX0    /REMOVE THE FILE NAME
001347  3410          DCA I INDEX0
001350  1010          TAD INDEX0
001351  1177          TAD [77
001352  3010          DCA INDEX0      /POINT TO EXTENSION
001353  3410          DCA I INDEX0
001354  3410          DCA I INDEX0    /REMOVE EXTENSION
001355  3410          DCA I INDEX0
001356  6201          CDF
001357  5715          JMP I DELETE    /EXIT

001360  0000  DELET1, 0               /HOLDS FOUND SLOT NUMBER
001361  0000  DELET3, 0               /COUNTER
001372  1400
001373  6677
001374  4266
001375  7771
001376  7000
001377  5624
        1400          PAGE

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 14

              /FILL A SLOT ROUTINE
              /
              /CALL:
              /       JMS FILLSL      /FILL A SLOT
              /       SLOT#           /SLOT NUMBER
              /       VALUE           /VALUE TO FILL SLOT WITH
              /
              /SLOT NUMBER 0 IS ILLEGAL!

001400  0000  FILLSL, 0               /FILL A SLOT ROUTINE
001401  7240          CLA CMA
001402  1600          TAD I FILLSL    /GET SLOT NUMBER-1
001403  2200          ISZ FILLSL
001404  4777          JMS I (DIV7     /DIVIDE BY 7
001405  1376          TAD (JMP I FILLS0+7
001406  3213          DCA FILLS9      /USE REMAINDER FOR JUMPING
001407  1600          TAD I FILLSL    /GET VALUE
001410  2200          ISZ FILLSL
001411  0162          AND [37         /5 BIT VALUE ONLY
001412  6211          CDF 10          /DIRECTORY IS IN FIELD 1
001413  7402  FILLS9, HLT             /TEMPORARY AND JUMP CELL

              /JUMP TABLE

001414  1424  FILLS0, FILLS1
001415  1436          FILLS2
001416  1443          FILLS3
001417  1466          FILLS4
001420  1475          FILLS5
001421  1516          FILLS6
001422  1527          FILLS7

001423  0000  FILLSA, 0               /TEMPORARY

              /FILL SLOT ROUTINE #1
              /BITS 0-4 OF WORD 1

001424  7112  FILLS1, CLL RTR
001425  7012          RTR             /VALUE INTO BITS 0-4
001426  7012          RTR
001427  3213          DCA FILLS9      /SAVE VALUE
001430  1421          TAD I POINT
001431  0157          AND [177        /AND OFF BITS 0-4
001432  1213  FILLS8, TAD FILLS9      /ADD IN VALUE
001433  3421          DCA I POINT     /SET NEW WORD
001434  6201          CDF             /BACK TO FIELD 0
001435  5600          JMP I FILLSL    /EXIT

              /FILL SLOT ROUTINE #2
              /BITS 5-9 OF WORD 1

001436  7106  FILLS2, CLL RTL         /VALUE INTO BITS 5-9
001437  3213          DCA FILLS9      /SAVE VALUE
001440  1421          TAD I POINT
001441  0375          AND (7603       /AND OFF BITS 5-9

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 14-1

001442  5232          JMP FILLS8

              /FILL SLOT ROUTINE #3
              /BITS 10-11 OF WORD 1 AND BITS 0-2 OF WORD 2

001443  3213  FILLS3, DCA FILLS9      /SAVE VALUE
001444  1213          TAD FILLS9
001445  7110          CLL RAR
001446  7110          CLL RAR         /GET BITS 10-11
001447  7110          CLL RAR
001450  3223          DCA FILLSA      /SAVE
001451  1421          TAD I POINT
001452  0374          AND (7774       /AND OFF BITS 10-11
001453  1223          TAD FILLSA      /ADD IN BITS 10-11
001454  3421          DCA I POINT     /SET NEW WORD
001455  2021          ISZ POINT       /GOTO WORD 2
001456  1213          TAD FILLS9
001457  0156          AND [7          /GET BITS 0-2
001460  7112          CLL RTR
001461  7012          RTR             /SHIFT THEM
001462  3213          DCA FILLS9      /SAVE VALUE
001463  1421          TAD I POINT
001464  0373          AND (777        /AND OFF BITS 0-2
001465  5232          JMP FILLS8

              /FILL SLOT ROUTINE #4
              /BITS 3-7 OF WORD 2

001466  7106  FILLS4, CLL RTL
001467  7006          RTL             /SHIFT INTO POSITION
001470  3213          DCA FILLS9      /AND SAVE
001471  2021          ISZ POINT       /USE WORD 2
001472  1421          TAD I POINT
001473  0372          AND (7017       /AND OFF BITS 3-7
001474  5232          JMP FILLS8

              /FILL SLOT ROUTINE #5
              /BITS 8-11 OF WORD 2 AND BIT 0 OF WORD 3

001475  3213  FILLS5, DCA FILLS9
001476  1213          TAD FILLS9      /GET VALUE
001477  7110          CLL RAR         /GET BITS 8-11
001500  3223          DCA FILLSA      /AND SAVE
001501  2021          ISZ POINT       /USE WORD 2 FIRST
001502  1421          TAD I POINT
001503  0155          AND [7760       /AND OFF BITS 8-11
001504  1223          TAD FILLSA      /ADD IN THOSE BITS
001505  3421          DCA I POINT     /SET NEW WORD 2
001506  2021          ISZ POINT       /NOW WORD 3
001507  7201          CLA IAC
001510  0213          AND FILLS9      /GET BIT 0
001511  7112          CLL RTR         /AND SHIFT INTO POSITION
001512  3213          DCA FILLS9      /AND SAVE IT
001513  7350          CLL CLA CMA RAR
001514  0421          AND I POINT     /AND OFF BIT 0

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 14-2

001515  5232          JMP FILLS8

              /FILL SLOT ROUTINE #6
              /BITS 1-5 OF WORD 3

001516  7106  FILLS6, CLL RTL
001517  7006          RTL             /SHIFT INTO POSITION
001520  7006          RTL
001521  3213          DCA FILLS9      /AND SAVE
001522  2021          ISZ POINT
001523  2021          ISZ POINT       /USE WORD 3
001524  1421          TAD I POINT
001525  0371          AND (4077       /AND OFF BITS 1-5
001526  5232          JMP FILLS8

              /FILL SLOT ROUTINE #7
              /BITS 6-10 OF WORD 3
              /BIT 11 OF WORD 3 A 0

001527  7104  FILLS7, CLL RAL         /SHIFT INTO POSITION
001530  3213          DCA FILLS9      /AND SAVE
001531  2021          ISZ POINT
001532  2021          ISZ POINT       /USE WORD 3
001533  1421          TAD I POINT
001534  0154          AND [7700       /AND OFF BITS 6-11
001535  5232          JMP FILLS8
001571  4077
001572  7017
001573  0777
001574  7774
001575  7603
001576  5623
001577  1224
        1600          PAGE

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 15

              /GET NEXT SLOT ROUTINE
              /GOES BY 5'S EITHER FORWARD OR BACKWARD
              /
              /CALL:
              /       (AC)            /CURRENT BLOCK NUMBER
              /       JMS NEXTSL      /GET NEXT SLOT
              /       (AC)            /NEXT BLOCK NUMBER
              /
              /GOES TO "NOROOM" IF DIRECTORY FULL

001600  0000  NEXTSL, 0               /GET NEXT SLOT
001601  1276          TAD NEXTDI      /ADD IN DIRECTION FACTOR
001602  7510          SPA
001603  5231          JMP NEXTS2      /<0 MEANS REVERSE DIRECTION
001604  1153          TAD [-1102
001605  7500          SMA
001606  5231          JMP NEXTS2      />1101 MEANS REVERSE DIRECTION
001607  1377          TAD (1102
001610  3212          DCA NEXTS1      /SET NEW BLOCK NUMBER
001611  4776          JMS I (FINDSL   /IS THIS SLOT FREE?
001612  0000  NEXTS1, 0               /BLOCK NUMBER
001613  7640          SZA CLA
001614  5241          JMP NEXTS3      /NO - NOT FREE
001615  1212          TAD NEXTS1      /FREE
001616  3220          DCA NEXTS7+1    /SET BLOCK AGAIN
001617  4775  NEXTS7, JMS I (FILLSL   /FILL THIS SLOT THEN
001620  0000          0               /SLOT TO FILL
001621  0000  SLOTNO, 0               /VALUE TO FILL WITH
001622  1276          TAD NEXTDI
001623  7700          SMA CLA         /MAKE SURE DIRECTION IS -4 OR 4
001624  1374          TAD (10
001625  1373          TAD (-4
001626  3276          DCA NEXTDI
001627  1220          TAD NEXTS7+1    /GET NEW BLOCK
001630  5600          JMP I NEXTSL    /EXIT

001631  7200  NEXTS2, CLA             /REVERSE DIRECTION
001632  1276          TAD NEXTDI
001633  7700          SMA CLA         /SET 0 OR 1101
001634  1372          TAD (1101
001635  3212          DCA NEXTS1      /INTO BLOCK NUMBER
001636  1276          TAD NEXTDI
001637  7041          CIA             /REVERSE DIRECTION
001640  5242          JMP NEXTS3+1    /GO PRETEND WE FOUND A FULL SLOT

001641  1276  NEXTS3, TAD NEXTDI
001642  7700          SMA CLA         /MAKE DIRECTION -1 OR 1
001643  7344          CLL CLA CMA RAL
001644  7040          CMA
001645  3276          DCA NEXTDI      /DIRECTION IS -1 OR 1
001646  1153          TAD [-1102
001647  3275          DCA NEXTS4      /CHECK 1102 BLOCKS
001650  1212          TAD NEXTS1
001651  3253          DCA NEXTS5      /SET START BLOCK
001652  4776          JMS I (FINDSL   /CHECK A SLOT

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 15-1

001653  0000  NEXTS5, 0               /SLOT TO CHECK
001654  7650          SNA CLA
001655  5273          JMP NEXTS6      /FOUND A FREE SLOT
001656  2275          ISZ     NEXTS4  /TRY MORE?
001657  7410          SKP             /YES
001660  5771          JMP I   (NOROOM /NO - OUT OF ROOM
001661  1253          TAD NEXTS5
001662  1276          TAD NEXTDI      /ADD DIRECTION TO SLOT
001663  7510          SPA
001664  5231          JMP NEXTS2      /<0 IS TOO FAR
001665  1153          TAD [-1102
001666  7500          SMA
001667  5231          JMP NEXTS2      />1101 IS TOO FAR
001670  1377          TAD (1102
001671  3253          DCA NEXTS5      /SET NEW BLOCK
001672  5252          JMP     NEXTS5-1        /KEEP GOING

001673  1253  NEXTS6, TAD NEXTS5      /GET FREE BLOCK
001674  5216          JMP NEXTS7-1    /AND SET IT

001675  0000  NEXTS4, 0               /COUNTER

001676  0000  NEXTDI, 0               /DIRECTION (5, -5, 1, -1)

              /MORE PDP-10 OUTPUT

              /OUTPUT CHARACTER #3 - BITS 9-11 WORD 2 AND BITS 0-3 WORD 3

001677  1107  OCHAR3, TAD OCHARY
001700  7112          CLL RTR
001701  7012          RTR
001702  0156          AND [7
001703  1442          TAD I OPOINT
001704  3442          DCA I OPOINT
001705  2042          ISZ OPOINT
001706  1107          TAD OCHARY
001707  0160          AND [17
001710  7112          CLL RTR
001711  7012          RTR
001712  7010          RAR
001713  5770          JMP I (OCHARD
001770  2127
001771  0205
001772  1101
001773  7774
001774  0010
001775  1400
001776  1200
001777  1102
        2000          PAGE

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 16

              /PDP-10 CHARACTER OUTPUT ROUTINE
              /
              /CALL:
              /       (AC)            /CHARACTER
              /       JMS OCHR10      /OUTPUT TO PDP-10
              /       -RETURN-        /O.K. RETURN

002000  0000  OCHR10, 0               /OUTPUT TO PDP-10
002001  3107          DCA OCHARY      /SAVE CHAR
002002  1044          TAD MODE        /IMAGE MODE?
002003  7440          SZA
002004  5215          JMP OC10A1      /YES /I OR /B
002005  1107          TAD OCHARY      /NO - USE 7 BITS
002006  0157          AND [177
002007  3107  OC10A2, DCA OCHARY
002010  1032  OC10A3, TAD CHARNO      /GET CHAR NUMBER
002011  1377          TAD (JMP I OCHARX
002012  3214          DCA OCHARZ      /USE TO SET UP JUMP
002013  6211          CDF 10          /BUFFER IS IN FIELD 1
002014  0000  OCHARZ, 0               /JUMP TO THE ROUTINE

002015  7700  OC10A1, SMA CLA         /BINARY?
002016  5210          JMP OC10A3      /NO
002017  1107          TAD OCHARY      /YES
002020  0152          AND [377
002021  5207          JMP OC10A2

002022  2027  OCHARX, OCHAR0
002023  2132          OCHAR1
002024  2150          OCHAR2
002025  1677          OCHAR3
002026  2160          OCHAR4

              /OUTPUT CHARACTER #0 - BITS 0-6 WORD 1

002027  1551  OCHAR0, TAD I [OBUF10+2
002030  0157          AND [177        /GET COUNT
002031  1376          TAD (-177
002032  7640          SZA CLA
002033  5301          JMP OCHARA      /STILL ROOM IN BUFFER
002034  6201          CDF             /NO ROOM IN BUFFER
002035  1036          TAD OBLOCK
002036  4775          JMS I (NEXTSL   /GET THE NEXT BLOCK NUMBER
002037  3214          DCA OCHARZ      /AND SAVE IT
002040  6211          CDF 10          /BACK TO FIELD 1
002041  1214          TAD OCHARZ
002042  0154          AND [7700
002043  7112          CLL RTR
002044  7012          RTR
002045  7012          RTR             /GET LINK POINTER
002046  3550          DCA I [OBUF10
002047  1214          TAD OCHARZ
002050  0177          AND [77
002051  7106          CLL RTL
002052  7006          RTL

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 16-1

002053  7006          RTL
002054  1547          TAD I [OBUF10+1
002055  3547          DCA I [OBUF10+1 /AND SET POINTER
002056  1033          TAD OUNIT
002057  3020          DCA UNIT10      /SET OUR UNIT
002060  1036          TAD OBLOCK
002061  3264          DCA .+3         /AND OUR BLOCK
002062  4774          JMS I (WRITET   /WRITE PDP-10 DECTAPE
002063  5000          OBUF10
002064  0000          0               /BLOCK NUMBER IS SET
002065  6211          CDF 10          /BACK TO FIELD 1
002066  3550          DCA I [OBUF10
002067  1547          TAD I [OBUF10+1
002070  0177          AND [77
002071  3547          DCA I [OBUF10+1 /CLEAR POINTER
002072  1214          TAD OCHARZ
002073  3036          DCA OBLOCK      /SET NEW BLOCK
002074  1551          TAD I [OBUF10+2
002075  0146          AND [7400
002076  3551          DCA I [OBUF10+2 /ZERO COUNT
002077  1373          TAD (OBUF10+3
002100  3042          DCA OPOINT      /RESET POINTER
002101  2551  OCHARA, ISZ I [OBUF10+2 /BUMP COUNT
002102  1044          TAD MODE        /IMAGE MODE?
002103  7450          SNA
002104  5323          JMP OCHARB      /NO
002105  7700          SMA CLA         /BINARY?
002106  5321          JMP OC10A4      /NO
002107  3442          DCA I OPOINT    /YES
002110  2042          ISZ OPOINT
002111  3442          DCA I OPOINT
002112  2042          ISZ OPOINT
002113  1107          TAD OCHARY
002114  3442          DCA I OPOINT    /SET 8 BITS
002115  2042          ISZ OPOINT
002116  6201  OCHARC, CDF             /BACK TO FIELD 0
002117  5600          JMP I OCHR10    /EXIT

002120  2042  OC10A5, ISZ OPOINT
002121  1107  OC10A4, TAD OCHARY
002122  5327          JMP OCHARD

002123  1107  OCHARB, TAD OCHARY
002124  7106          CLL RTL
002125  7006          RTL
002126  7004          RAL             /USE BITS 0-6
002127  3442  OCHARD, DCA I OPOINT    /SET IT
002130  2032          ISZ CHARNO      /BUMP CHARACTER NUMBER
002131  5316          JMP OCHARC

              /OUTPUT CHARACTER #1 - BITS 7-11 WORD 1 AND BITS 0-1 WORD 2

002132  1044  OCHAR1, TAD MODE
002133  7640          SZA CLA
002134  5320          JMP OC10A5

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 16-2

002135  1107          TAD OCHARY
002136  7110          CLL RAR         /GET BITS 7-11
002137  7110          CLL RAR
002140  1442          TAD I OPOINT
002141  3442          DCA I OPOINT    /SET WORD 1
002142  2042          ISZ OPOINT      /NOW WORD 2
002143  1107          TAD OCHARY
002144  0161          AND [3
002145  7112          CLL RTR
002146  7010          RAR             /GET BITS 0-1
002147  5327          JMP OCHARD

              /OUTPUT CHARACTER #2 - BITS 2-8 WORD 2

002150  1044  OCHAR2, TAD MODE
002151  7640          SZA CLA
002152  5367          JMP OC10A6
002153  1107          TAD OCHARY
002154  7106          CLL RTL
002155  7004          RAL             /GET BITS 2-8
002156  1442          TAD I OPOINT
002157  5327          JMP OCHARD

              /OUTPUT CHARACTER #4 - BITS 4-10 WORD 3
              /BIT 11 WORD 3 IS 0

002160  1107  OCHAR4, TAD OCHARY
002161  7104          CLL RAL         /BITS 4-10
002162  1442          TAD I OPOINT
002163  3442  OC10A7, DCA I OPOINT    /SET WORD 3
002164  2042          ISZ OPOINT
002165  3032          DCA CHARNO      /RESET CHARACTER NUMBER
002166  5316          JMP OCHARC

002167  2042  OC10A6, ISZ OPOINT
002170  1107          TAD OCHARY
002171  5363          JMP OC10A7
002173  5003
002174  0401
002175  1600
002176  7601
002177  5622
        2200          PAGE

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 17

              /PDP-10 CHARACTER INPUT
              /
              /CALL:
              /       JMS ICHR10      /PDP-10 INPUT
              /       -EOF-           /END OF FILE RETURN
              /       (AC)            /NORMAL RETURN - CHARACTER IN AC

002200  0000  ICHR10, 0               /PCP-10 INPUT ROUTINE
002201  1031          TAD CHARNI
002202  1377          TAD (JMP I ICHARX
002203  3205          DCA ICHARY      /USE CHARACTER NUMBER TO FORM JUMP
002204  6211          CDF 10          /BUFFER IS IN FIELD 1
002205  0000  ICHARY, 0               /TEMPORARY AND JUMP CELL

002206  2213  ICHARX, ICHAR0
002207  2321          ICHAR1
002210  2337          ICHAR2
002211  2346          ICHAR3
002212  2362          ICHAR4

              /INPUT CHARACTER #0 - BITS 0-6 WORD 1

002213  1045  ICHAR0, TAD WORDS       /GET NUMBER OF WORD LEFT
002214  7640          SZA CLA
002215  5253          JMP ICHARA      /STILL MORE WORDS LEFT
002216  1035          TAD IBLOCK      /GET NEXT BLOCK
002217  7450          SNA
002220  5271          JMP ICHARC+1    /NONE - EOF
002221  3226          DCA .+5         /SET NEXT BLOCK
002222  1034          TAD IUNIT
002223  3020          DCA UNIT10      /SET OUR UNIT
002224  4776          JMS I (READT    /READ PDP-10 DECTAPE
002225  3000          IBUF10
002226  0000          0               /OUR BLOCK IS SET
002227  6211          CDF 10          /BACK TO FIELD 1
002230  1545          TAD I [IBUF10+2
002231  0157          AND [177
002232  3045          DCA WORDS       /SET NUMBER OF WORDS
002233  1544          TAD I [IBUF10+1
002234  7012          RTR
002235  7012          RTR
002236  7012          RTR
002237  0177          AND [77
002240  3035          DCA IBLOCK      /SET NEXT BLOCK
002241  1543          TAD I [IBUF10
002242  0177          AND [77
002243  7106          CLL RTL
002244  7006          RTL
002245  7006          RTL
002246  1035          TAD IBLOCK
002247  3035          DCA IBLOCK      /SET NEXT BLOCK
002250  1375          TAD (IBUF10+3
002251  3041          DCA IPOINT      /RESET POINTER
002252  5213          JMP ICHAR0


/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 17-1

002253  7240  ICHARA, CLA CMA
002254  1045          TAD WORDS
002255  3045          DCA WORDS       /COUNT DOWM ON NUMBER OF WORDS
002256  1044          TAD MODE        /IMAGE MODE?
002257  7450          SNA
002260  5273          JMP ICHARB      /NO
002261  7700          SMA CLA
002262  5371          JMP IC10A1
002263  2041          ISZ IPOINT      /YES
002264  2041          ISZ IPOINT
002265  1441          TAD I IPOINT    /GET WORD 3
002266  2041          ISZ IPOINT
002267  0152          AND [377        /USE 8 BITS
002270  2200  ICHARC, ISZ ICHR10      /2ND EXIT
002271  6201          CDF             /BACK TO FIELD 0
002272  5600          JMP I ICHR10    /EXIT

002273  1043  ICHARB, TAD SAVELN      /PRESERVE OPTION?
002274  7640          SZA CLA
002275  5311          JMP ICHARF      /YES
002276  7326          CLL CLA CML RTL /NO
002277  1041          TAD IPOINT
002300  3205          DCA ICHARY      /POINT TO WORD 3
002301  1605          TAD I ICHARY
002302  7110          CLL RAR
002303  7620          SNL CLA
002304  5311          JMP ICHARF      /WORD O.K.
002305  2041          ISZ IPOINT
002306  2041          ISZ IPOINT      /IGNORE THIS WORD
002307  2041          ISZ IPOINT
002310  5213          JMP ICHAR0

002311  1441  ICHARF, TAD I IPOINT
002312  7012          RTR
002313  7012          RTR             /GET BITS 0-6
002314  7010          RAR
002315  2031  ICHARD, ISZ CHARNI      /BUMP COUNTER
002316  0157          AND [177        /USE 7 BITS
002317  1176          TAD [200        /ADD BIT 8
002320  5270          JMP ICHARC

              /INPUT CHARACTER #1 - BITS 7-11 WORD 1 AND BITS 0-1 WORD 2

002321  1044  ICHAR1, TAD MODE
002322  7640          SZA CLA
002323  5371          JMP IC10A1
002324  1441          TAD I IPOINT
002325  0162          AND [37
002326  7106          CLL RTL         /GET BITS 7-11
002327  3205          DCA ICHARY
002330  2041          ISZ IPOINT      /USE WORD 2 NOW
002331  1441          TAD I IPOINT
002332  7106          CLL RTL
002333  7004          RAL
002334  0161          AND [3          /GET BITS 0-1

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 17-2

002335  1205  ICHARE, TAD ICHARY      /ADD IN OTHER BITS
002336  5315          JMP ICHARD

              /INPUT CHARACTER #2 - BITS 2-8 WORD 2

002337  1044  ICHAR2, TAD MODE
002340  7640          SZA CLA
002341  5367          JMP IC10A3
002342  1441          TAD I IPOINT
002343  7010          RAR
002344  7012          RTR             /GET BITS 2-8
002345  5315          JMP ICHARD

              /INPUT CHARACTER #3 - BITS 9-11 WORD 2 AND BITS 0-3 WORD 3

002346  1441  ICHAR3, TAD I IPOINT
002347  0156          AND [7
002350  7106          CLL RTL
002351  7006          RTL             /GET BITS 9-11
002352  3205          DCA ICHARY
002353  2041          ISZ IPOINT      /USE WORD 3 NOW
002354  1441          TAD I IPOINT
002355  7006          RTL
002356  7006          RTL
002357  7004          RAL
002360  0160          AND [17         /GET BITS 0-3
002361  5335          JMP ICHARE

              /INPUT CHARACTER #4 - BITS 4-10 WORD 3

002362  3031  ICHAR4, DCA CHARNI      /RESET CHARACTER COUNT
002363  1441          TAD I IPOINT
002364  2041          ISZ IPOINT
002365  7010          RAR
002366  5316          JMP ICHARD+1

002367  3031  IC10A3, DCA CHARNI
002370  7410          SKP
002371  2031  IC10A1, ISZ CHARNI
002372  1441          TAD I IPOINT
002373  2041          ISZ IPOINT
002374  5270          JMP ICHARC
002375  3003
002376  0475
002377  5606
        2400          PAGE

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 18

              /CLOSE A PDP-10 FILE
              /
              /CALL:
              /       JMS CLOS10      /CLOSE A PDP-10 FILE
              /       -RETURN-

002400  0000  CLOS10, 0               /CLOSE A PDP-10 FILE
002401  1044          TAD MODE        /IMAGE MODE?
002402  7710          SPA CLA
002403  5211          JMP CLOS1A      /YES - NO FILL NEEDED
002404  1032          TAD CHARNO
002405  7650          SNA CLA
002406  5211          JMP CLOS1A      /CHARACTER NUMBER IS 0 - FILL DONE
002407  4777          JMS I (OCHR10   /0 FILL
002410  5204          JMP .-4         /LOOP

002411  1033  CLOS1A, TAD OUNIT
002412  3020          DCA UNIT10      /SET OUR UNIT
002413  1036          TAD OBLOCK
002414  3217          DCA .+3         /SET THE BLOCK
002415  4776          JMS I (WRITET   /WRITE PDP-10 DECTAPE
002416  5000          OBUF10
002417  0000          0               /BLOCK IS SET
002420  1375          TAD (MOUTPU
002421  4774          JMS I (DELETE   /DELETE THE OLD FILE
002422  7000          NOP             /O.K. IF IT IS NOT THERE
002423  1047          TAD FREEP
002424  3010          DCA INDEX0      /POINT TO THE FREE SPOT
002425  1142          TAD [MOUTPU
002426  3011          DCA INDEX1      /POINT TO THE FILE NAME
002427  6211          CDF 10          /TO FIELD 1
002430  1411          TAD I INDEX1
002431  3410          DCA I INDEX0
002432  1411          TAD I INDEX1    /SET THE NAME
002433  3410          DCA I INDEX0
002434  1411          TAD I INDEX1
002435  3410          DCA I INDEX0
002436  1010          TAD INDEX0
002437  1177          TAD [77
002440  3010          DCA INDEX0      /POINT TO THE EXTENSION
002441  1411          TAD I INDEX1
002442  3410          DCA I INDEX0    /SET THE EXTENSION
002443  1411          TAD I INDEX1
002444  3410          DCA I INDEX0
002445  1046          TAD DATE
002446  3410          DCA I INDEX0    /SET THE DATE
002447  4776          JMS I (WRITET   /WRITE PDP-10 DECTAPE
002450  7000          DIRECT          /DIRECTORY
002451  0144          144             /BLOCK 100 BASE 10
002452  5600          JMP I CLOS10    /EXIT

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 19

              /OPEN A PDP-10 FILE FOR OUTPUT
              /
              /CALL:
              /       JMS OOPN10      /OPEN A PDP-10 FILE
              /       -RETURN-

002453  0000  OOPN10, 0               /OPEN A PDP-10 FILE
002454  1373          TAD (ZFREE-1
002455  4772          JMS I (FIND     /FIND A FREE SPOT
002456  5771          JMP I (NOROOM   /NO ROOM LEFT
002457  3770          DCA I (SLOTNO   /SET THIS SLOT
002460  1010          TAD INDEX0
002461  3047          DCA FREEP       /SAVE POINTER TO FREE SPOT
002462  7240          CLA CMA
002463  3767          DCA I (NEXTDI   /SET DIRECTION = -1
002464  1366          TAD (144
002465  4765          JMS I (NEXTSL   /FIND FIRST OPEN SLOT
002466  3036          DCA OBLOCK      /AND SET IT
002467  6211          CDF 10
002470  1542          TAD I [MOUTPU
002471  3033          DCA OUNIT       /SET UNIT
002472  1036          TAD OBLOCK
002473  0160          AND [17
002474  7112          CLL RTR
002475  7012          RTR
002476  7010          RAR
002477  3551          DCA I [OBUF10+2 /SET FIRST BLOCK POINTER
002500  1036          TAD OBLOCK
002501  7112          CLL RTR
002502  7012          RTR
002503  0177          AND [77
002504  3547          DCA I [OBUF10+1 /SET FIRST BLOCK POINTER
002505  3550          DCA I [OBUF10   /ZERO LINK POINTER
002506  3032          DCA CHARNO      /RESET CHARACTER NUMBER
002507  1364          TAD (OBUF10+3
002510  3042          DCA OPOINT      /RESET POINTER
002511  6201          CDF
002512  5653          JMP I OOPN10    /EXIT

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 20

              /OPEN PDP-10 INPUT FILE
              /
              /CALL:
              /       (AC)            /POINT TO FILE NAME-1
              /       JMS IOPN10      /OPEN PDP-10 INPUT FILE
              /       -NO-            /NOT THERE
              /       (AC)            /ANY BLOCK OF THE FILE

002513  0000  IOPN10, 0               /OPEN PDP-10 INPUT FILE
002514  4772          JMS I (FIND     /FIND THE FILE
002515  5713          JMP I IOPN10    /NOT THERE
002516  3343          DCA IOPN1B      /SAVE SLOT NUMBER
002517  1363          TAD (143
002520  3324          DCA IOPN1A
002521  1362          TAD (CLA CMA
002522  3331          DCA IOPN1D
002523  4761  IOPN1F, JMS I (FINDSL   /FIND A SLOT
002524  0000  IOPN1A, 0               /SLOT TO FIND
002525  7041          CIA
002526  1343          TAD IOPN1B      /IS IT US?
002527  7650          SNA CLA
002530  5347          JMP IOPN1C      /YES
002531  7240  IOPN1D, CLA CMA
002532  1324          TAD IOPN1A      /BUMP BLOCK NUMBER
002533  7510          SPA
002534  5344          JMP IOPN1E      /TOO FAR
002535  1153          TAD [-1102
002536  7500          SMA
002537  5713          JMP I IOPN10    /TOO FAR - EXIT
002540  1360          TAD (1102
002541  3324          DCA IOPN1A      /SET NEW BLOCK
002542  5323          JMP IOPN1F      /RETRY

002543  0000  IOPN1B, 0               /SLOT THAT WE WANT

002544  7200  IOPN1E, CLA
002545  1357          TAD (CLA IAC
002546  5322          JMP IOPN1F-1    /CHANGE DIRECTION AND RETRY

002547  1324  IOPN1C, TAD IOPN1A
002550  6201          CDF
002551  2313          ISZ IOPN10
002552  5713          JMP I IOPN10    /EXIT
002557  7201
002560  1102
002561  1200
002562  7240
002563  0143
002564  5003
002565  1600
002566  0144
002567  1676
002570  1621
002571  0205
002572  4266

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 20-1

002573  1777
002574  1315
002575  7600
002576  0401
002577  2000
        2600          PAGE

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 21

              /CONVERT OS8 DATE TO PDP-10 DATE

002600  0000  CVDATE, 0
002601  7450          SNA
002602  5600          JMP I CVDATE    /0 CONVERTS TO 0
002603  3023          DCA TEMP1
002604  1023          TAD TEMP1
002605  0156          AND [7          /GET OS8 YEAR (-1970)
              DECIMAL
002606  1377          TAD (1970-1964
              OCTAL
002607  3246          DCA DATE1       /SAVE YEAR
002610  1246          TAD DATE1
002611  7104          CLL RAL         /*2
002612  1246          TAD DATE1       /*2+1=*3
002613  7106          CLL RTL         /*3*4=*12
002614  3246          DCA DATE1       /DATE1=DATE1*12
002615  1023          TAD TEMP1
002616  7006          RTL
002617  7006          RTL
002620  7004          RAL
002621  0160          AND [17         /GET MONTH
002622  1376          TAD (-1
002623  1246          TAD DATE1       /ADD IN MONTH
002624  3246          DCA DATE1
002625  1246          TAD DATE1
002626  7104          CLL RAL         /*2
002627  1246          TAD DATE1       /*2+1=*3
002630  3024          DCA TEMP2
002631  1024          TAD TEMP2
002632  7106          CLL RTL         /*3*4=*12
002633  1024          TAD TEMP2       /*12+*3=*15
002634  7104          CLL RAL         /*15*2=*30
002635  1246          TAD DATE1       /*30+1=*31
002636  3246          DCA DATE1       /DATE1=DATE1+MONTH-1 * 31
002637  1023          TAD TEMP1
002640  7012          RTR
002641  7010          RAR
002642  0162          AND [37
002643  1376          TAD (-1         /DAY-1
002644  1246          TAD DATE1
002645  5600          JMP I CVDATE

002646  0000  DATE1,  0

              /TYPE A PDP-10 DATE

002647  0000  DATE10, 0
002650  3246          DCA DATE1       /SAVE VALUE
002651  3322          DCA DATE2       /WILL BE YEAR
002652  1246  DATE11, TAD DATE1
002653  7700          SMA CLA
002654  5262          JMP DATE12      /MUST BE POSITIVE
002655  2322          ISZ DATE2       /BUMP YEAR
002656  1246          TAD DATE1

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 21-1

002657  1375          TAD (-564       /-372 DECIMAL (DAYS PER YEAR)
002660  3246          DCA DATE1
002661  5252          JMP DATE11

002662  3323  DATE12, DCA DATE3       /WILL BE MONTH
002663  1246          TAD DATE1       /DIVIDE BY 31
002664  1374          TAD (-37
002665  7510          SPA
002666  5272          JMP .+4
002667  2323          ISZ DATE3       /BUMP MONTH
002670  3246          DCA DATE1
002671  5263          JMP .-6

002672  7200          CLA
002673  2246          ISZ DATE1       /+1 IS DAY
002674  1373          TAD (100
002675  1322          TAD DATE2
002676  3322          DCA DATE2       /ADD (19)64 TO YEAR
002677  1323          TAD DATE3       /DIVIDE BY 12
002700  1372          TAD (-14
002701  7510          SPA
002702  5306          JMP .+4
002703  2322          ISZ DATE2       /BUMP YEAR
002704  3323          DCA DATE3
002705  5277          JMP .-6

002706  7201          CLA IAC
002707  1323          TAD DATE3       /+1 IS MONTH
002710  4324          JMS PRINT       /PRINT MONTH
002711  1371          TAD ("/
002712  4440          JMS I OUTPUT
002713  1246          TAD DATE1
002714  4324          JMS PRINT       /PRINT DAY
002715  1371          TAD ("/
002716  4440          JMS I OUTPUT
002717  1322          TAD DATE2
002720  4324          JMS PRINT       /PRINT YEAR
002721  5647          JMP I DATE10

002722  0000  DATE2,  0               /YEAR
002723  0000  DATE3,  0               /MONTH

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 22

              /PRINT ROUTINE

002724  0000  PRINT,  0
002725  3050          DCA PRINT0
002726  3054  PRINT7, DCA PRINTC      /SET SWITCH
002727  1370          TAD (PRINTL
002730  3051          DCA PRINT1
002731  7346          CLL CLA CMA RTL
002732  3053          DCA PRINT3
002733  3052  PRINT4, DCA PRINT2
002734  5337          JMP .+3

002735  3050          DCA PRINT0
002736  2052          ISZ PRINT2
002737  1050          TAD PRINT0
002740  1451          TAD I PRINT1
002741  7500          SMA
002742  5335          JMP .-5
002743  7200          CLA
002744  2051          ISZ PRINT1
002745  1052          TAD PRINT2
002746  7440          SZA
002747  5354          JMP PRINT5      /IT IS NON-ZERO
002750  1054          TAD PRINTC
002751  7440          SZA
002752  4440          JMS I OUTPUT    /PRINT LEADING SPACE IF DESIRED
002753  5357          JMP PRINT6

002754  1367  PRINT5, TAD ("0
002755  4440          JMS I OUTPUT
002756  7330          CLL CLA CML RAR
002757  2053  PRINT6, ISZ PRINT3
002760  5333          JMP PRINT4
002761  1050          TAD PRINT0
002762  1367          TAD ("0
002763  4440          JMS I OUTPUT
002764  5724          JMP I PRINT
002767  0260
002770  3000
002771  0257
002772  7764
002773  0100
002774  7741
002775  7214
002776  7777
002777  0006
        3000          PAGE

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 23

              DECIMAL
003000  6030  PRINTL, -1000
003001  7634          -100
003002  7766          -10
              OCTAL

003003  0000  PRINTZ, 0               /PRINT WITH LEADING SPACES
003004  3050          DCA PRINT0
003005  1203          TAD PRINTZ
003006  3777          DCA I (PRINT
003007  1376          TAD (240
003010  5775          JMP I (PRINT7

              /ZERO A DIRECTORY (PDP-10)

003011  0000  ZERO10, 0               /ZERO THE PDP-10 DIRECTORY
003012  1542          TAD I [MOUTPU
003013  0160          AND [17
003014  7640          SZA CLA
003015  5774          JMP I (NOT10F   /NOT A PDP-10
003016  1542          TAD I [MOUTPU
003017  3020          DCA UNIT10      /SET UNIT
003020  1373          TAD (DIRECT-1
003021  3010          DCA INDEX0      /POINT TO DIRECTORY
003022  1372          TAD (-600
003023  3022          DCA CNTR        /COUNT OF 600
003024  3410          DCA I INDEX0    /ZERO THE DIRECTORY
003025  2022          ISZ CNTR
003026  5224          JMP .-2         /LOOP
003027  1371          TAD (7570
003030  3770          DCA I (DIRECT   /SAVE BLOCKS 1 AND 2
003031  1367          TAD (170
003032  3766          DCA I (DIRECT+52        /SAVE BLOCK 144
003033  1365          TAD (777
003034  3764          DCA I (DIRECT+367       /SAVE BLOCKS 1102 ON UP
003035  7240          CLA CMA
003036  3763          DCA I (DIRECT+370
003037  4762          JMS I (WRITET   /WRITE PDP-10 DECTAPE
003040  7000          DIRECT          /DIRECTORY
003041  0144          144             /DIRECTORY BLOCK
003042  6211          CDF 10
003043  5611          JMP I ZERO10    /EXIT

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 24

              /DELETE A PDP-10 FILE

003044  0000  DELE10, 0               /DELETE A PDP-10 FILE
003045  1542          TAD I [MOUTPU
003046  0160          AND [17
003047  7440          SZA
003050  5263          JMP DELOS8      /DELETE A OS8 FILE
003051  1542          TAD I [MOUTPU
003052  3020          DCA UNIT10      /SET UNIT
003053  1142          TAD [MOUTPU
003054  6201          CDF
003055  4761          JMS I (DELETE   /DELETE THE PDP-10 FILE
003056  5760          JMP I (ERDELF   /NOT THERE
003057  4762          JMS I (WRITET   /WRITE PDP-10 DECTAPE
003060  7000          DIRECT
003061  0144          144             /DIRECTORY BLOCK
003062  5644          JMP I DELE10    /EXIT

003063  6213  DELOS8, CIF CDF 10
003064  4757          JMS I (DELPS1   /DELETE A OS8 FILE
003065  5644          JMP I DELE10
003066  5760          JMP I (ERDELF   /ERROR DELETING THE FILE

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 25

003157  2010
003160  0215
003161  1315
003162  0401
003163  7370
003164  7367
003165  0777
003166  7052
003167  0170
003170  7000
003171  7570
003172  7200
003173  6777
003174  0213
003175  2726
003176  0240
003177  2724
        3200  PAGE

              /GET THE NEXT INPUT FILE

003200  0000  NEXIFL, 0               /GET THE NEXT INPUT FILE
003201  3031          DCA CHARNI      /RESET STUFF
003202  3045          DCA WORDS
003203  6211          CDF 10
003204  7240          CLA CMA
003205  3777          DCA I (INCHCT
003206  3776          DCA I (INEOF
003207  1375          TAD (INDEVH+1
003210  3227          DCA INDEVX
003211  1417          TAD I IXR       /GET NEXT
003212  7450          SNA
003213  5276          JMP NEXIF2      /E.O.F
003214  3034          DCA IUNIT
003215  1417          TAD I IXR
003216  3035          DCA IBLOCK      /SET START BLOCK
003217  6201          CDF
003220  1034          TAD IUNIT
003221  0160          AND [17
003222  7450          SNA
003223  5247          JMP NEXIF1      /PDP-10 FILE
003224  6212          CIF 10
003225  4576          JMS I [200
003226  0001          1
003227  0000  INDEVX, 0
003230  5774          JMP I (NOOFIL
003231  6211          CDF 10
003232  1227          TAD INDEVX
003233  3773          DCA I (INHNDL
003234  1035          TAD IBLOCK
003235  3772          DCA I (INREC
003236  1034          TAD IUNIT
003237  0155          AND [7760
003240  7440          SZA
003241  1160          TAD [17

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 25-1

003242  7132          CLL CML RTR
003243  7012          RTR
003244  3771          DCA I (INCTR
003245  1370          TAD (ICHRPS
003246  5274          JMP NEXIF3

003247  1034  NEXIF1, TAD IUNIT
003250  3020          DCA UNIT10
003251  1035          TAD IBLOCK
003252  3255          DCA .+3
003253  4767          JMS I (READT
003254  3000          IBUF10
003255  0000          0               /READ ANY BLOCK
003256  6211          CDF 10
003257  1545          TAD I [IBUF10+2
003260  7006          RTL
003261  7006          RTL
003262  7004          RAL
003263  0160          AND [17
003264  3035          DCA IBLOCK
003265  1544          TAD I [IBUF10+1
003266  0177          AND [77
003267  7106          CLL RTL
003270  7006          RTL
003271  1035          TAD IBLOCK
003272  3035          DCA IBLOCK      /SET START BLOCK
003273  1366          TAD (ICHR10
003274  3037  NEXIF3, DCA INPUT       /SET ROUTINE POINTER
003275  2200          ISZ NEXIFL
003276  6201  NEXIF2, CDF
003277  5600          JMP I NEXIFL    /EXIT

003300  0000  ICHRPS, 0
003301  6213          CIF CDF 10
003302  4765          JMS I (ICHARP
003303  7410          SKP
003304  2300          ISZ ICHRPS
003305  5700          JMP I ICHRPS

003306  0000  OCHRPS, 0
003307  6212          CIF 10
003310  4764          JMS I (OCHARP
003311  5763          JMP I (IOERR
003312  5706          JMP I OCHRPS
003363  0203
003364  2444
003365  2020
003366  2200
003367  0475
003370  3300
003371  2005
003372  2047
003373  2006
003374  0207
003375  6601

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 25-2

003376  2135
003377  2136
        3400          PAGE

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 26

003400  6211  PIP10,  CDF 10          /STARTS HERE - JUMPED TO FROM 200
003401  1777          TAD I (MDATE    /GET TODAY'S DATE
003402  6201          CDF
003403  4776          JMS I (CVDATE   /CONVERT IT
003404  3046          DCA DATE        /AND STORE IT
003405  1375          TAD     (3401   /UNRESTARTABLE, DOESN'T DESTROY BATCH OR USR AREA
003406  3774          DCA I   (JSBITS
003407  6201  PIPCD,  CDF
003410  4773          JMS I (CD       /COMMAND DECODE
003411  6211          CDF 10
003412  1772          TAD I (MPARAM
003413  0371          AND (2010
003414  7104          CLL RAL
003415  3044          DCA MODE        /SET /I SWITCH
003416  1770          TAD I (MPARAM+1
003417  0367          AND (400
003420  3043          DCA SAVELN      /SET /P SWITCH
003421  1772          TAD I (MPARAM
003422  0366          AND (101
003423  7640          SZA CLA
003424  5765          JMP I (LIST10   /EITHER /F OR /L
003425  1542          TAD I [MOUTPU
003426  7640          SZA CLA
003427  5234          JMP PIP001      /IS AN OUTPUT FILE
003430  1764          TAD I (MINPUT
003431  7650          SNA CLA
003432  5207          JMP PIPCD       /NO OUTPUT OR INPUT FILES
003433  5763          JMP I (NOOOFL   /INPUT, BUT NO OUTPUT

003434  7332  PIP001, CLL CLA CML RTR
003435  0762          AND I (MPARAM+2
003436  7640          SZA CLA
003437  4761          JMS I (ZERO10   /IT IS /Z OPTION
003440  1360          TAD (OUDEVH+1
003441  3324          DCA OUDEVX
003442  1542          TAD I [MOUTPU
003443  0160          AND [17
003444  7440          SZA
003445  5320          JMP PIPB        /OUTPUT IS OS8
003446  1542          TAD I [MOUTPU
003447  3020          DCA UNIT10      /SET UNIT
003450  4757          JMS I (READT
003451  7000          DIRECT          /GET DIRECTORY INTO CORE
003452  0144          144
003453  6211  PIPA,   CDF 10
003454  1324          TAD OUDEVX
003455  3756          DCA I (OUHNDL
003456  1772          TAD I (MPARAM
003457  0367          AND (400
003460  7640          SZA CLA
003461  4755          JMS I (DELE10   /DELETE A PDP-10 FILE FIRST
003462  6211          CDF 10
003463  1354          TAD (MINPUT-1
003464  3017          DCA IXR
003465  1417          TAD I IXR

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 26-1

003466  7650          SNA CLA
003467  5207          JMP PIPCD       /NO INPUT
003470  1354          TAD (MINPUT-1
003471  3017          DCA IXR         /SET INPUT LIST
003472  1542          TAD I [MOUTPU
003473  0160          AND [17
003474  6201          CDF
003475  7640          SZA CLA
003476  5313          JMP PIPC        /OUTPUT IS OS8
003477  4753          JMS I (OOPN10   /OPEN PDP-10 OUTPUT
003500  1352          TAD (OCHR10
003501  3040  PIPD,   DCA OUTPUT      /SET OUTPUT ROUTINE
003502  7640  PIPE,   SZA CLA         /IS IT ERROR OR EOF
003503  5751          JMP I (IOERR    /ERROR
003504  4750          JMS I (NEXIFL   /GET NEXT FILE
003505  5327          JMP PIPF        /FINAL EOF
003506  4513  PIPX,   JMS I XVERTP    /SHOULD WE DO THE ALDERSON CONVERSION?
003507  4437          JMS I INPUT     /GET INPUT
003510  5302          JMP PIPE        /EOF OR ERROR
003511  4440          JMS I OUTPUT    /OUTPUT
003512  5307          JMP .-3         /LOOP

003513  6213  PIPC,   CIF CDF 10
003514  4747          JMS I (OOPNPS   /OPEN OS8 OUTPUT
003515  5763          JMP I (NOOOFL
003516  1346          TAD (OCHRPS
003517  5301          JMP PIPD

003520  6201  PIPB,   CDF 0
003521  6212          CIF 10
003522  4576          JMS I [200
003523  0001          1               /GET OS8 OUTPUT HANDLER
003524  0000  OUDEVX, 0
003525  5745          JMP I (NOOFIL
003526  5253          JMP PIPA

003527  6211  PIPF,   CDF 10
003530  1542          TAD I [MOUTPU   /NOW CLOSE THE OUTPUT FILE
003531  0160          AND [17
003532  6201          CDF
003533  7640          SZA CLA
003534  5337          JMP PIPG
003535  4744          JMS I (CLOS10
003536  5207          JMP PIPCD

003537  6213  PIPG,   CIF CDF 10
003540  4743          JMS I (OCLOSE
003541  5751          JMP I (IOERR
003542  5207          JMP PIPCD
003543  2262
003544  2400
003545  0207
003546  3306
003547  2200
003550  3200

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 26-2

003551  0203
003552  2000
003553  2453
003554  7616
003555  3044
003556  2226
003557  0475
003560  7201
003561  3011
003562  7645
003563  0221
003564  7617
003565  4000
003566  0101
003567  0400
003570  7644
003571  2010
003572  7643
003573  5400
003574  7746
003575  3401
003576  2600
003577  7666
        3600          PAGE

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 27


              /RMA 2013-03 CONVERSION SPECIFIED (/X)?  DO IT, OR GET OUT!
              /            USEFUL FOR TRANSFERING PDP-10 BINARIES TO DECTAPE
              /            WHEN NO PDP-10 DECTAPE IS AVAILABLE BUT SERIAL
              /            LINE COMMUNICATIONS ARE

003600  0000  XVERTQ, 0
003601  6211          CDF 10
003602  6202          CIF 0
003603  7200          CLA
003604  1777          TAD I (MPARAM+1
003605  0376          AND (1
003606  7650          SNA CLA
003607  5600          JMP I XVERTQ    /NO /X SEEN, GO AWAY

003610  1375          TAD (PIPE       /CHEAT ON RETURN ADDRESS
003611  3200          DCA XVERTQ      / (SINCE IT WILL BE EOF ANYWAY)

003612  1044  SAVMOD, TAD MODE        /SAVE MODE (/I/B) SETTING
003613  3027          DCA TEMP5

003614  1374  XLOOP,  TAD (-4         /INITIALIZE COUNTER FOR 4 DIGITS
003615  3030          DCA TEMP6

003616  1342          TAD XTEMP1      /INITIALIZE POINTER TO TEMPORARY STORAGE
003617  3343          DCA XTEMP
003620  3044          DCA MODE        /CHARACTER-AT-A-TIME MODE FOR INPUT ROUTINE

003621  4437  GETDIG, JMS I INPUT     /GET AN INPUT CHARACTER
003622  5600          JMP I XVERTQ    /EITHER ERROR OR EOF, SAVE THE STATE

003623  3743          DCA I XTEMP     /SAVE INPUT CHARACTER FOR CHECKING
003624  1743          TAD I XTEMP     /CHECK FOR LEGAL OCTAL DIGIT

003625  1373          TAD (-200       /CHECK FOR 200 BIT IN CHARACTER
003626  7100          CLL
003627  7510          SPA             /WAS ON, LEAVE IT OFF
003630  1372          TAD (200        /FIX UP NEGATIVE VALUE

003631  1371          TAD (-44        /IS THERE A DOLLAR SIGN?
003632  7450          SNA             /NO
003633  5600          JMP I XVERTQ    /YES, GO GET NEXT INPUT FILE

              ///     TAD (-60        /ASCII (2)60 = "0"
003634  1370          TAD (-14        /COMPENSATE FOR DOLLAR SIGN CHECK
003635  7100          CLL
003636  7510          SPA             /LESS THAN (2)60? (ASCII "0")
003637  5767          JMP I (IOERR    /YES, GO COMPLAIN
003640  1366          TAD (-10
003641  7100          CLL
003642  7500          SMA             /LESS THAN (2)70? (ASCII "8")
003643  5767          JMP I (IOERR    /NO, GO COMPLAIN
003644  1365          TAD (10
003645  3743          DCA I XTEMP


/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 27-1

003646  2343          ISZ XTEMP       /BUMP TEMP STORAGE POINTER
003647  2030          ISZ TEMP6       /FINISHED WITH NUMERIC PORTION?
003650  5221          JMP GETDIG      /NO, GET NEXT DIGIT

003651  4437  GTCRLF, JMS I INPUT     /GET NEXT CHARACTER
003652  5600          JMP I XVERTQ    /EITHER ERROR OR EOF, SAVE THE STATE
003653  1373          TAD (-200
003654  7100          CLL
003655  7510          SPA
003656  1372          TAD (200

003657  1364          TAD (-12
003660  7100          CLL
003661  7450          SNA             /LINE FEED?
003662  5301          JMP PACK

003663  1363          TAD (-3         /CARRIAGE RETURN?
003664  7100          CLL
003665  7640          SZA CLA
003666  5767          JMP I (IOERR    /NO, COMPLAIN

003667  4437          JMS I INPUT     /LOOK FOR FOLLOWING LF
003670  5600          JMP I XVERTQ    /EITHER ERROR OR EOF, SAVE THE STATE
003671  1373          TAD (-200
003672  7100          CLL
003673  7510          SPA
003674  1372          TAD (200

003675  1364          TAD (-12
003676  7100          CLL
003677  7640          SZA CLA         /LINE FEED?
003700  5767          JMP I (IOERR    /NO, COMPLAIN

003701  1342  PACK,   TAD XTEMP1      /COMPLETE LINE, INITIALIZE POINTER TO
003702  3343          DCA XTEMP       / HOLDING BUFFER
003703  7621          CLA MQL         /CLEAR AC AND MQ = 7621
003704  7100          CLL             /CLEAR LINK

003705  1743  DIGPAK, TAD I XTEMP     /GET HIGH-ORDER BITS
003706  7106          CLL RTL         /ROTATE THROUGH CLEARED LINK
003707  7004          RAL             /ROTATE ONCE MORE
003710  7421          MQL             /STORE IN MQ
003711  2343          ISZ XTEMP       /INCREMENT STORAGE POINTER
003712  1743          TAD I XTEMP     /GET NEXT 3 BITS
003713  7501          MQA             /OR HELD VALUE INTO AC
003714  7106          CLL RTL         /ROTATE THROUGH CLEARED LINK
003715  7004          RAL             /ROTATE ONCE MORE
003716  7421          MQL             /STORE IN MQ
003717  2343          ISZ XTEMP       /INCREMENT STORAGE POINTER
003720  1743          TAD I XTEMP     /GET NEXT 3 BITS
003721  7501          MQA             /OR HELD VALUE INTO AC
003722  7106          CLL RTL         /ROTATE THROUGH CLEARED LINK
003723  7004          RAL             /ROTATE ONCE MORE
003724  7421          MQL             /STORE IN MQ
003725  2343          ISZ XTEMP       /INCREMENT STORAGE POINTER

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 27-2

003726  1743          TAD I XTEMP     /GET LOW-ORDER BITS
003727  7501          MQA             /OR HELD VALUE INTO AC
003730  7100          CLL             /JUST ON GENERAL PRINCIPLES
003731  3343          DCA XTEMP       /SAVE MOMENTARILY

003732  1362          TAD (20         /WORD-AT-A-TIME MODE SETTING FOR OUTPUT
003733  3044          DCA MODE

003734  1343          TAD XTEMP       /GET VALUE FOR OUTPUT
003735  4440          JMS I OUTPUT
003736  5214          JMP XLOOP       /PROCESS NEXT VALUE

003737  1027          TAD TEMP5       /RESTORE MODE SETTING
003740  3044          DCA MODE

003741  5600          JMP I XVERTQ

003742  3745  XTEMP1, XTEMP+2         /INITIAL VALUE FOR HOLD BUFFER POINTER
003743  0000  XTEMP,  ZBLOCK 5        /HOLD BUFFER = POINTER + 4 DATA WORDS

003762  0020
003763  7775
003764  7766
003765  0010
003766  7770
003767  0203
003770  7764
003771  7734
003772  0200
003773  7600
003774  7774
003775  3502
003776  0001
003777  7644
        4000          PAGE    

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 28

004000  1377  LIST10, TAD (OUDEVH+1
004001  3217          DCA OUDEVY
004002  1377          TAD (OUDEVH+1
004003  3234          DCA OUDEVZ
004004  1376          TAD (3100       /RESET THINGS
004005  3216          DCA LISTDV+1
004006  1542          TAD I [MOUTPU
004007  7440          SZA
004010  5225          JMP LIST11      /OUTPUT FILE EXISTS
004011  6201          CDF 0
004012  6212          CIF 10
004013  4576          JMS I [200
004014  0001          1
004015  2424  LISTDV, TEXT /TTY/      /LOOKUP THE TTY:
004016  3100
004017  0000  OUDEVY, 0
004020  5775          JMP I (NOOOFL
004021  6211          CDF 10
004022  1216          TAD LISTDV+1
004023  3542          DCA I [MOUTPU   /SET TTY: DEVICE NUMBER
004024  1542          TAD I [MOUTPU
004025  0160  LIST11, AND [17
004026  7450          SNA
004027  5774          JMP I (NOTPSF   /NOT A OS8 FILE
004030  6201          CDF 0
004031  6212          CIF 10
004032  4576          JMS I [200
004033  0001          1               /LOOKUP DEVICE
004034  0000  OUDEVZ, 0
004035  5773          JMP I (NOOFIL
004036  6213  LIST12, CDF CIF 10
004037  1234          TAD OUDEVZ
004040  3772          DCA I (OUHNDL
004041  4771          JMS I (OOPNPS   /OPEN OUTPUT FILE
004042  5775          JMP I (NOOOFL
004043  1370          TAD (OCHRPS
004044  3040          DCA OUTPUT      /SET OUTPUT ROUTINE
004045  6211          CDF 10
004046  1767          TAD I (MINPUT
004047  3020          DCA UNIT10
004050  6201          CDF
004051  1020          TAD UNIT10
004052  7450          SNA
004053  5766          JMP I (PIPCD    /NO INPUT
004054  0160          AND [17
004055  7640          SZA CLA
004056  5765          JMP I (NOT10F
004057  4764          JMS I (READT    /READ THE DIRECTORY
004060  7000          DIRECT
004061  0144          144
004062  1363          TAD (LISTL-1
004063  3010          DCA INDEX0
004064  1362          TAD (-40
004065  3022          DCA CNTR
004066  3410          DCA I INDEX0    /CLEAR THE COUNTS

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 28-1

004067  2022          ISZ CNTR
004070  5266          JMP .-2
004071  1361          TAD (-1101
004072  3341          DCA LIST13
004073  7201          CLA IAC
004074  3276          DCA LIST14
004075  4760          JMS I (FINDSL   /FIND ALL SLOTS
004076  0000  LIST14, 0
004077  1357          TAD (LISTL
004100  3342          DCA LIST15
004101  2742          ISZ I LIST15    /COUNT THE NUMBER IN EACH SLOT
004102  2276          ISZ LIST14
004103  2341          ISZ LIST13
004104  5275          JMP LIST14-1
004105  4756          JMS I   (CRLF
004106  1757          TAD I (LISTL
004107  4755          JMS I (PRINTZ   /PRINT FREE BLOCKS
004110  1354          TAD (LISTM1-1
004111  3010          DCA INDEX0
004112  4753          JMS I (ERROR4   /"FREE BLOCKS"
004113  4756          JMS I   (CRLF
004114  1352          TAD (-26
004115  3341          DCA LIST13
004116  1351          TAD (DIRECT+370
004117  3016          DCA INDEX6
004120  6211  LIST17, CDF 10          /MAIN LOOP
004121  1416          TAD I INDEX6
004122  7450          SNA
004123  5750          JMP I (LIST16   /DO NOT PRINT THIS BLANK ENTRY
004124  4747          JMS I (LIST18
004125  1416          TAD I INDEX6
004126  4747          JMS I (LIST18
004127  1416          TAD I INDEX6
004130  4747          JMS I (LIST18
004131  6201          CDF
004132  1346          TAD (".
004133  4440          JMS I OUTPUT
004134  6211          CDF 10
004135  1016          TAD INDEX6
004136  1177          TAD [77
004137  3015          DCA INDEX5
004140  5745          JMP I (LIST22

004141  0000  LIST13, 0
004142  0000  LIST15, 0
004145  4200
004146  0256
004147  4245
004150  4233
004151  7370
004152  7752
004153  0236
004154  4504
004155  3003
004156  4236

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 28-2

004157  4400
004160  1200
004161  6677
004162  7740
004163  4377
004164  0475
004165  0213
004166  3407
004167  7617
004170  3306
004171  2200
004172  2226
004173  0207
004174  0217
004175  0221
004176  3100
004177  7201
        4200          PAGE

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 29

004200  1415  LIST22, TAD I INDEX5    /GET EXTENSION
004201  4245          JMS LIST18
004202  1415          TAD I INDEX5
004203  0154          AND [7700
004204  4245          JMS LIST18
004205  7201          CLA IAC
004206  0777          AND I (MPARAM
004207  7650          SNA CLA
004210  5224          JMP LIST19      /NO EXTRA IF NOT /L
004211  4245          JMS LIST18
004212  6201          CDF
004213  1776          TAD I (LIST13
004214  1375          TAD (LISTL+27
004215  3244          DCA LIST23
004216  1644          TAD I LIST23    /GET NUMBER OF BLOCKS
004217  4774          JMS I (PRINTZ
004220  4245          JMS LIST18
004221  1415          TAD I INDEX5
004222  6201          CDF
004223  4773          JMS I (DATE10
004224  6201  LIST19, CDF
004225  4236          JMS CRLF
004226  6201  LIST20, CDF
004227  2776          ISZ I (LIST13
004230  5772          JMP I (LIST17   /LOOP
004231  4236          JMS CRLF
004232  5771          JMP I (PIPG     /CLOSE THE FILE

004233  2016  LIST16, ISZ INDEX6
004234  2016          ISZ INDEX6
004235  5226          JMP LIST20

004236  0000  CRLF,   0
004237  1165          TAD [215
004240  4440          JMS I OUTPUT
004241  1164          TAD [212
004242  4440          JMS I OUTPUT
004243  5636          JMP I CRLF

004244  0000  LIST23, 0

004245  0000  LIST18, 0
004246  6201          CDF
004247  3023          DCA TEMP1
004250  1023          TAD TEMP1
004251  7012          RTR
004252  7012          RTR
004253  7012          RTR
004254  4261          JMS LIST21
004255  1023          TAD TEMP1
004256  4261          JMS LIST21
004257  6211          CDF 10
004260  5645          JMP I LIST18

004261  0000  LIST21, 0

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 29-1

004262  0177          AND [77
004263  1141          TAD [240
004264  4440          JMS I OUTPUT
004265  5661          JMP I LIST21

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 30

              /FIND A PDP-10 ENTRY IN DIRECTORY
              /
              /CALL:
              /       (AC)            /POINT TO NAME-1 (FIELD 1)
              /       JMS FIND        /FIND A PDP-10 ENTRY
              /       -NO-            /NOT FOUND
              /       (AC)            /SLOT NUMBER IF FOUND

004266  0000  FIND,   0               /FIND A PDP-10 FILE
004267  3351          DCA FIND4       /SAVE POINTER
004270  1370          TAD (DIRECT+370
004271  3010          DCA INDEX0      /POINT TO DIRECTORY START
004272  1367          TAD (-26
004273  3022          DCA CNTR        /22 DECIMAL FILES
004274  6211          CDF 10          /DIRECTORY IS IN FIELD 1
004275  1351  FIND2,  TAD FIND4               /GET POINTER
004276  3012          DCA INDEX2      /POINT TO NAME,EXT
004277  1410          TAD I INDEX0
004300  7041          CIA
004301  1412          TAD I INDEX2    /CHECK WORD 1
004302  7640          SZA CLA
004303  5344          JMP FIND1       /NO
004304  1410          TAD I INDEX0
004305  7041          CIA
004306  1412          TAD I INDEX2    /CHECK WORD 2
004307  7640          SZA CLA
004310  5345          JMP FIND1+1     /NO
004311  1410          TAD I INDEX0
004312  7041          CIA
004313  1412          TAD I INDEX2    /CHECK WORD 3
004314  7640          SZA CLA
004315  5346          JMP FIND1+2     /NO
004316  1010          TAD INDEX0
004317  1177          TAD [77
004320  3011          DCA INDEX1      /POINT TO EXTENSIONS
004321  1411          TAD I INDEX1
004322  7041          CIA
004323  1412          TAD I INDEX2    /CHECK WORD 4
004324  7640          SZA CLA
004325  5346          JMP FIND1+2     /NO
004326  1411          TAD I INDEX1
004327  0154          AND [7700
004330  7041          CIA
004331  1412          TAD I INDEX2    /CHECK WORD 5
004332  7640          SZA CLA
004333  5346          JMP FIND1+2     /NO
004334  7346          CLL CLA CMA RTL
004335  1010          TAD INDEX0
004336  3010          DCA INDEX0      /POINT TO ENTRY AGAIN
004337  1022          TAD CNTR
004340  1366          TAD (27
004341  2266          ISZ FIND        /WE FOUND IT - 2ND EXIT
004342  6201  FIND3,  CDF             /BACK TO FIELD 0
004343  5666          JMP I FIND      /EXIT


/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 30-1

004344  2010  FIND1,  ISZ INDEX0      /EXTRA POINTER BUMPS
004345  2010          ISZ INDEX0
004346  2022          ISZ CNTR        /MORE FILES?
004347  5275          JMP FIND2       /YES - LOOP
004350  5342          JMP FIND3       /NO - NOT FOUND

004351  0000  FIND4,  0               /POINTER TO NAME-1
004366  0027
004367  7752
004370  7370
004371  3537
004372  4120
004373  2647
004374  3003
004375  4427
004376  4141
004377  7643
        4400          PAGE

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 31

        4400  LINBUF=.
004400  0000  LISTL,  ZBLOCK 105

004505  4006  LISTM1, TEXT / FREE BLOCKS   PIP10 V2_/
004506  2205
004507  0540
004510  0214
004511  1703
004512  1323
004513  4040
004514  4020
004515  1120
004516  6160
004517  4026
004520  6237
004521  0000

004522  3720  ERMES0, TEXT    /_PIP10 CANNOT BE CHAINED TO_/
004523  1120
004524  6160
004525  4003
004526  0116
004527  1617
004530  2440
004531  0205
004532  4003
004533  1001
004534  1116
004535  0504
004536  4024
004537  1737
004540  0000
004541  3711  ERMES1, TEXT #_I/O ERROR_#
004542  5717
004543  4005
004544  2222
004545  1722
004546  3700

004547  3704  ERMES2, TEXT /_DEVICE FULL_/
004550  0526
004551  1103
004552  0540
004553  0625
004554  1414
004555  3700

004556  3716  ERMES3, TEXT /_NO SUCH DEVICE_/
004557  1740
004560  2325
004561  0310
004562  4004
004563  0526
004564  1103
004565  0537

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 31-1

004566  0000

004567  3716  ERMES4, TEXT /_NOT PDP-10 FILE_/
004570  1724
004571  4020
004572  0420
004573  5561
004574  6040
004575  0611
004576  1405
004577  3700

004600  3705  ERMES5, TEXT /_ERROR DELETING FILE_/
004601  2222
004602  1722
004603  4004
004604  0514
004605  0524
004606  1116
004607  0740
004610  0611
004611  1405
004612  3700

004613  3716  ERMES6, TEXT /_NOT OS8 FILE_/
004614  1724
004615  4017
004616  2370
004617  4006
004620  1114
004621  0537
004622  0000

004623  3717  ERMES7, TEXT /_OUTPUT FILE OPEN ERROR_/
004624  2524
004625  2025
004626  2440
004627  0611
004630  1405
004631  4017
004632  2005
004633  1640
004634  0522
004635  2217
004636  2237
004637  0000

004640  3723  ERMES8, TEXT /_SYNTAX ERROR_/
004641  3116
004642  2401
004643  3040
004644  0522
004645  2217
004646  2237
004647  0000

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 31-2

004650  3706  ERMES9, TEXT    /_FILE NOT FOUND_/
004651  1114
004652  0540
004653  1617
004654  2440
004655  0617
004656  2516
004657  0437
004660  0000

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 32

              /ROUTINE TO SET TD8E UNIT INFORMATION FROM UNIT10

004661  0000  TDUSET, 0
004662  1020          TAD     UNIT10
004663  7106          CLL RTL
004664  7004          RAL
004665  0377          AND     (7
004666  1376          TAD     (DVCTBL
004667  3310          DCA     DVCPTR
004670  7010          RAR
004671  3111          DCA     TDUNIT  /SAVE EVEN/ODD BIT
004672  1375          TAD     (TDUTBL
004673  3306          DCA     TDUPTR
004674  1706  TDULP,  TAD I   TDUPTR
004675  7450          SNA
004676  5661          JMP I   TDUSET
004677  3307          DCA     TDUT
004700  1707          TAD I   TDUT
004701  0377          AND     (7
004702  1710          TAD I   DVCPTR
004703  3707          DCA I   TDUT
004704  2306          ISZ     TDUPTR
004705  5274          JMP     TDULP
004706  0000  TDUPTR, 0
004707  0000  TDUT,   0
004710  0000  DVCPTR, 0
004711  6770  DVCTBL, 6770;6760;6750;6740
004712  6760
004713  6750
004714  6740

004715  6216  TDUTBL, DIO01
004716  6234          DIO02
004717  6240          DIO03
004720  6247          DIO04
004721  6250          DIO05
004722  6254          DIO06
004723  6260          DIO07
004724  6263          DIO08
004725  6304          DIO09
004726  6310          DIO10
004727  6312          DIO11
004730  6323          DIO12
004731  6335          DIO13
004732  6350          DIO14
004733  6406          DIO15
004734  6410          DIO16
004735  6420          DIO17
004736  6431          DIO18
004737  6506          DIO19
004740  6510          DIO20
004741  6514          DIO21
004742  6516          DIO22
004743  6307          IOTX1
004744  6311          IOTX2

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 32-1

004745  6317          IOTX3
004746  6322          IOTX4
004747  6324          IOTX5
004750  6341          IOTX6
004751  6352          IOTX7
004752  6354          IOTX8
004753  0000          0
004775  4715
004776  4711
004777  0007
        5000          PAGE

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 33

              /GET A CHARACTER

005000  0000  GCH,    0
005001  1417          TAD I IXR       /GET A CHAR
005002  1377          TAD (-240
005003  7450          SNA
005004  5201          JMP GCH+1       /IGNORE SPACES
005005  1376          TAD (240-"/
005006  7450          SNA
005007  5215          JMP SLASH
005010  1375          TAD ("/-"(
005011  7450          SNA
005012  5220          JMP OPENP
005013  1374          TAD ("(
005014  5600          JMP I GCH       /EXIT

005015  1417  SLASH,  TAD I IXR
005016  4227          JMS SLSHCH      /GET OPTION
005017  5201          JMP GCH+1

005020  1417  OPENP,  TAD I IXR
005021  1373          TAD (-")
005022  7450          SNA
005023  5201          JMP GCH+1       /END
005024  1372          TAD (")
005025  4227          JMS SLSHCH      /GET OPTION
005026  5220          JMP OPENP

005027  0000  SLSHCH, 0
005030  7450          SNA
005031  5771          JMP I (SYNTAX   /ERROR
005032  3030          DCA TEMP6
005033  1370          TAD (MPARAM-1
005034  3027          DCA TEMP5       /POINT TO PARAMETERS
005035  4263          JMS DECODE
005036  5771          JMP I (SYNTAX
005037  7430          SZL
005040  1367          TAD (32         /ADD
005041  1366          TAD (-14
005042  2027          ISZ TEMP5
005043  7500          SMA
005044  5241          JMP .-3         /FIND DIVIDED BY 12
005045  3026          DCA TEMP4
005046  7120          CLL CML
005047  7004          RAL
005050  2026          ISZ TEMP4
005051  5247          JMP .-2         /SHIFT A BIT
005052  3026          DCA TEMP4       /SAVE IT
005053  6211          CDF 10
005054  1026          TAD TEMP4
005055  7040          CMA
005056  0427          AND I TEMP5
005057  1026          TAD TEMP4       /OR IN THAT BIT
005060  3427          DCA I TEMP5
005061  6201          CDF

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 33-1

005062  5627          JMP I SLSHCH

005063  0000  DECODE, 0
005064  1030          TAD TEMP6
005065  1365          TAD (-"9-1
005066  7100          CLL
005067  1364          TAD ("9+1-"0
005070  7430          SZL
005071  5276          JMP DECOD1
005072  1363          TAD ("0-"Z-1
005073  7120          CLL CML
005074  1367          TAD ("Z-"A+1
005075  7420          SNL
005076  2263  DECOD1, ISZ DECODE
005077  5663          JMP I DECODE

005100  0000  EXA40,  0
005101  1362          TAD (CDNAME
005102  3027          DCA TEMP5
005103  1361          TAD (-5
005104  3026          DCA TEMP4
005105  7330  EXA401, CLL CLA CML RAR
005106  1427          TAD I TEMP5
005107  0154          AND [7700
005110  7104          CLL RAL
005111  7440          SZA
005112  7010          RAR
005113  3025          DCA TEMP3
005114  1427          TAD I TEMP5
005115  1360          TAD (40
005116  0177          AND [77
005117  1357          TAD (-40
005120  7440          SZA
005121  1360          TAD (40
005122  1025          TAD TEMP3
005123  3427          DCA I TEMP5
005124  2027          ISZ TEMP5
005125  2026          ISZ TEMP4
005126  5305          JMP EXA401
005127  5700          JMP I EXA40
005157  7740
005160  0040
005161  7773
005162  0060
005163  7725
005164  0012
005165  7506
005166  7764
005167  0032
005170  7642
005171  0223
005172  0251
005173  7527
005174  0250
005175  0007

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 33-2

005176  7761
005177  7540
        5200          PAGE

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 34

              /GET A NAME ROUTINE

005200  0000  GNAME,  0
005201  3070          DCA CDDEV       /CLEAR AREA
005202  3071          DCA CDDEV+1
005203  7240          CLA CMA
005204  3067          DCA DEVSW       /ALLOW DEVICES
005205  3060  GNAME1, DCA CDNAME      /CLEAR NAME,EXTENSION
005206  3061          DCA CDNAME+1
005207  3062          DCA CDNAME+2
005210  3063          DCA CDEXT
005211  3064          DCA CDEXT+1
005212  7240          CLA CMA
005213  3066          DCA PERSW       /ALLOW EXTENSIONS
005214  1377          TAD (CDNAME
005215  3021          DCA POINT       /SET POINTER
005216  3022          DCA CNTR        /SET SWITCH
005217  4776  GNAME2, JMS I (GCH      /GET A CHAR
005220  3030          DCA TEMP6
005221  1030          TAD TEMP6
005222  7450          SNA
005223  5306          JMP GNAME6      /END
005224  1375          TAD (-":
005225  7450          SNA
005226  5272          JMP GNAME5      /: IS DEVICE
005227  1374          TAD (":-".
005230  7450          SNA
005231  5262          JMP GNAME4      /. IS EXTENSION
005232  1373          TAD (".
005233  3030          DCA TEMP6       /SAVE THE CHAR
005234  4772          JMS I (DECODE
005235  5305          JMP GNAME6-1    /NOT 0-9 OR A-Z IS END
005236  7200          CLA
005237  1030          TAD TEMP6
005240  0177          AND [77         /GET TRIMMED ASCII
005241  2022          ISZ CNTR
005242  5247          JMP GNAME3      /LEFT HALF
005243  1421          TAD I POINT
005244  3421          DCA I POINT     /SET RIGHT HALF
005245  2021          ISZ POINT
005246  5217          JMP GNAME2      /LOOP

005247  7106  GNAME3, CLL RTL
005250  7006          RTL
005251  7006          RTL
005252  3421          DCA I POINT     /SET LEFT HALF
005253  7240          CLA CMA
005254  3022          DCA CNTR
005255  1021          TAD POINT
005256  1371          TAD (-CDEXT-2
005257  7640          SZA CLA
005260  5217          JMP GNAME2      /LOOP
005261  5216          JMP GNAME2-1    /LOOP - IGNORE

005262  1060  GNAME4, TAD CDNAME

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 34-1

005263  7640          SZA CLA
005264  2066          ISZ PERSW
005265  5770          JMP I (SYNTAX   /ERROR
005266  3063          DCA CDEXT
005267  3064          DCA CDEXT+1     /CLEAR EXTENSION
005270  1367          TAD (CDEXT
005271  5215          JMP GNAME2-2    /GET EXTENSION

005272  2067  GNAME5, ISZ DEVSW
005273  5770          JMP I (SYNTAX   /ERROR
005274  2066          ISZ PERSW
005275  5770          JMP I (SYNTAX   /ERROR
005276  1060          TAD CDNAME
005277  7450          SNA
005300  5770          JMP I (SYNTAX   /ERROR
005301  3070          DCA CDDEV
005302  1061          TAD CDNAME+1
005303  3071          DCA CDDEV+1     /SET DEVICE
005304  5205          JMP GNAME1      /NOW GET THE NAME

005305  7200          CLA
005306  3065  GNAME6, DCA CDEXT+2
005307  1064          TAD CDEXT+1
005310  0154          AND [7700
005311  3064          DCA CDEXT+1
005312  2066          ISZ PERSW
005313  5600          JMP I GNAME     /EXIT
005314  3063          DCA CDEXT
005315  3064          DCA CDEXT+1     /CLEAR EXTENSION
005316  5600          JMP I GNAME     /EXIT
005367  0063
005370  0223
005371  7713
005372  5063
005373  0256
005374  0014
005375  7506
005376  5000
005377  0060
        5400          PAGE

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 35

005400  0000  CD,     0
005401  1140          TAD [MOUTPU-1
005402  3010          DCA INDEX0
005403  1377          TAD (-47
005404  3022          DCA CNTR
005405  6211          CDF 10
005406  3410          DCA I INDEX0    /CLEAR AREAS
005407  2022          ISZ CNTR
005410  5206          JMP .-2
005411  6201          CDF
005412  6212          CIF 10
005413  4576          JMS I [200
005414  0013          13              /RESET TABLES
005415  0000          0
005416  3072          DCA INSEG       /NO DIRECTORY IN CORE
005417  3073          DCA PDP10D      /NO KNOWN PDP-10 DRIVES
005420  3074          DCA PDP10D+1
005421  3075          DCA PDP10D+2
005422  3076          DCA PDP10D+3
005423  3077          DCA PDP10D+4
005424  3100          DCA PDP10D+5
005425  3101          DCA PDP10D+6
005426  3102          DCA PDP10D+7
005427  3103          DCA CDCNT       /ZERO INPUT COUNT
005430  4776          JMS I (GLINE    /GET A LINE
005431  1172          TAD [LINBUF-1
005432  3017          DCA IXR
005433  1417          TAD I IXR
005434  7450          SNA
005435  5353          JMP NOBAKB      /NO "<" IS LINE
005436  1375          TAD (-"<
005437  7640          SZA CLA
005440  5233          JMP .-5
005441  1172          TAD [LINBUF-1
005442  3017          DCA IXR
005443  1105          TAD XDSK
005444  3056          DCA CDDEVF      /SET "DSK" AS DEFAULT
005445  1106          TAD XDSK+1
005446  3057          DCA CDDEVF+1
005447  4774          JMS I (GNAME    /GET THE NAME
005450  1030          TAD TEMP6
005451  1373          TAD (-"[
005452  7640          SZA CLA
005453  5301          JMP CDX03       /NO SIZE SPECIFIED
005454  4772  CDX01,  JMS I (GCH
005455  1371          TAD (-"]
005456  7450          SNA
005457  5277          JMP CDX02       /END OF SIZE
005460  1370          TAD ("]-"0
005461  7510          SPA
005462  5767          JMP I (SYNTAX   /ERROR
005463  3023          DCA TEMP1
005464  1065          TAD CDEXT+2
005465  7106          CLL RTL
005466  1065          TAD CDEXT+2

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 35-1

005467  7004          RAL
005470  1023          TAD TEMP1
005471  3065          DCA CDEXT+2     /ADD IN NUMBER
005472  1023          TAD TEMP1
005473  1366          TAD (-11
005474  7740          SMA SZA CLA
005475  5767          JMP I (SYNTAX   /ERROR
005476  5254          JMP CDX01

005477  4772  CDX02,  JMS I (GCH
005500  7410          SKP
005501  1030  CDX03,  TAD TEMP6
005502  1375          TAD (-"<
005503  7640          SZA CLA
005504  5767          JMP I (SYNTAX   /ERROR
005505  4765          JMS I (CDOUTX   /SET OUTPUT STUFF
005506  1364  NOBAKA, TAD (MINPUT-1
005507  3016          DCA INDEX6
005510  1105          TAD XDSK
005511  3056          DCA CDDEVF      /SET DEFAULT
005512  1106          TAD XDSK+1
005513  3057          DCA CDDEVF+1
005514  1017          TAD IXR
005515  3104          DCA CDI04       /SAVE POINTER
005516  4772          JMS I (GCH
005517  7650          SNA CLA
005520  5600          JMP I CD        /NO INPUT FILES
005521  1104          TAD CDI04
005522  3017          DCA IXR         /RESET POINTER
005523  4774  CDI01,  JMS I (GNAME    /GET A FILE
005524  2067          ISZ DEVSW
005525  5332          JMP CDI02       /DEVICE SPECIFIED
005526  1056          TAD CDDEVF
005527  3070          DCA CDDEV
005530  1057          TAD CDDEVF+1
005531  3071          DCA CDDEV+1     /SET DEFAULT DEVICE
005532  1070  CDI02,  TAD CDDEV
005533  3056          DCA CDDEVF
005534  1071          TAD CDDEV+1
005535  3057          DCA CDDEVF+1    /SET NEW DEFAULT
005536  2103          ISZ CDCNT       /COUNT INPUT FILES
005537  1103          TAD CDCNT
005540  1363          TAD (-12
005541  7700          SMA CLA
005542  5767          JMP I (SYNTAX   /TOO MANY FILES
005543  4762          JMS I (CDINX    /SET INPUT STUFF
005544  1030          TAD TEMP6
005545  7450          SNA
005546  5600          JMP I CD        /MAIN EXIT
005547  1361          TAD (-",
005550  7650          SNA CLA
005551  5323          JMP CDI01
005552  5767          JMP I (SYNTAX   /ERROR

005553  1172  NOBAKB, TAD [LINBUF-1

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 35-2

005554  3017          DCA IXR
005555  5306          JMP NOBAKA
005561  7524
005562  6000
005563  7766
005564  7616
005565  5600
005566  7767
005567  0223
005570  0055
005571  7443
005572  5000
005573  7445
005574  5200
005575  7504
005576  1000
005577  7731
        5600          PAGE

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 36

005600  0000  CDOUTX, 0               /SET OUTPUT STUFF
005601  2067          ISZ DEVSW
005602  5212          JMP CDOUT9      /DEVICE SPECIFIED
005603  1060          TAD CDNAME
005604  7650          SNA CLA
005605  5600          JMP I CDOUTX    /NO NAME AND NO DEVICE IS NOTHING
005606  1056          TAD CDDEVF
005607  3070          DCA CDDEV
005610  1057          TAD CDDEVF+1
005611  3071          DCA CDDEV+1     /SET DEFAULT DEVICE
005612  1377  CDOUT9, TAD (OUDEVH+1
005613  3227          DCA CDOUT2      /SET OUTPUT HANDLER ADDRESS
005614  1140          TAD [MOUTPU-1
005615  3016          DCA INDEX6
005616  1070          TAD CDDEV
005617  3225          DCA CDOUT1
005620  1071          TAD CDDEV+1
005621  3226          DCA CDOUT1+1    /SET DEVICE
005622  6212          CIF 10
005623  4576          JMS I [200
005624  0012          12              /FIND HANDLER
005625  0000  CDOUT1, 0
005626  0000          0
005627  0000  CDOUT2, 0
005630  5776          JMP I (NOOFIL
005631  1226          TAD CDOUT1+1
005632  4775          JMS I   (GTDVTP /GET DEVICE TYPE AND COMPARE WITH TC08 AND TD8E
005633  7640          SZA CLA
005634  5254          JMP CDOUT3      /NOT DECTAPE
005635  1377          TAD (OUDEVH+1
005636  3243          DCA CDOUT5
005637  1226          TAD CDOUT1+1
005640  6212          CIF 10
005641  4576          JMS I [200
005642  0001          1               /GET HANDLER
005643  0000  CDOUT5, 0
005644  5776          JMP I (NOOFIL
005645  1243          TAD CDOUT5
005646  4303          JMS     SETUNT  /SET UP PHYSICAL UNIT FROM HANDLER ENTRY POINT
005647  4774          JMS I (ROCK     /CHECK THE TAPE
005650  5254          JMP CDOUT3      /NOT PDP-10 DECTAPE
005651  4773          JMS I (EXA40    /EXCESS 40 CONVERSION
005652  1020          TAD UNIT10
005653  5265          JMP CDOUT4      /SET PARAMETERS

005654  3064  CDOUT3, DCA CDEXT+1
005655  1065          TAD CDEXT+2     /GET LENGTH
005656  1372          TAD (-400
005657  7710          SPA CLA
005660  1065          TAD CDEXT+2     /O.K. - USE LENGTH
005661  7106          CLL RTL
005662  7006          RTL
005663  0155          AND [7760       /8 BIT LENGTH
005664  1226          TAD CDOUT1+1    /ADD IN DEVICE NUMBER
005665  6211  CDOUT4, CDF 10

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 36-1

005666  3416          DCA I INDEX6    /SET DEVICE
005667  1060          TAD CDNAME
005670  3416          DCA I INDEX6    /SET NAME
005671  1061          TAD CDNAME+1
005672  3416          DCA I INDEX6
005673  1062          TAD CDNAME+2
005674  3416          DCA I INDEX6
005675  1063          TAD CDEXT
005676  3416          DCA I INDEX6
005677  1064          TAD CDEXT+1
005700  3416          DCA I INDEX6
005701  6201          CDF
005702  5600          JMP I CDOUTX    /EXIT

005703  0000  SETUNT, 0
005704  7120          STL
005705  1371          TAD     (-7607
005706  7440          SZA             /IF IT IS 7607,
005707  1370          TAD     (7      /ITS UNIT 0
005710  0370          AND     (7
005711  7132          CLL CML RTR
005712  7012          RTR
005713  3020          DCA     UNIT10
005714  1110          TAD     DVTYPE
005715  0367          AND     (10
005716  7650          SNA CLA
005717  5703          JMP I   SETUNT  /TC08 - FINISHED
005720  7100          CLL
005721  1020          TAD     UNIT10
005722  0366          AND     (7000   /TD8E ENTRY POINTS ARE STRANGE -
005723  1020          TAD     UNIT10  /MUST ROTATE UNIT NUMBER LEFT 1
005724  7430          SZL
005725  1365          TAD     (1000
005726  3020          DCA     UNIT10
005727  4764          JMS I   (TDUSET /SET UP TD8E OPCODES
005730  5703          JMP I   SETUNT
005764  4661
005765  1000
005766  7000
005767  0010
005770  0007
005771  0171
005772  7400
005773  5100
005774  6200
005775  6122
005776  0207
005777  7201
        6000          PAGE

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 37

006000  0000  CDINX,  0               /SET INPUT STUFF
006001  1377          TAD (OUDEVH+1
006002  3214          DCA CDIN1
006003  1070          TAD CDDEV
006004  3212          DCA CDIN2       /SET DEVICE
006005  1071          TAD CDDEV+1
006006  3213          DCA CDIN2+1
006007  6212          CIF 10
006010  4576          JMS I [200
006011  0001          1               /GET HANDLER
006012  0000  CDIN2,  0
006013  0000          0
006014  0000  CDIN1,  0
006015  5776          JMP I (NOOFIL
006016  1213          TAD CDIN2+1
006017  4322          JMS     GTDVTP  /COMPARE DCB ENTRY WITH TC08 OR TD8E
006020  7640          SZA CLA
006021  5266          JMP CDIN3       /NOT DECTAPE
006022  1214          TAD CDIN1
006023  4775          JMS I   (SETUNT /SET UP UNIT NUMBER
006024  4774          JMS I (ROCK     /CHECK THE TAPE
006025  5266          JMP CDIN3       /NOT PDP-10 DECTAPE
006026  4773          JMS I (EXA40    /DO EXCESS 40
006027  1072          TAD INSEG
006030  7041          CIA
006031  1020          TAD UNIT10      /IS DIRECTORY IN CORE?
006032  7650          SNA CLA
006033  5244          JMP CDIN8       /YES - NO READ
006034  1060          TAD CDNAME
006035  7650          SNA CLA
006036  5263          JMP CDIN7       /NO NAME - NO READ
006037  4772          JMS I (READT
006040  7000          DIRECT          /READ DIRECTORY
006041  0144          144
006042  1020          TAD UNIT10
006043  3072          DCA INSEG       /SET DIRECTORY IN CORE
006044  1371  CDIN8,  TAD (-5
006045  3022          DCA CNTR
006046  1370          TAD (CDNAME-1
006047  3010          DCA INDEX0
006050  1367          TAD (CDINXX-1
006051  3011          DCA INDEX1
006052  1410          TAD I INDEX0
006053  6211          CDF 10
006054  3411          DCA I INDEX1
006055  6201          CDF
006056  2022          ISZ CNTR
006057  5252          JMP .-5
006060  1367          TAD (CDINXX-1
006061  4766          JMS I (IOPN10   /OPEN THE PDP-10 FILE
006062  5765          JMP I (FNOTFD
006063  3277  CDIN7,  DCA CDIN4
006064  1020          TAD UNIT10
006065  5312          JMP CDIN6


/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 37-1

006066  1364  CDIN3,  TAD (CDNAME
006067  3277          DCA CDIN4
006070  1060          TAD CDNAME
006071  7650          SNA CLA
006072  5320          JMP CDIN9       /NO LOOKUP IF NO NAME
006073  1213          TAD CDIN2+1
006074  6212          CIF 10
006075  4576          JMS I [200
006076  0002          2
006077  0060  CDIN4,  CDNAME          /LOOKUP
006100  0000  CDIN5,  0
006101  5765          JMP I (FNOTFD
006102  1300          TAD CDIN5
006103  1363          TAD (400
006104  7510          SPA
006105  7200          CLA
006106  7106          CLL RTL
006107  7006          RTL
006110  0155          AND [7760       /GET LENGTH
006111  1213          TAD CDIN2+1     /ADD DEVICE
006112  6211  CDIN6,  CDF 10
006113  3416          DCA I INDEX6
006114  1277          TAD CDIN4
006115  3416          DCA I INDEX6    /SET BLOCK STARTING
006116  6201          CDF
006117  5600          JMP I CDINX

006120  3277  CDIN9,  DCA CDIN4
006121  5311          JMP CDIN6-1

006122  0000  GTDVTP, 0
006123  1362          TAD (DCB-1
006124  3023          DCA TEMP1
006125  6211          CDF 10
006126  1423          TAD I TEMP1     /GET DCB ENTRY
006127  6201          CDF
006130  3110          DCA     DVTYPE
006131  1110          TAD     DVTYPE
006132  0361          AND     (770
006133  1360          TAD     (-210
006134  7440          SZA
006135  1357          TAD     (30
006136  5722          JMP I   GTDVTP
006157  0030
006160  7570
006161  0770
006162  7757
006163  0400
006164  0060
006165  0211
006166  2513
006167  2511
006170  0057
006171  7773
006172  0475

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 37-2

006173  5100
006174  6200
006175  5703
006176  0207
006177  7201
        6200          PAGE

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 38

006200  0000  ROCK,   0
006201  4207          JMS     GET10D  /GET ENTRY IN TAPE TYPE TABLE
006202  7450          SNA
006203  5217          JMP ROCK4       /UNKNOWN - ROCK IT
006204  7700          SMA CLA
006205  2200          ISZ ROCK
006206  5600          JMP I ROCK      /EXIT

006207  0000  GET10D, 0
006210  1020          TAD UNIT10
006211  7106          CLL RTL
006212  7006          RTL
006213  1377          TAD (PDP10D
006214  3027          DCA TEMP5       /POINT TO KNOWN TABLE
006215  1427          TAD I TEMP5
006216  5607          JMP I   GET10D

006217  7240  ROCK4,  CLA CMA
006220  3427          DCA I TEMP5
006221  1110          TAD     DVTYPE
006222  0376          AND     (10
006223  7640          SZA CLA         /WHAT KIND OF TAPE?
006224  5305          JMP     TDCHK   /TD8E
006225  1375          TAD (OBUF10-1
006226  3774          DCA I (7755
006227  1376          TAD (10
006230  6774          DTLB
006231  7006  ROCK1,  RTL
006232  7004          RAL
006233  7630          SZL CLA
006234  1373          TAD (-400
006235  1020          TAD UNIT10
006236  1372          TAD (210
006237  6766          DTCA DTXA
006240  4267  ROCK2,  JMS     DTWAIT

006241  7510  ROCK3,  SPA
006242  5231          JMP ROCK1
006243  7200          CLA
006244  1375          TAD (OBUF10-1
006245  3774          DCA I (7755
006246  1371          TAD (-600
006247  3770          DCA I (7754
006250  1367          TAD (30
006251  6764          DTXA
006252  6773          DTSF DTRB
006253  5252          JMP .-1
006254  7710          SPA CLA
006255  5217          JMP ROCK4       /RETRY
006256  1176          TAD [200
006257  6764          DTXA            /STOP DRIVE
006260  1770          TAD I (7754
006261  7640          SZA CLA
006262  5600          JMP I ROCK      /OS8 UNIT
006263  7201          CLA IAC

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 38-1

006264  3427  SET10,  DCA I TEMP5
006265  2200          ISZ ROCK
006266  5600          JMP I ROCK      /PDP-10 UNIT

006267  0000  DTWAIT, 0               /WAIT FOR DECTAPE FLAG
006270  6773          DTSF DTRB
006271  7610          SKP CLA
006272  5667          JMP I   DTWAIT
006273  6031          KSF
006274  5270          JMP DTWAIT+1
006275  1176          TAD [200
006276  6034          KRS
006277  1366          TAD (-203
006300  7640          SZA CLA
006301  5270          JMP DTWAIT+1
006302  1176          TAD     [200
006303  6764          DTXA    /STOP THE TAPE
006304  5542          JMP I [7600

006305  7332  TDCHK,  CLA STL RTR
006306  1111          TAD     TDUNIT
006307  6774  IOTX1,  SDLC
006310  7200          CLA
006311  6776  IOTX2,  SDRC
006312  0365          AND     (100    /CHECK FOR TAPE NOT READY
006313  7640          SZA CLA
006314  5305          JMP     TDCHK   /WAIT FOR TAPE TO COME UP
006315  1111          TAD     TDUNIT
006316  1364          TAD     (1000
006317  6774  IOTX3,  SDLC
006320  4351          JMS     SKIP4
006321  4351          JMS     SKIP4
006322  6771  IOTX4,  SDSS
006323  5322          JMP     .-1
006324  6776  IOTX5,  SDRC
006325  0177          AND     [77
006326  1363          TAD     (-26
006327  7640          SZA CLA         /WAIT FOR GUARD
006330  5322          JMP     IOTX4
006331  3356          DCA     TDT
006332  4351  TDCLP,  JMS     SKIP4
006333  2356          ISZ     TDT
006334  0177          AND     [77
006335  1362          TAD     (-51    /SEARCH FOR SOME CRAP NEAR END OF RECORD
006336  7640          SZA CLA
006337  5332          JMP     TDCLP
006340  1361          TAD     UNIT
006341  6774  IOTX6,  SDLC            /STOP TAPE
006342  7200          CLA
006343  1356          TAD     TDT
006344  1361          TAD     (-611   /9 WORDS FOR GOOD LUCK
006345  7640          SZA CLA
006346  5600          JMP I   ROCK
006347  7126          STL RTL         /SET TABLE ENTRY TO 2 FOR TD8E TAPE
006350  5264          JMP     SET10

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 38-2


006351  0000  SKIP4,  0
006352  6773  IOTX7,  SDSQ
006353  5352          JMP     .-1
006354  6776  IOTX8,  SDRC
006355  5751          JMP I   SKIP4
006356  0000  TDT,    0
006361  7167
006362  7727
006363  7752
006364  1000
006365  0100
006366  7575
006367  0030
006370  7754
006371  7200
006372  0210
006373  7400
006374  7755
006375  4777
006376  0010
006377  0073
        6400          PAGE
000140  7577
000141  0240
000142  7600
000143  3000
000144  3001
000145  3002
000146  7400
000147  5001
000150  5000
000151  5002
000152  0377
000153  6676
000154  7700
000155  7760
000156  0007
000157  0177
000160  0017
000161  0003
000162  0037
000163  0244
000164  0212
000165  0215
000166  0100
000167  0336
000170  0274
000171  1042
000172  4377
000173  0304
000174  0252
000175  0400
000176  0200
000177  0077

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 38-3

        0000          FIELD 0         /DUMP PG 0 LITERALS HERE

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 39

              /TD8E DECTAPE ROUTINE
              /VERSION 01

              /JULY 2 1971            GB/RL/EF

              /COPYRIGHT 1971         DIGITAL EQUIPMENT CORP.
              /                       MAYNARD, MASS.

              /ABSTRACT--
              /       THE ROUTINE DESCRIBED AND LISTED HERE IS A GENERAL
              /DATA HANDLER FOR THE TD8E DECTAPE SYSTEM. THE ROUTINE
              /CONTAINS SEARCH, READ, AND WRITE FUNCTIONS IN A FORMAT
              /WHICH IS COMPATIBLE WITH PS/8 DEVICE HANDLER CALLING
              /SEQUENCES.

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 40


              /THIS ROUTINE CAN BE RE-EDITED AND ASSEMBLED TO PRODUCE
              /VARIATIONS ON THE BASIC TD8E SYSTEM. ASSEMBLY PARAMETERS
              /CONTROL:
              /A) WHAT DRIVES (UNITS 0-7) WILL BE USED
              /B) THE ORIGIN OF THE TWO PAGE ROUTINE
              /C) WHAT MEMORY FIELD THE ROUTINE WILL RUN IN
              /D) THE SIZE OF THE DECTAPE BLOCK TO BE READ/WRITTEN

              /FOLLOWING ARE THE PARAMETERS SET UP FOR THE STANDARD
              /DEC VERSION OF THIS ROUTINE:

        0010          DRIVE=10        /UNITS 0 AND 1 SELECTED
        6200          ORIGIN=6200     /ENTRIES AT 6200 AND 6204
        0000          AFIELD=0        /INITIAL FIELD SETTING
        0000          MFIELD=00       /AFIELD*10=MFIELD
        0600          WDSBLK=600      /384 WORDS PER BLOCK

              /THE USE OF THE PARAMETERS IS AS FOLLOWS:

              / DRIVE: DRIVE DETERMINES WHICH UNITS WILL BE SELECTED
              /       DRIVE=10 IMPLIES UNITS 0 &1
              /       DRIVE=20 IMPLIES UNITS 2&3
              /       DRIVE=30 IMPLIES UNITS 4&5
              /       DRIVE=40 IMPLIES UNITS 6&7

              /ORIGIN: ALTERING ORIGIN CAUSES ASSEMBLY IN A DIFFERENT
              /       MEMORY LOCATION. WHEN CHANGING ORIGIN KEEP IN MIND
              /THAT THIS IS A TWO PAGE ROUTINE.

              /AFIELD: AFIELD DETERMINES THE INITIAL FIELD SETTING FOR THE
              /       LOADER. PERMISSIBLE VALUES FOR AFIELD ARE 0 TO 7.

              /MFIELD: MFIELD IS USED IN A CIF CDF MFIELD INSTRUCTION.
              /       THE VALUE INSERTED FOR MFIELD SHOULD BE 10(8) TIMES
              /       THE VALUE FOR AFIELD. THE PERMISSIBLE VALUES ARE 00-70.

              /WDSBLK: WDSBLK GOVERNS HOW MANY WORDS THE ROUTINE THINKS ARE 
              /       IN A DECTAPE BLOCK. THE STANDARD VALUE IS 201(8) OR
              /       128 DECIMAL. NOTE THAT THE FUNCTION WORD BIT 10 CAN
              /       BE USED TO SUBTRACT ONE FROM WDSBLK. THE VALUE USED
              /       FOR WDSBLK SHOULD BE THE NUMBER OF WORDS THE TAPE WAS
              /       FORMATTED TO CONTAIN.

              /IF WE WANT A HANDLER FOR UNITS 2&3 TO RESIDE IN
              /FIELD 2 AT LOCATION 3000 AND READ/WRITE 256(10) WORDS
              /PER BLOCK, THE PARAMETERS WOULD BE:
              /       DRIVE=20
              /       ORIGIN=3000
              /       AFIELD=2
              /       MFIELD=20
              /       WDSBLK=400

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 41


              /THE CALL TO THE SUBROUTINE FOLLOWS BASICALLY THE
              /CALLING SEQUENCE FOR PS/8 DEVICE HANDLERS.
              /THE CALLING SEQUENCE IS:

              /       CDF CURRENT
              /       CIF MFIELD      /MFIELD=FIELD ASSEMBLED IN
              /       JMS ENTRY       /ENTRY=ORIGIN (EVEN NUMBERED DRIVE
                                      /AND ORIGIN+4 FOR ODD NUMBERED DRIVE.
              /       ARG1
              /       ARG2
              /       ARG3
              /       ERROR RETURN
              /       NORMAL RETURN

              /THE ARGUMENTS ARE:

              /ARG1: FUNCTION WORD    BIT0: 0=READ, 1=WRITE
              /                       BITS 1-5: # BLOCKS IN OPERATION
              /                       BITS 6-8: FIELD OF BUFFER AREA
              /                       BIT 9: UNUSED
              /                       BIT 10: # OF WORDS/BLOCK.
              /                       0= WDSBLK, 1=WDSBLK-1
              /                       BIT 11: 1=START FORWARD, 0=REVERSE

              /ARG2: BUFFER ADDRESS FOR OPERATION
              /ARG3: STARTING BLOCK FOR OPERATION

              /ERRORS: THE HANDLER DETECTS TWO TYPES OF ERRORS:
              /A) FATAL ERRORS- PARITY ERROR, TIMING ERROR,
              /               TOO GREAT A BLOCK NUMBER
              /       FATAL ERRORS TAKE ERROR RETURN WITH THE
              /       AC=4000.
              /B) NON-FATAL- SELECT ERROR.
              /       IF NO PROPER UNIT IS SELECTED, THE ERROR
              /       RETURN IS TAKEN WITH CLEAR AC.
              /FATAL ERRORS TRY THREE TIMES BEFORE TAKING ERROR RETURN.
              /THE NORMAL RETURN IS TAKEN AFTER ALL INDICATED
              /BLOCKS HAVE BEEN TRANSFERRED. THE AC IS CLEAR.

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 42


              /THE TD8E IOT'S ARE:
        6771          SDSS=7001-DRIVE /SKIP ON SINGLE LINE FLAG
        6772          SDST=7002-DRIVE /SKIP ON TIMING ERROR
        6773          SDSQ=7003-DRIVE /SKIP ON QUAD LINE FLAG
        6774          SDLC=7004-DRIVE /LOAD COMMAND REGISTER
        6775          SDLD=7005-DRIVE /LOAD DATA REGISTER
        6776          SDRC=7006-DRIVE /READ COMMAND REGISTER
        6777          SDRD=7007-DRIVE /READ DATA REGISTER

              /THE IOT'S IN GENERAL ARE 677X,676X,675X,AND 674X.
              /THE OTHERS CONTROL UNITS 2-7.

        6204          BLOCK=DTA1

        0000          FIELD AFIELD
        6200          *ORIGIN
006200  0000  DTA0,   0               /ENTRY POINT FROM UNIT 0
006201  7300          CLA CLL         /0 TO LINK
006202  5210          JMP DTA1X
006203  1000  C1000,  1000
006204  0000  DTA1,   0               /UNIT 2 ENTRY
006205  7320          CLA CLL CML     /1 TO LINK
006206  1204          TAD DTA1
006207  3200          DCA DTA0        /PICK UP ARGS AT DTA0
006210  7010  DTA1X,  RAR
006211  3361          DCA UNIT        /LINK TO UNIT POSITION
006212  6214          RDF
006213  1354          TAD C6203       /GET DATA FIELD AND SETUP RETURN
006214  3352          DCA LEAVE
006215  1600          TAD I DTA0      /GET FUNCTION WORD
006216  6775  DIO01,  SDLD            /PUT FUNCTION INTO DATA REGISTER
006217  7112          CLL RTR         /AC STILL HAS FUNCTION. PUT # WORDS PER
                                      /BLOCK INTO LINK
006220  7630          SZL CLA         /KNOCK ONE OFF WDSBLK?
006221  7001          IAC             /YES
006222  1360          TAD MWORDS
006223  3356          DCA WCOUNT      /STORE MASTER WORD COUNT
006224  2200          ISZ DTA0        /TO BUFFER
006225  1600          TAD I DTA0
006226  3357          DCA BUFF
006227  2200          ISZ DTA0        /TO BLOCK NUMBER
006230  1600          TAD I DTA0
006231  3204          DCA BLOCK
006232  2200          ISZ DTA0        /POINT TO ERROR EXIT
006233  6203          CIF CDF MFIELD  /TO ROUTINES DATA FIELD
006234  6777  DIO02,  SDRD            /GET FUNCTION INTO AC
006235  7104          CLL RAL
006236  0307          AND CM200       /GET # PAGES TO XFER
006237  3364          DCA PGCT
006240  6777  DIO03,  SDRD
006241  0374  C374,   AND C70         /GET FIELD FOR XFER
006242  1354          TAD C6203       /FORM CDF N
006243  3377          DCA XFIELD      /IF=0 AND DF=N AT XFER.
006244  7346          CLA CLL CMA RTL

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 42-1

006245  3367          DCA TRYCNT      /3 ERROR TRIES
006246  1361          TAD UNIT        /TEST FOR SELECT ERROR
006247  6774  DIO04,  SDLC
006250  6776  DIO05,  SDRC
006251  0366          AND C100
006252  7640          SZA CLA
006253  5346          JMP FATAL-1

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 43


006254  6777  DIO06,  SDRD            /PUT FUNCT INTO XFUNCT IN SECOND PG.
006255  3762          DCA I CXFUN
006256  1356          TAD WCOUNT
006257  3765          DCA I CXWCT
006260  6777  DIO07,  SDRD            /GET MOTION BIT TO LINK
006261  7110          CLL RAR
006262  5301          JMP GO          /AND START THE MOTION.
              DIO08,
006263  6772  RWCOM,  SDST            /ANY CHECKSUM ERRORS?
006264  7640          SZA CLA         /OR CHECKSUM ERRORS?
006265  5341          JMP TRY3        /PLEASE NOTE THAT THE LINK IS ALWAYS
                                      /SET AT RWCOM. GETCHK SETS IT.
006266  1364          TAD PGCT        /NO ERROR..FINISHED XFER?
006267  1307          TAD CM200
006270  7450          SNA
006271  5345          JMP EXIT        /ALL DONE. GET OUT
006272  3364          DCA PGCT        /NEW PAGE COUNT
006273  2204          ISZ BLOCK       /NEXT BLOCK TO XFER
006274  1356          TAD WCOUNT      /FORM NEXT BUFFER ADDRESS
006275  7041          CIA
006276  1357          TAD BUFF
006277  3357          DCA BUFF
006300  7120          CLL CML         /FORCES MOTION FORWARD
006301  7232  GO,     CLA CML RTR     /LINK BECOMES MOTION BIT
006302  1203          TAD C1000
006303  1361          TAD UNIT        /PUT IN 'GO' AND UNIT #
006304  6774  DIO09,  SDLC            /LOOK FOR BLOCK NO.

006305  4755          JMS I CRDQUD    /WAIT AT LEAST 6 LINES TO LOOK
006306  4755          JMS I CRDQUD
006307  7600  CM200,  7600            /COULD HAVE SAVED A LOC. HERE
              DIO10,
006310  6771  SRCH,   SDSS
006311  5310          JMP .-1         /WAIT FOR SINGLE LINE FLAG
006312  6776  DIO11,  SDRC
006313  7106          CLL RTL         /DIRECTION TO LINK. INFO BITS 
                                      /ARE SHIFTED.
006314  0241          AND C374        /ISOLATE MARK TRACK BITS
006315  1333          TAD M110        /IS IT END ZONE?
006316  7450          SNA             /THE LINK STAYS SAME THRU THIS
006317  5335          JMP ENDZ
006320  1363          TAD M20         /CHECK FOR BLOCK MARK
006321  7640          SZA CLA
006322  5310          JMP SRCH
006323  6777  DIO12,  SDRD            /GET THE BLOCK NUMBER
006324  7430          SZL             /IF WE ARE IN REVERSE, LOOK FOR 3
                                      /BLOCKS BEFORE TARGET BLOCK. THIS
                                      /ALLOWS TURNAROUND AND UP TO SPEED.
006325  1375          TAD C3          /REVERSE
006326  7040          CMA
006327  1204          TAD BLOCK
006330  7040          CMA             /IS IT RIGHT BLOCK?
006331  7450          SNA
006332  5370          JMP FOUND       /YES..HOORAY!

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 43-1

006333  7670  M110,   SZL SNA CLA     /NO, BUT ARE WE HEADED FOR IT?
                                      /ABOVE SNA IS SUPERFLUOUS.
006334  5310          JMP SRCH        /YES
              DIO13,
006335  6776  ENDZ,   SDRC            /WE ARE IN THE END ZONE
006336  7106          CLL RTL         /DIRECTION TO LINK
006337  7630          SZL CLA         /ARE WE IN REVERSE?
006340  5301          JMP GO          /YES..TURN US AROUND
              /IF WE ARE IN THE END ZONE GOING FORWARD, IT IS AN ERROR
006341  2367  TRY3,   ISZ TRYCNT
006342  5301          JMP GO          /TRY 3 TIMES
006343  7300          CLL CLA
006344  5347          JMP FATAL               /LINK OFF MEANS AC=4000 ON RETURN
006345  2200  EXIT,   ISZ DTA0
006346  7120          CLL CML         /AC=0 ON NORMAL RETURN
006347  1361  FATAL,  TAD UNIT
006350  6774  DIO14,  SDLC            /STOP THE UNIT
006351  7230          CLA CML RAR
006352  7402  LEAVE,  HLT
006353  5600          JMP I DTA0


/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 44


006354  6203  C6203,  6203
006355  6513  CRDQUD, RDQUAD
006356  0000  WCOUNT, 0
006357  0000  BUFF,   0
006360  7200  MWORDS, -WDSBLK
006361  0000  UNIT,   0
006362  6553  CXFUN,  XFUNCT
006363  7760  M20,    -20
006364  0000  PGCT,   0
006365  6561  CXWCT,  XWCT
006366  0100  C100,   100
006367  7775  TRYCNT, -3


        6370          *ORIGIN+170
006370  7630  FOUND,  SZL CLA         /RIGHT BLOCK. HOW ABOUT DIRECTION?
006371  5301          JMP GO          /WRONG..TURN AROUND
006372  1361          TAD UNIT        /PUT UNIT INTO LINK
006373  7104          CLL RAL         /AC IS NOW 0
006374  0070  C70,    70              /********DON'T MOVE THIS!!!!******
006375  0003  C3,     3
006376  1357          TAD BUFF        /GET BUFFER ADDRESS
006377  7402  XFIELD, HLT             /INTO NEXT PAGE

        6400          *ORIGIN+200
        6520          XUNIT=EQUFUN

006400  6202          CIF MFIELD
006401  3360          DCA XBUFF       /SAVE ADDRESS
006402  7010          RAR             /NOW GET UNIT #
006403  3320          DCA XUNIT
006404  1361          TAD XWCT
006405  3357          DCA DWORDS      /WORD COUNTER
              DIO15,
006406  6771  REVGRD, SDSS
006407  5206          JMP .-1         /LOOK FOR REVERSE GUARD
006410  6776  DIO16,  SDRC
006411  0241          AND K77
006412  1354          TAD CM32        /IS IT REVERSE GUARD?
006413  7640          SZA CLA
006414  5206          JMP REVGRD      /NO.KEEP LOOKING
006415  1353          TAD XFUNCT      /GET FUNCTION  READ OR WRITE
006416  7700  K7700,  SMA CLA
006417  5254          JMP READ        /NEG. IS WRITE
              DIO17,
006420  6776  WRITE,  SDRC
006421  0266          AND C300        /CHECK FOR WRITE LOCK AND SELECT ERROR
006422  7120          CLL CML         /LOCK OUT AND SELECT ARE AC 0 ERRORS
006423  7640          SZA CLA
006424  5751          JMP I CFATAL    /FATAL ERROR. LINK MUST BE ON
006425  4313          JMS RDQUAD      /NO ONE EVER USES THIS WORD!
006426  7600  C7600,  7600
006427  1355          TAD C1400
006430  1320          TAD XUNIT       /INITIATE WRITE MODE

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 44-1

006431  6774  DIO18,  SDLC
006432  7240          CLA CMA
006433  4304          JMS WRQUAD      /PUT 77 IN REVERSE CHECKSUM
006434  7240          CLA CMA
006435  3356          DCA CHKSUM
006436  1760  WRLP,   TAD I XBUFF     /GLORY BE! THE ACTUAL WRITE!
006437  4304          JMS WRQUAD
006440  2360          ISZ XBUFF       /BUMP CORE POINTER
006441  0077  K77,    77              /ABOVE MAY SKIP
006442  2357          ISZ DWORDS      /DONE THIS BLOCK?
006443  5236          JMP WRLP        /NOT YET..LOOP A WHILE
006444  1353          TAD XFUNCT      /IS THE OPERATION FOR WDSBLK PER BLOCK?
006445  7112          CLL RTR         /IF NO, WRITE A 0 WORD
006446  7630          SZL CLA

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 45


006447  4304          JMS WRQUAD      /WRITE A WORD OF 0
006450  4335          JMS GETCHK      /DO THE CHECK SUM
006451  4304          JMS WRQUAD      /WRITE FORWARD CHECKSUM
006452  4304          JMS WRQUAD      /ALLOW CHECKSUM TO BE WRITTEN
006453  5752          JMP I CRWCOM


006454  4313  READ,   JMS RDQUAD
006455  4313          JMS RDQUAD
006456  4313          JMS RDQUAD      /SKIP CONTROL WORDS
006457  0241          AND K77
006460  1216          TAD K7700       /TACK 7700 ONTO CHECKSUM.
006461  3356          DCA CHKSUM      /CHECKSUM ONLY LOW 6 BITS ANYWAY
006462  4313  RDLP,   JMS RDQUAD
006463  4320          JMS EQUFUN      /COMPUT CHECKSUM AS WE GO
006464  3760          DCA I XBUFF     /IT GETS CONDENSED LATER
006465  2360          ISZ XBUFF
006466  0300  C300,   300             /PROTECTION
006467  2357          ISZ DWORDS      /DONE THIS OP?
006470  5262          JMP RDLP        /NO SUCH LUCK
006471  1353          TAD XFUNCT      /IF OP WAS FOR WDSBLK-1, READ AND
006472  7112          CLL RTR         /CHECKSUM THE LAST TAPE WORD
006473  7620          SNL CLA
006474  5277          JMP RDLP2
006475  4313          JMS RDQUAD      /NOT NEEDED FOR WDSBLK/BLOCK
006476  4320          JMS EQUFUN      /CHECKSUM IT
006477  4313  RDLP2,  JMS RDQUAD      /READ CHECKSUM
006500  0216          AND K7700
006501  4320          JMS EQUFUN
006502  4335          JMS GETCHK      /GET SIX BIT CHECKSUM
006503  5752          JMP I CRWCOM

006504  0000  WRQUAD, 0               /WRITE OUT A 12 BIT WORD
006505  4320          JMS EQUFUN      /ADD THIS TO CHECKSUM
006506  6773  DIO19,  SDSQ            /SKIP ON QUADLINE FLAG
006507  5306          JMP .-1
006510  6775  DIO20,  SDLD            /LOAD DATA  ONTO BUS
006511  7200          CLA             /SDLD DOESN'T CLEAR AC
006512  5704          JMP I WRQUAD

006513  0000  RDQUAD, 0               /READ A 12 BIT WORD
006514  6773  DIO21,  SDSQ
006515  5314          JMP .-1
006516  6777  DIO22,  SDRD            /READ DATA
006517  5713          JMP I RDQUAD


/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 46


006520  0000  EQUFUN, 0               /COMPUTE EQUIVALENCE CHECKSUM
006521  7040          CMA
006522  3362          DCA EQUTMP      /ACTUALLY CHECKSUMS ON DECTAPE ARE
006523  1362          TAD EQUTMP      /EQUIVALENCE OF ALL WORDS IN A RECORD
006524  0356          AND CHKSUM      /SIX BITS AT A TIME. BUT SINCE EQUIVALENCE
006525  7041          CIA             /IS ASSOCIATIVE, WE CAN DO IT 12
006526  7104          CLL RAL         /BITS AT A TIME AND CONDENSE LATER.
006527  1362          TAD EQUTMP      /THIS ROUTINE USES THESE IDENTITIES:
006530  1356          TAD CHKSUM      /A+B=(A.XOR.B)+2*(A.AND.B)
006531  3356          DCA CHKSUM      /A.EQU.B=.NOT.(A.XOR.B)=A.XOR.(.NOT.B)
006532  1362          TAD EQUTMP      /A.EQU.B=(A+(.NOT.B))-2*(A.AND.(.NOT.B))
006533  7040          CMA
006534  5720          JMP I EQUFUN

006535  0000  GETCHK, 0               /FORM 6 BIT CHECKSUM
006536  7200          CLA
006537  1356          TAD CHKSUM      
006540  7040          CMA
006541  7106          CLL RTL
006542  7006          RTL
006543  7006          RTL
006544  4320          JMS EQUFUN
006545  7320          CLA CLL CML     /FORCES LINK ON AT RWCOM
006546  1356          TAD CHKSUM
006547  0216          AND K7700
006550  5735          JMP I GETCHK

006551  6347  CFATAL, FATAL
006552  6263  CRWCOM, RWCOM
006553  0000  XFUNCT, 0
006554  7746  CM32,   -32
006555  1400  C1400,  1400
006556  0000  CHKSUM, 0
006557  0000  DWORDS, 0
006560  0000  XBUFF,  0
006561  0000  XWCT,   0
006562  0000  EQUTMP, 0
        6600          PAGE

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 47

        0001  FIELD 1

        2000  *2000

012000  0000  ZFREE,  ZBLOCK 5

012005  0000  INCTR,  0
012006  0000  INHNDL, 0
012007  0000  INPTR,  0

012010  0000  DELPS1, 0
012011  4777          JMS I (200
012012  0004          4
012013  7601          MOUTPU+1
012014  0000          0
012015  2210          ISZ DELPS1
012016  6203          CIF CDF 0
012017  5610          JMP I DELPS1

012020  0000  ICHARP, 0
012021  2275          ISZ INJMP
012022  2336          ISZ INCHCT
012023  5275  INJMPP, JMP INJMP
012024  1335          TAD INEOF
012025  7640          SZA CLA
012026  5333          JMP INEXIT
012027  1205  INGBUF, TAD INCTR
012030  7100          CLL
012031  1376          TAD (INRECS
012032  7420          SNL
012033  3205          DCA INCTR
012034  7430          SZL
012035  2335          ISZ INEOF
012036  7172          CLL CML CMA RTR
012037  7012          RTR
012040  7012          RTR
012041  1375          TAD (INCTL+1
012042  3245          DCA INCTLW
012043  6202          CIF 0
012044  4606          JMS I INHNDL
012045  0000  INCTLW, 0
012046  3000  INBUFP, INBUF
012047  0000  INREC,  0
012050  5270          JMP INERRX
012051  1247  INBREC, TAD INREC
012052  1376          TAD (INRECS
012053  3247          DCA INREC
012054  1245          TAD INCTLW
012055  0374          AND (7600
012056  7104          CLL RAL
012057  1245          TAD INCTLW
012060  0374          AND (7600
012061  7040          CMA
012062  3336          DCA INCHCT
012063  1223          TAD INJMPP

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 47-1

012064  3275          DCA INJMP
012065  1246          TAD INBUFP
012066  3207          DCA INPTR
012067  5221          JMP ICHARP+1

012070  2335  INERRX, ISZ INEOF
012071  7700          SMA CLA
012072  5251          JMP INBREC
012073  7330  INERR,  CLL CLA CML RAR
012074  5333          JMP INEXIT

012075  7402  INJMP,  HLT
012076  5337          JMP INCHR1
012077  5313          JMP INCHR2
012100  1223  INCHR3, TAD INJMPP
012101  3275          DCA INJMP
012102  1607          TAD I INPTR
012103  0373          AND (7400
012104  7112          CLL RTR
012105  7012          RTR
012106  1245          TAD INCTLW
012107  7012          RTR
012110  7012          RTR
012111  2207          ISZ INPTR
012112  5325          JMP INCOMN

012113  6201  INCHR2, CDF 0
012114  1772          TAD I (MODE
012115  6211          CDF 10
012116  7740          SMA SZA CLA
012117  5347          JMP IC8A1
012120  1607          TAD I INPTR
012121  0373          AND (7400
012122  3245          DCA INCTLW
012123  2207          ISZ INPTR
012124  1607  IC8A2,  TAD I INPTR
012125  0371  INCOMN, AND (377
012126  1370          TAD (-232
012127  7450          SNA
012130  5333          JMP INEXIT
012131  1367          TAD (232
012132  2220          ISZ ICHARP
012133  6203  INEXIT, CIF CDF 0
012134  5620          JMP I ICHARP

012135  0001  INEOF,  1
012136  7777  INCHCT, -1

012137  6201  INCHR1, CDF 0
012140  1772          TAD I (MODE
012141  6211          CDF 10
012142  7750          SPA SNA CLA
012143  5324          JMP IC8A2
012144  1607  IC8A3,  TAD I INPTR
012145  2207          ISZ INPTR

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 47-2

012146  5332          JMP INEXIT-1

012147  1223  IC8A1,  TAD INJMPP
012150  3275          DCA INJMP
012151  2336          ISZ INCHCT
012152  5344          JMP IC8A3
012167  0232
012170  7546
012171  0377
012172  0044
012173  7400
012174  7600
012175  1011
012176  0004
012177  0200
        2200          PAGE

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 48

012200  0000  OOPNPS, 0
012201  1377          TAD (MOUTPU+1
012202  3206          DCA OUBLK
012203  1776          TAD I (MOUTPU
012204  4775          JMS I (200
012205  0003          3
012206  0000  OUBLK,  0
012207  0000  OUELEN, 0
012210  5216          JMP OUEFAL
012211  3325          DCA OUCCNT
012212  4774          JMS I (OUSETP
012213  2200          ISZ OOPNPS
012214  6203  OUEEXT, CIF CDF 0
012215  5600          JMP I OOPNPS

012216  1776  OUEFAL, TAD I (MOUTPU
012217  0373          AND (7760
012220  7650          SNA CLA
012221  5214          JMP OUEEXT
012222  1776          TAD I (MOUTPU
012223  0372          AND (17
012224  3776          DCA I (MOUTPU
012225  5201          JMP OOPNPS+1

012226  0000  OUHNDL, 0

012227  0000  OUTDMP, 0
012230  3254          DCA OUCTLW
012231  1325          TAD OUCCNT
012232  7450          SNA
012233  2254          ISZ OUCTLW
012234  1206          TAD OUBLK
012235  3256          DCA OUREC
012236  1254          TAD OUCTLW
012237  7106          CLL RTL
012240  7006          RTL
012241  7006          RTL
012242  0372          AND (17
012243  1325          TAD OUCCNT
012244  3325          DCA OUCCNT
012245  1325          TAD OUCCNT
012246  7120          CLL CML
012247  1207          TAD OUELEN
012250  7660          SNL SZA CLA
012251  5627          JMP I OUTDMP
012252  6202          CIF 0
012253  4626          JMS I OUHNDL
012254  0000  OUCTLW, 0
012255  5000          OUBUF
012256  0000  OUREC,  0
012257  5627          JMP I OUTDMP
012260  2227          ISZ OUTDMP
012261  5627          JMP I OUTDMP

012262  0000  OCLOSE, 0

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 48-1

012263  6201          CDF 0
012264  1771          TAD I (MODE
012265  6211          CDF 10
012266  7740          SMA SZA CLA
012267  5303          JMP OULLLP+2
012270  4770          JMS I (OTYPE
012271  0367          AND (770
012272  1373          TAD (-PTP
012273  7640          SZA CLA
012274  1366          TAD (232
012275  4765          JMS I (OCHARP
012276  5330          JMP OURET
012277  4765          JMS I (OCHARP
012300  5330          JMP OURET
012301  4765  OULLLP, JMS I (OCHARP
012302  5330          JMP OURET
012303  4770          JMS I (OTYPE
012304  7710          SPA CLA
012305  1364          TAD (100
012306  1363          TAD (77
012307  0762          AND I (OUDWCT
012310  7640          SZA CLA
012311  5301          JMP OULLLP
012312  1762          TAD I (OUDWCT
012313  1361          TAD (OUCTL&3700
012314  7450          SNA
012315  5321          JMP OUDUMP
012316  1360          TAD (4010
012317  4227          JMS OUTDMP
012320  5330          JMP OURET
012321  1776  OUDUMP, TAD I (MOUTPU
012322  4775          JMS I (200
012323  0004          4
012324  7601          MOUTPU+1
012325  0000  OUCCNT, 0
012326  7410          SKP
012327  2262          ISZ OCLOSE
012330  6203  OURET,  CIF CDF 0
012331  5662          JMP I OCLOSE
012360  4010
012361  1000
012362  2502
012363  0077
012364  0100
012365  2444
012366  0232
012367  0770
012370  2503
012371  0044
012372  0017
012373  7760
012374  2433
012375  0200
012376  7600
012377  7601

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 48-2

        2400          PAGE

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 49

012400  0000  OUTEMP, 0

012401  7402  OUJMP,  HLT
012402  5273          JMP OCHR1
012403  5263          JMP OCHR2
012404  1200  OCHR3,  TAD OUTEMP
012405  7106          CLL RTL
012406  7006          RTL
012407  0377          AND (7400
012410  1700          TAD I OUPOLD
012411  3700          DCA I OUPOLD
012412  1200          TAD OUTEMP
012413  7112          CLL RTR
012414  7012          RTR
012415  7010          RAR
012416  0377          AND (7400
012417  1701          TAD I OUPTR
012420  3701  OC8A1,  DCA I OUPTR
012421  1262          TAD OUJMPP
012422  3201          DCA OUJMP
012423  2301          ISZ OUPTR
012424  2302          ISZ OUDWCT
012425  5275          JMP OUCOMN
012426  1376          TAD (OUCTL
012427  4775          JMS I (OUTDMP
012430  5276          JMP OUCRET
012431  4233          JMS OUSETP
012432  5275          JMP OUCOMN

012433  0000  OUSETP, 0
012434  1374          TAD (OUCTL&3700
012435  7041          CIA
012436  3302          DCA OUDWCT
012437  1373          TAD (OUBUF
012440  3301          DCA OUPTR
012441  1262          TAD OUJMPP
012442  3201          DCA OUJMP
012443  5633          JMP I OUSETP

012444  0000  OCHARP, 0
012445  3200          DCA OUTEMP
012446  6214          RDF
012447  1372          TAD (CIF CDF 0
012450  3276          DCA OUCRET
012451  6201          CDF 0
012452  1771          TAD I (MODE
012453  7740          SMA SZA CLA
012454  5260          JMP .+4
012455  1200          TAD OUTEMP
012456  0370          AND (377
012457  3200          DCA OUTEMP
012460  6211          CDF 10
012461  2201          ISZ OUJMP
012462  5201  OUJMPP, JMP OUJMP


/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 49-1

012463  6201  OCHR2,  CDF 0
012464  1771          TAD I (MODE
012465  6211          CDF 10
012466  7740          SMA SZA CLA
012467  5317          JMP OC8A2
012470  1301          TAD OUPTR
012471  3300          DCA OUPOLD
012472  2301          ISZ OUPTR
012473  1200  OCHR1,  TAD OUTEMP
012474  3701          DCA I OUPTR
012475  2244  OUCOMN, ISZ OCHARP
012476  6203  OUCRET, CIF CDF 0
012477  5644          JMP I OCHARP

012500  0000  OUPOLD, 0
012501  0000  OUPTR,  0
012502  0000  OUDWCT, 0

012503  0000  OTYPE,  0
012504  1767          TAD I (MOUTPU
012505  0366          AND (17
012506  1365          TAD (DCB-1
012507  3233          DCA OUSETP
012510  1633          TAD I OUSETP
012511  5703          JMP I OTYPE

012512  0000  CDINXX, ZBLOCK 5

012517  2301  OC8A2,  ISZ OUPTR
012520  1200          TAD OUTEMP
012521  5220          JMP OC8A1
012565  7757
012566  0017
012567  7600
012570  0377
012571  0044
012572  6203
012573  5000
012574  1000
012575  2227
012576  5010
012577  7400
        2600          PAGE

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 50

              $-$-$

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 51

AFIELD 0000      CVDATE 2600      DIV1   1212      FINDSL 1200
ALTMOD 1120      CXFUN  6362      DIV3   1231      FINDS0 1215
BAKARR 1072      CXWCT  6365      DIV7   1224      FINDS1 1240
BLOCK  6204      C100   6366      DRIVE  0010      FINDS2 1247
BUFF   6357      C1000  6203      DTA0   6200      FINDS3 1252
CARRET 1037      C1400  6555      DTA1   6204      FINDS4 1266
CD     5400      C3     6375      DTA1X  6210      FINDS5 1272
CDCNT  0103      C300   6466      DTCA   6762      FINDS6 1303
CDDEV  0070      C374   6241      DTLB   6774      FINDS7 1310
CDDEVF 0056      C6203  6354      DTRA   6761      FINDS8 1244
CDEXT  0063      C70    6374      DTRB   6772      FINDS9 1262
CDINX  6000      C7600  6426      DTSF   6771      FIND1  4344
CDINXX 2512      DATE   0046      DTWAIT 6267      FIND2  4275
CDIN1  6014      DATE1  2646      DTXA   6764      FIND3  4342
CDIN2  6012      DATE10 2647      DVCPTR 4710      FIND4  4351
CDIN3  6066      DATE11 2652      DVCTBL 4711      FLIP   0610
CDIN4  6077      DATE12 2662      DVTYPE 0110      FLIP1  0641
CDIN5  6100      DATE2  2722      DWORDS 6557      FLIP2  0642
CDIN6  6112      DATE3  2723      ENDZ   6335      FLIP3  0643
CDIN7  6063      DCB    7760      EQUFUN 6520      FLIP4  0647
CDIN8  6044      DECODE 5063      EQUTMP 6562      FLIP5  0644
CDIN9  6120      DECOD1 5076      ERDELF 0215      FLIP6  0621
CDI01  5523      DELETE 1315      ERMES0 4522      FLIP7  0645
CDI02  5532      DELET1 1360      ERMES1 4541      FLIP8  0646
CDI04  0104      DELET2 1327      ERMES2 4547      FNOTFD 0211
CDNAME 0060      DELET3 1361      ERMES3 4556      FOUND  6370
CDOUTX 5600      DELET4 1341      ERMES4 4567      FREEP  0047
CDOUT1 5625      DELE10 3044      ERMES5 4600      GCH    5000
CDOUT2 5627      DELOS8 3063      ERMES6 4613      GETCHK 6535
CDOUT3 5654      DELPS1 2010      ERMES7 4623      GETDIG 3621
CDOUT4 5665      DEVSW  0067      ERMES8 4640      GET10D 6207
CDOUT5 5643      DIGPAK 3705      ERMES9 4650      GLINE  1000
CDOUT9 5612      DIO01  6216      ERROR  0225      GNAME  5200
CDX01  5454      DIO02  6234      ERROR2 0251      GNAME1 5205
CDX02  5477      DIO03  6240      ERROR3 0304      GNAME2 5217
CDX03  5501      DIO04  6247      ERROR4 0236      GNAME3 5247
CFATAL 6551      DIO05  6250      ERROR7 0272      GNAME4 5262
CHARNI 0031      DIO06  6254      EXA40  5100      GNAME5 5272
CHARNO 0032      DIO07  6260      EXA401 5105      GNAME6 5306
CHKSUM 6556      DIO08  6263      EXIT   6345      GO     6301
CHLOOP 1006      DIO09  6304      FATAL  6347      GOLDBK 0744
CINSRT 1027      DIO10  6310      FILLSA 1423      GTCRLF 3651
CLFINI 1040      DIO11  6312      FILLSL 1400      GTDVTP 6122
CLOS1A 2411      DIO12  6323      FILLS0 1414      IBLOCK 0035
CLOS10 2400      DIO13  6335      FILLS1 1424      IBUF10 3000
CLRLIN 1101      DIO14  6350      FILLS2 1436      ICHARA 2253
CM200  6307      DIO15  6406      FILLS3 1443      ICHARB 2273
CM32   6554      DIO16  6410      FILLS4 1466      ICHARC 2270
CNTR   0022      DIO17  6420      FILLS5 1475      ICHARD 2315
CRCR   1111      DIO18  6431      FILLS6 1516      ICHARE 2335
CRDQUD 6355      DIO19  6506      FILLS7 1527      ICHARF 2311
CRLF   4236      DIO20  6510      FILLS8 1432      ICHARP 2020
CRWCOM 6552      DIO21  6514      FILLS9 1413      ICHARX 2206
CTRLC  1075      DIO22  6516      FIND   4266      ICHARY 2205
CTRLU  1075      DIRECT 7000      FINDSA 1213      ICHAR0 2213

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 51-1

ICHAR1 2321      IOTX4  6322      NOBAKB 5553      OUDWCT 2502
ICHAR2 2337      IOTX5  6324      NOOFIL 0207      OUEEXT 2214
ICHAR3 2346      IOTX6  6341      NOOOFL 0221      OUEFAL 2216
ICHAR4 2362      IOTX7  6352      NOROOM 0205      OUELEN 2207
ICHRPS 3300      IOTX8  6354      NOTPSF 0217      OUHNDL 2226
ICHR10 2200      IPOINT 0041      NOT10F 0213      OUJMP  2401
IC10A1 2371      IUNIT  0034      OBLOCK 0036      OUJMPP 2462
IC10A3 2367      IXR    0017      OBUF10 5000      OULLLP 2301
IC8A1  2147      JSBITS 7746      OCHARA 2101      OUNIT  0033
IC8A2  2124      K77    6441      OCHARB 2123      OUPOLD 2500
IC8A3  2144      K7700  6416      OCHARC 2116      OUPTR  2501
INBREC 2051      LBCKUP 1141      OCHARD 2127      OUREC  2256
INBUF  3000      LEAVE  6352      OCHARP 2444      OURET  2330
INBUFP 2046      LFEED  1161      OCHARX 2022      OUSETP 2433
INCHCT 2136      LINBUF 4400      OCHARY 0107      OUTDMP 2227
INCHR1 2137      LISTDV 4015      OCHARZ 2014      OUTEMP 2400
INCHR2 2113      LISTL  4400      OCHAR0 2027      OUTPUT 0040
INCHR3 2100      LISTM1 4505      OCHAR1 2132      PACK   3701
INCOMN 2125      LIST10 4000      OCHAR2 2150      PDP10D 0073
INCTL  1010      LIST11 4025      OCHAR3 1677      PERSW  0066
INCTLW 2045      LIST12 4036      OCHAR4 2160      PGCT   6364
INCTR  2005      LIST13 4141      OCHRPS 3306      PIPA   3453
INDEVH 6600      LIST14 4076      OCHR1  2473      PIPB   3520
INDEVX 3227      LIST15 4142      OCHR10 2000      PIPC   3513
INDEX0 0010      LIST16 4233      OCHR2  2463      PIPCD  3407
INDEX1 0011      LIST17 4120      OCHR3  2404      PIPD   3501
INDEX2 0012      LIST18 4245      OCLOSE 2262      PIPE   3502
INDEX3 0013      LIST19 4224      OC10A1 2015      PIPF   3527
INDEX4 0014      LIST20 4226      OC10A2 2007      PIPG   3537
INDEX5 0015      LIST21 4261      OC10A3 2010      PIPX   3506
INDEX6 0016      LIST22 4200      OC10A4 2121      PIP001 3434
INEOF  2135      LIST23 4244      OC10A5 2120      PIP10  3400
INERR  2073      MDATE  7666      OC10A6 2167      POINT  0021
INERRX 2070      MFIELD 0000      OC10A7 2163      PRINT  2724
INEXIT 2133      MINPUT 7617      OC8A1  2420      PRINTC 0054
INGBUF 2027      MODE   0044      OC8A2  2517      PRINTL 3000
INHNDL 2006      MOUTPU 7600      OLDTBL 0600      PRINTZ 3003
INJMP  2075      MPARAM 7643      OOPNPS 2200      PRINT0 0050
INJMPP 2023      MWORDS 6360      OOPN10 2453      PRINT1 0051
INPTR  2007      M110   6333      OPENP  5020      PRINT2 0052
INPUT  0037      M20    6363      OPOINT 0042      PRINT3 0053
INREC  2047      NEXIFL 3200      ORIGIN 6200      PRINT4 2733
INRECS 0004      NEXIF1 3247      OTYPE  2503      PRINT5 2754
INSEG  0072      NEXIF2 3276      OUBLK  2206      PRINT6 2757
IOERR  0203      NEXIF3 3274      OUBUF  5000      PRINT7 2726
IOPN1A 2524      NEXTDI 1676      OUCCNT 2325      PRNT   1150
IOPN1B 2543      NEXTSL 1600      OUCOMN 2475      PTP    0020
IOPN1C 2547      NEXTS1 1612      OUCRET 2476      RBFLAG 0055
IOPN1D 2531      NEXTS2 1631      OUCTL  5010      RBSPCL 1144
IOPN1E 2544      NEXTS3 1641      OUCTLW 2254      RDLP   6462
IOPN1F 2523      NEXTS4 1675      OUDEVH 7200      RDLP2  6477
IOPN10 2513      NEXTS5 1653      OUDEVX 3524      RDQUAD 6513
IOTX1  6307      NEXTS6 1673      OUDEVY 4017      READ   6454
IOTX2  6311      NEXTS7 1617      OUDEVZ 4034      READT  0475
IOTX3  6317      NOBAKA 5506      OUDUMP 2321      REVGRD 6406

/OS8 PIP10 - PDP-10 CONVERSION PROGRAM    PAL8-VB0  NO DATE   PAGE 51-2

ROCK   6200      TMOD3  0466      
ROCK1  6231      TMOD4  0435      
ROCK2  6240      TMOD5  0551      
ROCK3  6241      TMOD6  0530      
ROCK4  6217      TM600  0543      
RUBOUT 1124      TOUT   0427      
RWCOM  6263      TRYCNT 6367      
RWTEST 0512      TRY3   6341      
SAVELN 0043      TSTART 0423      
SAVMOD 3612      TWC    0472      
SDLC   6774      UNIT   6361      
SDLD   6775      UNIT10 0020      
SDRC   6776      WCOUNT 6356      
SDRD   6777      WDSBLK 0600      
SDSQ   6773      WORDS  0045      
SDSS   6771      WRITE  6420      
SDST   6772      WRITET 0401      
SETUNT 5703      WRITE1 0413      
SET10  6264      WRITE2 0411      
SKIP4  6351      WRLP   6436      
SLASH  5015      WRQUAD 6504      
SLOTNO 1621      XBUFF  6560      
SLSHCH 5027      XDSK   0105      
SPADR  1043      XFIELD 6377      
SRCH   6310      XFUNCT 6553      
SYNTAX 0223      XLOOP  3614      
TAPFUN 0112      XTEMP  3743      
TBLK   0473      XTEMP1 3742      
TBUF   0474      XUNIT  6520      
TCA    0471      XVERTP 0113      
TCON2  0400      XVERTQ 3600      
TDBLK  0737      XWCT   6561      
TDBUF  0736      ZERO10 3011      
TDCHK  6305      ZFREE  2000      
TDCLP  6332      
TDFUN  0735      
TDIOCK 0701      
TDRET  0743      
TDT    6356      
TDULP  4674      
TDUNIT 0111      
TDUPTR 4706      
TDUSET 4661      
TDUT   4707      
TDUTBL 4715      
TEMP1  0023      
TEMP2  0024      
TEMP3  0025      
TEMP4  0026      
TEMP5  0027      
TEMP6  0030      
TERR   0417      
TLOOP  0426      
TMOD1  0434      
TMOD2  0444      



ERRORS DETECTED: 0
LINKS GENERATED: 0