File: BUIL40.LS of Disk: Disks/Working/New-24-05-2015
(Source file text) 


/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 1

             /33 OS/8 V3D BUILD
             /
             /
             /
             /
             /
             /
             /
             /
             /
             /COPYRIGHT  (C)  1977 BY DIGITAL EQUIPMENT CORPORATION
             /                AND 1979 BY DATAPLAN GMBH
             /
             /
             /
             /
             /
             /
             /
             /
             /
             /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.
             /
             /
             /
             /
             /
             /
             /
             /
             /
             /

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 2

             /ABSTRACT--
             /BUILD IS THE SYSTEM CONFIGURATOR FOR THE OS/8 PROGRAMMING
             /SYSTEM. WITH BUILD, THE DEVICES WITHIN A PARTICULAR
             /SYSTEM CAN BE RAPIDLY AND EASILY CHANGED. BUILD ALSO
             /PROVIDES THE FACILITY FOR CREATING AN INITIAL OS/8 SYSTEM
             /FROM BINARY PAPER TAPES OR CASSETTES.

             /V3 CHANGES

             /0.     MADE BUILD SUPPORTABLE
             /1.     ADDED VE COMMAND (CURRENT VERSION # IS 3X WHERE X IS PATCH LEVEL)
             /2.     FIXED PROBLEM WITH Z'S AND 9'S IN FILENAMES
             /3.     CHANGED LENGTH OF DF32
             /4.     FIXED PROBLEM WITH RK8 BOOTSTRAP RECORD.
             /5.     ON LOAD, NULL EXTENSION FIRST SEARCHES FOR .BN
             /6.     CR TO $ DOESN'T GIVE ERROR
             /7.     FIXED BUG WITH BUILDING ROM SYS
             /8.     RUBOUTS TO BOL GIVE $
             /9.     ^U RETYPES $
             /10.    ASSUME DSK: IF NO DEV GIVEN WITH LOAD
             /11.    NO DOT IS PRINTED IF NO EXTENSION
             /12.    ^O STUFF NEW
             /13.    ALLOW PARITY ^C
             /14.    ADDED EXAMINE COMMAND
             /15.    FIXED BUG RE ACCESSING USR TABLE VIA POINTER
             /16.    CLEANED UP MOVE ROUTINE
             /17.    CLEANED UP NUMBER TOO BIG CHECKER
             /18.    OVERFLOW ERROR MESSAGE CHANGED TO 'BAD ORIGIN'
             /19.    DON'T ALLOW NAMES OVER 6 CHARS TO SPILL INTO EXTENSION;
             /       DON'T ALLOW MULTIPLE EXTENSIONS
             /20.    INCREASED NUMBER OF ALLOWABLE ENTRY PTS/HANDLER TO 16 (DEC)
             /21.    CLEANED UP SYMBOL PRINT ROUTINE
             /22.    GOT NAMES IN TABLE TO LINE UP.
             /23.    INSERT GRPNAME <CR> INSERTS FIRST HANDLER
             /24.    INSERT GRP,DEV1,DEV2,DEV3,...
             /25.    INSERT GRP,DEV1-5,...
             /26.    SAME FOR DELETE AND REPLACE
             /27.    COUNT DEVICES AND SLOTS ONLY ON BOOT
             /28.    FIXED BUG RE SYS RF08=4023
             /29.    GENERAL SUPPORT OF 2-PAGE SYS HANDLERS
             /30.    ADDED QL COMMAND
             /31.    SETS SA=00200, JSW=0
             /32.    UNLOAD UNLOADS AND DELETES
             /33.    ADDED DSK COMMAND
             /34.    BUILD COMMAND
             /35.    PRINT TELLS YOU ABOUT DSK
             /36.    TOOK OUT LOC DEPENDENT CHECK FOR SYSTEM HANDLERS
             /37.    INSERT ALLOWS SETTING # OF PLATTERS
             /38.    HANDLER HEADER LOADS DIRECTLY INTO DESCRIPTOR TABLE
             /39.    USES EXTRA CORE IF AVAILABLE (ALSO CHECKS SOFTWARE CORE SIZE)
             /40.    STOPS ECHOING ON INPUT LINE OVERFLOW
             /41.    *'S SYSTEM DEVICE
             /42.    REMEMBERS SYS ACROSS A BOOT
             /43.    'Y' INSTEAD OF 'YE'
             /44.    BO CHECKS DCB IN CORE TO SEE IF NEED REWRITE MONITOR

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 2-1

             /45.    ALLOW UNLOADING ENTRY POINT NAMES
             /46.    CTL COMMAND
             /47.    EACH COMMAND HAS ITS OWN MAXIMUM INPUT LINE SIZE
             /48.    ADDED CORE COMMAND
             /49.    FIXED ^U TO WRITE ZERO DIRECT MSG BUG
             /50.    HIT CONTINUE AFTER 'SYS ERR' TO RETRY
             /51.    PRESERVED DATE ACROSS BOOT
             /52.    MULTIPLE LOADS AND UNLOADS
             /53.    LOAD FROM SCRATCH USES INTERNAL ACTIVE HANDLERS
             /54.    CASSETTE SUPPORT
             /55.    SETS CORE CONTROL BLOCK

             /CHANGES SINCE FIELD RELEASE

             /A      'NO ROOM' DOESN'T PRINT 'BAD LOAD'
             /B      NO. OF ENTRY POINTS NOW CORRECTLY CHECKED FOR
             /C      FIXED BUG RE BUILDING TD8E FROM TD8E
             /D      BOOT CMD DISABLES BUILD CMD
             /E      JSW SET TO 1 BEFORE CHAINING TO ABSLDR
             /F      P CMD BUG FIXED
             /G      ALTER BUG FIXED
             /H      LENGTH OF INPUT LINE SYMBOLIC
             /I      SOFCOR STUFF OPTIMIZED
             /J      QL DOESN'T PRINT SPACE BETWEEN SYS'S GRP:NAME
             /K      FIXED BUG IN 32K
             /L      PAPER TAPE PUTS HLT IN 7600

             /THINGS TO DO:

             /?      DIES IF DATA OCCURS BEFORE *0
             /?      BOOT.ZE, .NZ  CMD?
             /?      GET 2-PAGE BIT OF CURRENT SYSTEM

             /CHANGES FOR MAINTENANCE RELEASE V3C:

             /       7-AUG-75

             /1.     CHANGED VERSION NUMBER TO V5
             /2.     INCORPORATED PATCH SEQ #1 (DSN APRIL 1975)
             /       ZERO LOCATION SOFSET WHILE BUILDING
             /3.     INCORPORATED PATCH SEQ #2 (DSN NOV. 1974)
             /       DISMISS USR AFTER ?NAME ERROR
             /4.     INCORPORATED PATCH SEQ #3 (DSN  MARCH 1975)
             /       DECREASE SYSTEM SIZE BY 5 (FOR ABSLDR) WHEN BUILDING FROM PAPER TAPE
             /5.     INCORPORATED PATCH SEQ #4 (DSN APRIL 1975)
             /       ADDED 'SIZE' COMMAND TO BUILD
             /6.     FIXED BUG WHICH CAUSES SYSXY.RS NOT FOUND TO BE PRINTED
             /       ON BOOTXY.RS COMMAND

             /CHANGES FOR V3D:

             /       1-MAY-77

             /1.     FIXED PROBLEM WITH CASSETTE BUILD (JSW WAS SET WRONG)
             /2.     ALLOWED SAVING OF HIGH-ORDER DATE BITS

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 3

             /BUILD PAGE 0
       0001          *1
00001  7402          HLT             /SAFETY HALT AND PATCH SPACE
00002  0000  SAV1,   0
00003  0000  SAV2,   0               /SAVES GROUP NAME
                                     /POINTER TO BATCH ROUTINE (GROSS BUT NEEDED THE ROOM)
00004  0315  BATT,   BATTST          /AGAIN GROSS BUT WHAT CAN I SAY?
       0010          *10             /AUTO INDEX REGISTERS
00010  0000  XR1,    0               /GENERAL PURPOSE REGISTERS
00011  0000  XR2,    0
00012  0000  XR3,    0
00013  0000  XR4,    0               /USED TO BUILD IMAGE TABLES
00014  0000  XR5,    0
00015  0000  LXR,    0
00016  0000  GNMXR,  0
00017  0600  L600,   600

       0020          *20
00020  0000  COUNT,  0               /GENERAL COUNTER LOCATION
00021  0000  CHAR,   0               /CHARACTER BUFFER
00022  0000  TEMP,   0               /TEMPORARIES
00023  0000  TMP1,   0


       5400          BUFFER=5400
       6000          BINARY=6000
       0400          DEVBUF=0400     /FIRST HANDLER AT 10400
                                     /FOR REASONS TOO LONG TO GO INTO HERE,
                                     /BUT WHICH HAVE TO DO WITH CURIOUS
                                     /PROPERTIES OF THE NUMBER 0,
                                     /HANDLERS CAN'T START AT 0.
                                     /THEY COULD HAVE STARTED AT 200.
       7747          SOFSET=7747     /SYSTEM OFFSET. (CURRENTLY =0)
       5400          PG7600=BUFFER   /RECORD 0 (IMAGES OF BOTH 7600'S)

       4113          LDRCTL=4113     /CHECK OS/8 ASSEMBLY
00024  0000  NAME1,  0               /NAME1-4 HOLDS FILE AND DEVICE NAMES
00025  0000  NAME2,  0
00026  0000  NAME3,  0
00027  0000  NAME4,  0
00030  6400  TABLMT, DSCTAB          /HIGH CORE END OF DESCRIPTORS
                                     /FIRST FREE LOCATION
00031  0000  SIZE,   0
00032  0400  HNDPTR, DEVBUF          /POINTS TO FIRST FREE LOCATION IN HANDLER TABLE

       0076          BLDSAV=76       /**** WILL DESTROY PREVIOUS FILES
                                     /START OF 40 BLOCK TO SAVE BUILD IN
       0010          HDRSIZ=10       /NUMBER OF ITEMS IN A DESCRIPTOR
00033  6400  DSCPTR, DSCTAB          /ALWAYS POINTS TO BEGIN OF CURRENT DESCRIPTOR

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 4

00034  0000  SLOT,   0
00035  0000  DSKG1,  0               /NAME OF 'DSK'
00036  0000  DSKG2,  0
00037  0000  DSKP1,  0
00040  0000  DSKP2,  0
00041  0000  NEWPAG, 0
00042  0000  OLDPAG, 0
00043  0000  NEWCOR, 0               /NEW CORE MAX
00044  0000  SAVDAT, 0               /REMEMBERS DATE ACROSS A BOOT
       7666          DATEWD=7666
00045  0001  FLAG2,  1               /0 IF PREVIOUS SYSTEM HAD A 2-PAGE HANDLER
             /SAMSYS,        1               /0 IF DIDN'T SPECIFY NEW SYS
       0000          BLOK66=0
00046  0000  SYSDCB, 0
       7744          SA=7744
       7746          JSW=7746
             /BOOTDV,        0               /HANDLER ADDRESS OF DEVICE WE'RE BOOTSTRAPPING TO
00047  0000  SAVHID, 0               /HIGH-ORDER DATE (BITS 3-4)

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 5

             /BEGLIN:        72 CHAR LINE BUFFER

             /NEW BUILD CORE ALLOCATION:

             /0000-5177      BUILD (ABSLD MUST BE ABOVE 4177)
             /5400-5777      DEVICE HANDLER FOR LOAD
             /5200-5377      PAPER TAPE/INIT/LINE BUFFER
             /6000-6377      INPUT BUFFER FOR LOAD (TEMP LOC OF USR)
             /6400-7577      DESCRIPTOR TABLE (DSCTAB)

             /BINARY MUST FOLLOW BUFFER
             /FIELD 1: HANDLERS (0400-7577)
             /10000-10377    BLOK66  BUFFER

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 6

       0200          *200

00200  7610          SKP CLA /ENTRY FROM 'R BUILD'
00201  7402          HLT             /CHAIN ENTRY ADDRESS
00202  1577          TAD I [7600     /SEE IF SYSTEM ALREADY EXISTS
00203  7041          CIA
00204  1176          TAD [4207
00205  7640          SZA CLA /IF NOT, BUILD SYSTEM FROM PAPER TAPE
00206  7201          CLA IAC /NOTE FACT THAT OS/8 AINT AROUND
00207  3575          DCA I [RETSW
00210  4777          JMS I (CORE
00211  3776          DCA I (AMTCOR   /FIGURE OUT HOW MUCH CORE WE HAVE
00212  4775          JMS I (GOOD     /DO SOME INITIALIZATION; IT'LL DO YA GOOD
00213  1374          TAD (BATLS-1    /SET POINTER FOR BATCH OVERLAY
00214  4773          JMS I (BATTST   /GO CHECK FOR CALL FROM BATCH
00215  6201  CONFIG, CDF 0
00216  3772          DCA I (ECHOFLG  /ALLOW TYPING
00217  4574          JMS I [CRLF
00220  1173  DOLR,   TAD ["$ /OUTPUT A $ BECAUSE I'M JEWISH
00221  4572          JMS I [TTYOUT
00222  3571          DCA I [SWAPER   /USE CURRENT HANDLER, NO SWAP ON ^C.
00223  1170          TAD [-LNLNGT
00224  4567          JMS I [GTEXT    /READ TTY LINE
00225  5220          JMP DOLR
00226  4566          JMS I [GNAME    /INTERPRET THE COMMAND
00227  1024          TAD NAME1
00230  7450          SNA
00231  5215          JMP CONFIG
00232  3021          DCA CHAR        /ENABLE TEST TO WORK

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 7

00233  4565          JMS I [TEST     /LOOK FOR THE COMMAND IN LIST
00234  6361          -1417;LOAD      /LOAD DEVICE HANDLER BINARY
00235  1071
00236  5573          -2205;REPLACE   /REPLACE IN SYSTEM
00237  1200
00240  6177          -1601;NAME      /ALTER PERMANENT NAME
00241  1606
00242  7664          -0114;ALTER     /CHANGE DEVICE HANDLER LOCATION
00243  1625
00244  5756          -2022;PRINT     /SYSTEM STATUS
00245  2000
00246  5447          -2331;SYSTEM    /SPECIFY SYSTEM DEVICE
00247  1216
00250  7561          -0217;BOOT      /BOOTSTRAP THE NEW SYSTEM
00251  3210
00252  5262          -2516;UNLOAD    /DELETE INACTIVE HANDLER
00253  2400
00254  7373          -0405;DELETE    /DELETE ACTIVE HANDLER
00255  1214
00256  6662          -1116;INSERT    /INSERT HANDLER IN SYSTEM
00257  1207
00260  5173          -2605;VERS      /TYPE VERSION #
00261  0740
00262  7250          -0530;EXAMINE   /EXAMINE LOCATION
00263  1624
00264  5664          -2114;QLIST     /QUICK LIST
00265  2107
00266  7355          -0423;DSK       /DSK
00267  1464
00270  7461          -0317;KORE      /CORE
00271  4301
00272  7375          -0403;DCBCM     /DCB
00273  1674
00274  7454          -0324;CTLCM     /CTL
00275  1675
00276  5467          -2311;SIZCM     /SIZE
00277  1673
00300  7262          -0516;END       /END COMMAND FOR BATCH
00301  4363
00302  7553  BD,     -0225;BUILD     /BUILD
00303  5303
00304  0000          0               /MUST TERMINATE LIST WITH 0
00305  5564          JMP I [WHAT     /DIDN'T FIND COMMAND

             /NEW HEADER BLOCK:

             /       DEVICE GROUPNAME
             /       DEVICE PERMANENT NAME
             /       DCB     (R/W,TYPE,MAX # OF PLATTERS)
             /       1/2 PAGE, SYSTEM BIT, CORES BIT, REL ENTRY PT
             /       MUST BE 0
             /       SIZE OF 1 PLATTER

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 8

             CORSIZ,
00306  0000  GETCHA, 0
00307  1033          TAD DSCPTR
00310  1706          TAD I GETCHA
00311  2306          ISZ GETCHA
00312  3326          DCA GETEM
00313  1726          TAD I GETEM
00314  5706          JMP I GETCHA

             /GOTCHA SUBROUTINE MOVED FOR ROOM

       4563          PUT=JMS I [GOTCHA
       4562          GET=JMS I [GETCHA


00315  0000  BATTST, 0               /SUBROUTINE TO SEE IF CALLED FROM BATCH
00316  3010          DCA XR1 /POINTER TO OVERLAY CODE IN FIELD 2
00317  1561          TAD I [7777     /GET THE BATCH SWITCH (JMP BATBK IF IN BATCH)
00320  7004          RAL             /BIT 1
00321  7700          SMA CLA /IF NO BATCH MAY NOT HAVE FIELD 2
00322  5715          JMP I BATTST    /NOT CALLED FROM BATCH
00323  6222  BATBK,  CIF 20          /NOW TO FIELD 2
00324  4771          JMS I (BATSET   /GO DO SOME OVERLAYS
00325  5715          JMP I BATTST    /RETURN TO CALLER

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 9

             GETEM,                  /POINTS INTO DSCTAB
00326  0000  RELCOR, 0
00327  7201          CLA IAC
00330  3306          DCA CORSIZ      /MAKE RE-USABLE
00331  1160          TAD [7400
00332  3352          DCA CORX        /MAKE ROUTINE REUSABLE ON 32K MACHINE
00333  6201  COR0,   CDF 0
00334  1306          TAD CORSIZ
00335  7006          RTL
00336  7004          RAL
00337  0350          AND COR70
00340  1363          TAD COREX
00341  3342          DCA .+1
00342  6201  COR1,   CDF /N
00343  1767          TAD I CORLOC
00344  7000  COR2,   NOP
00345  3342          DCA COR1
00346  1344          TAD COR2
00347  3767          DCA I CORLOC
00350  0070  COR70,  70
00351  1767          TAD I CORLOC
00352  7400  CORX,   7400
00353  1352          TAD CORX
00354  1370          TAD CORV
00355  7640          SZA CLA
00356  5363          JMP COREX
00357  1342          TAD COR1
00360  3767          DCA I CORLOC
00361  2306          ISZ CORSIZ
00362  5333          JMP COR0
00363  6201  COREX,  CDF 0
00364  7240          STA
00365  1306          TAD CORSIZ
00366  5726          JMP I RELCOR    /LEAVE WITH HIGHEST EXISTENT BANK

00367  0352  CORLOC, CORX
00370  1400  CORV,   1400
00371  0200
00372  4551
00373  0315
00374  0227
00375  2617
00376  5067
00377  3147
       0400          PAGE

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 10

             /GET    GETS DESCRIPTOR ITEM FROM CURRENT DESCRIPTOR
             /OP

             /PUT    PUTS DESCRIPTOR ITEM IN AC BACK IN SPECIFIED ITEM
             /OP     IN CURRENT DESCRIPTOR

             /ITEMS:

             /ACTIVE BIT 0=1 MEANS ENTRY POINT HAS BEEN INSERTED (IS ACTIVE)
             /PERM1  PERMANENT NAME (FIRST 2 CHARS)
             /PERM2  2ND 2 CHARS
             /TWOPAG BIT 0=1 MEANS 2-PAGE HANDLER, BIT 4 IGNORED, BITS 5-11 RELATIVE ENTRY PO
             /PAGRES BITS 7-11 GIVE PAGE OF START OF HANDLER WHEN ROTATED 6 RT
             /GRPNM1 GROUP NAME (DEVICE NAME) FIRST 2 CHARS
             /GRPNM2 2ND 2 CHARS
             /DEVSIZ GIVES SIZE OF 1 PLATTER
             /PLATNUM # OF PLATTERS IN BITS 2-4
             /DSKBIT BIT 1 IS FLAG FOR 'DSK' (USED TEMPORARILY BY BUILD)
             /MAXPLT MAXIMUM NUMBER OF PLATTERS ALLOWED (IN BITS 9-11)
             /DCB    D.C.B. BIT 0: FILESTRUCTURED, BITS 3-8 DEVICE TYPE
             /       BITS 9-11 MAX NO. OF PLATTERS
             /CORES  BIT 2 MEANS ENTRY PT IS CORESIDENT WITH SYS HANDLER
             /SYSBIT BIT 1 IS A 1 IF THE DEVICE HAS NAME 'SYS' AND IS A SYS DEVICE

             /IF FIRST ENTRY OF A DESCRIPTOR IS GE 7600, THEN THIS
             /ENTRY IS A BOOTSTRAP ENTRY.
             /IT STARTS WITH THE NEGATIVE OF THE NUMBER OF WORDS IN THE
             /BOOTSTRAP (FOR THE PRECEDING DEVICE), FOLLOWED BY THAT MANY WORDS

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 11

       0000          GRPNM1=0
       0001          GRPNM2=1
       0002          PRMNM1=2
       0003          PRMNM2=3
       0004          DCB=4
       0004          MAXPLT=4
       0004          DVTYPE=4
       0005          TWOPAG=5        /BIT 0
       0005          SYSBIT=5        /BIT 1
       0006          ACTIVE=6
       0005          ENTPT=5
       0006          PAGRES=6
       0006          PLATNUM=6
       0007          DEVSIZ=7
       0006          DSKBIT=6        /BIT 1
       0005          CORES=5         /BIT 2

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 12

             /READ A LINE OF TEXT    RETURN 1 IS ^U RETURN
00400  0000  GTEXT,  0               /ROUTINE TO COLLECT TTY INPUT
00401  1377          TAD (-BEGLIN    /AC IS NON-ZERO
00402  3323          DCA ENDLIN
00403  3776          DCA I (RUBFLG   /INITIALIZE RUBOUT TO \
00404  1375          TAD (BEGLIN-1
00405  3015  RDTX,   DCA LXR         /BUFFER ADD. TO INDEX
00406  4557  RDTXT,  JMS I [TTYIN    /READ BLOODY TELETYPE
00407  1021          TAD CHAR
00410  3024          DCA NAME1       /SETUP FOR TEST AGAIN
00411  4565          JMS I [TEST
00412  7401          -377;RBOUT      /RUBOUT
00413  0447
00414  7566  LFMOD,  -212;LFEED      /LINE FEED..ECHO CURRENT COMMAND
00415  0476
00416  7563          -215;CARRET     /LINE TERMINATOR
00417  0467
00420  7545          -233;ALTMOD     /ALT MODE IN SEVERAL FLAVORS
00421  0511
00422  7403          -375;ALTMOD
00423  0511
00424  7402          -376;ALTMOD
00425  0511
00426  7600          -200;RDTXT      /IGNORE BLANKS
00427  0406
00430  7561          -217;RDTXT      /AS WELL AS ^O
00431  0406
00432  7575          -203;CTRLC      /BACK TO CURRENT SYSTEM
00433  4274
00434  7553          -225;CTRLU      /CTRLU
00435  0514
00436  0000          0               /IF NOT ONE OF THESE, PUT IN BUFFER
00437  1015          TAD LXR
00440  1323          TAD ENDLIN
00441  7650          SNA CLA
00442  5206          JMP RDTXT       /LINE OVERFLOW, STOP ECHOING
00443  4556          JMS I [PRNT     /PRINT THE CHARACTER
00444  1021          TAD CHAR
00445  3415          DCA I LXR       /AND PUT IN LINE BUFFER
00446  5206          JMP RDTXT       /NO PROBLEMS YET

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 13

00447  1015  RBOUT,  TAD LXR         /IS THERE TEXT TO RUB OUT?
00450  1155          TAD [1-BEGLIN
00451  7650          SNA CLA
00452  5321          JMP RBCR        /NO..SO DON'T DO ANYTHING
00453  1154          TAD ["\         /YES..ECHO BACKSLASH?
00454  2776          ISZ I (RUBFLG   /IF = -1, NO
00455  4572          JMS I [TTYOUT
00456  7240          CLA CMA         /IGNORE CONSECUTIVE RUBOUTS
00457  3776          DCA I (RUBFLG
00460  1015          TAD LXR
00461  3023          DCA TMP1
00462  1423          TAD I TMP1
00463  4572          JMS I [TTYOUT   /ECHO LAST CHAR
00464  7240  XRBACK, CLA CMA
00465  1015          TAD LXR         /MOVE INDEX BACK ONE
00466  5205          JMP RDTX
00467  4574  CARRET, JMS I [CRLF     /GENERATE 215,212
00470  3415  CAR1,   DCA I LXR
00471  3415          DCA I LXR       /GUARD AGAINS CMD <CR>
00472  1153          TAD [BEGLIN-1
00473  3016          DCA GNMXR       /SETUP FOR GNAME ROUTINE
00474  2200          ISZ GTEXT       /TAKE NORMAL RETURN
00475  5600          JMP I GTEXT

00476  3415  LFEED,  DCA I LXR       /A 0 TO MARK END
00477  1153          TAD [BEGLIN-1
00500  3015          DCA LXR
00501  4574          JMS I [CRLF
00502  1173          TAD ["$
00503  4572          JMS I [TTYOUT
00504  1415  ECHO,   TAD I LXR
00505  7450          SNA             /DONE ECHOING?
00506  5264          JMP XRBACK      /YES..REPOSITION LXR
00507  4572          JMS I [TTYOUT
00510  5304          JMP ECHO

00511  1173  ALTMOD, TAD ["$         /ALT MODE ECHOES AS $
00512  4572          JMS I [TTYOUT
00513  5270          JMP CAR1

00514  1152  CTRLU,  TAD ["^
00515  4572          JMS I [TTYOUT   /GENERATE ^U
00516  1024          TAD NAME1
00517  1151          TAD [100
00520  4572          JMS I [TTYOUT
00521  4574  RBCR,   JMS I [CRLF
00522  5600          JMP I GTEXT     /TAKE ERROR RETURN

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 14

       4550          GETCHR=JMS I [GETC
       4547          BAKCHR=JMS I [BAKC

             ENDLIN,
00523  0000  GETNUM, 0               /PICKS UP NUMBER FROM LINE BUFF
                                     /DELIM CHAR PUT IN 'CHAR'
                                     /PRINTS ERROR MESSAGE IF  GT 4095
                                     /IF NO NUMBER, TAKES RETURN 1
                                     /IF NUMBER, TAKES RET 2 WITH # IN 'SIZE'
00524  3031          DCA SIZE
00525  3366          DCA GOTSW       /HAVEN'T FOUND ANY DIGITS YET
00526  5342          JMP NCHAR
00527  3023  ROT,    DCA TMP1
00530  2366          ISZ GOTSW       /FOUND A DIGIT
00531  1031          TAD SIZE
00532  0146          AND [7000
00533  7640          SZA CLA
00534  5545          JMP I [BADARG   /NUMBER .GT. 4095
00535  1031          TAD SIZE
00536  7106          CLL RTL
00537  7004          RAL             /BUILD UP THE DIGIT
00540  1023          TAD TMP1
00541  3031          DCA SIZE
00542  4550  NCHAR,  GETCHR
00543  7450          SNA             /0 ENDS THE LINE
00544  5356          JMP NUMOUT
00545  1144          TAD [-240       /IGNORE SPACES
00546  7450          SNA
00547  5342          JMP NCHAR
00550  1374          TAD (-30        /TEST LIMITS
00551  7100          CLL
00552  1143          TAD [10         /MUST BE BETWEEN 0 AND 7
00553  7430          SZL
00554  5327          JMP ROT
00555  1373          TAD (260        /RESTORE CHAR
00556  3021  NUMOUT, DCA CHAR        /SAVE AWAY THIS DELIMETER
00557  1366          TAD GOTSW       /DID WE GET ANY DIGITS?
00560  7640          SZA CLA         /?
00561  2323          ISZ GETNUM      /YES
00562  5723          JMP I GETNUM    /NO, RETURN

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 15

00563  0000  GETC,   0               /GET THE NEXT CHARACTER, ADVANCE SCAN PAST IT
00564  1416          TAD I GNMXR
00565  5763          JMP I GETC

             GOTSW,                  /1 MEANS GOT A DIGIT
00566  0000  BAKC,   0               /BACK UP SCAN TO THE CHARACTER JUST LOOKED AT
00567  7240          STA
00570  1016          TAD GNMXR
00571  3016          DCA GNMXR
00572  5766          JMP I BAKC
00573  0260
00574  7750
00575  5177
00576  4755
00577  2600
       0600          PAGE

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 16

       4542          INIT=JMS I [INI
       4541          ADVDSC=JMS I [DSCADV
       4540          ADVBOT=JMS I [BOTADV

             /       JMS PRMNAM      /SEARCH TABLE FOR A PERMANENT NAME
                                     /GIVEN IN NAME1-NAME2
                                     /POINT TO DESCRIPTOR FOR THIS NAME
             /       JMS ACTNAM      /SAME BUT PERMANENT NAME MUST BE ACTIVE
             /       JMS BIGNAM      /SEARCHES FOR PERM & GRP NAME (GRP NAME IN SAV1,SAV2)
             /       JMS GRPNAM      /SAME BUT SEARCH FOR GROUP NAME

00600  0000  CHKNAM, 0
00601  4542          INIT
00602  4541  CHKLUP, ADVDSC          /ADVANCE TO NEXT DESCRIPTOR
00603  4540          ADVBOT          /ADVANCE OVER ANY BOOTSTRAP
00604  5317          JMP NFOUND      /NO MORE- ERROR
00605  4562          GET
00606  0000  NM1,    GRPNM1          /GET GROUP OR PERMANENT NAME
00607  7041          CIA
00610  1024          TAD NAME1
00611  7640          SZA CLA         /DO FIRST WORDS MATCH?
00612  5202          JMP CHKLUP      /NO, TRY AGAIN
00613  4562          GET
00614  0001  NM2,    GRPNM2          /GET 2ND WORD
00615  7041          CIA
00616  1025          TAD NAME2
00617  7640          SZA CLA         /2ND WORD MATCH?
00620  5202          JMP CHKLUP      /NO
00621  1316          TAD BIGFLG
00622  7650          SNA CLA         /WANT BOTH GROUP AND PERM NAME?
00623  5240          JMP NOBIG       /NO
00624  4562          GET             /YES
00625  0000          GRPNM1
00626  7041          CIA
00627  1002          TAD SAV1
00630  7640          SZA CLA
00631  5202          JMP CHKLUP
00632  4562          GET
00633  0001          GRPNM2
00634  7041          CIA
00635  1003          TAD SAV2
00636  7640          SZA CLA
00637  5202          JMP CHKLUP
00640  1261  NOBIG,  TAD ACTSW       /FOUND MATCH
00641  7650          SNA CLA         /MUST HANDLER BE ACTIVE?
00642  5600          JMP I CHKNAM    /NO, RETURN
00643  4562          GET             /YES
00644  0006          ACTIVE
00645  7700          SMA CLA         /IS IT ACTIVE?
00646  5202          JMP CHKLUP      /NO, TRY AGAIN
00647  5600          JMP I CHKNAM    /YES, RETURN

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 17

00650  0000  GRPNAM, 0
00651  1377          TAD (GRPNM1     /WANT TO SEARCH FOR GROUP NAME
00652  3206          DCA NM1
00653  1376          TAD (GRPNM2
00654  3214          DCA NM2
00655  3261          DCA ACTSW       /NEED NOT BE ACTIVE
00656  3316          DCA BIGFLG
00657  4200          JMS CHKNAM      /GO SEARCH
00660  5650          JMP I GRPNAM

00661  0000  ACTSW,  0               /1 MEANS HANDLER MUST BE ACTIVE

00662  0000  PRMNAM, 0
00663  3261          DCA ACTSW       /AC MAY BE NON ZERO (TO MEAN ACTIVE ONLY)
00664  1375          TAD (PRMNM1     /WANT TO SEARCH FOR PERMANENT NAME
00665  3206          DCA NM1
00666  1374          TAD (PRMNM2
00667  3214          DCA NM2
00670  3316          DCA BIGFLG
00671  4200          JMS CHKNAM      /GO SEARCH
00672  5662          JMP I PRMNAM

00673  4574  BADLOD, JMS I [CRLF
00674  4537          JMS I [PRWD
00675  7702          TEXT    /?BAD LOAD/
00676  0104
00677  4014
00700  1701
00701  0400
00702  3430          DCA I TABLMT    /RESTORE SENTINEL 0
00703  5536          JMP I [CONFIG

00704  0000  BIGNAM, 0
00705  3261          DCA ACTSW
00706  1375          TAD (PRMNM1
00707  3206          DCA NM1
00710  1374          TAD (PRMNM2
00711  3214          DCA NM2
00712  7201          CLA IAC
00713  3316          DCA BIGFLG
00714  4200          JMS CHKNAM
00715  5704          JMP I BIGNAM

             /SOMETIMES CHKNAM CAME FROM DSKASK INSTEAD OF GETSYS ****

00716  0000  BIGFLG, 0               /SET TO 1 TO CHECK GROUP & PERMANENT NAME

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 18

00717  4535  NFOUND, JMS I [PRNAME
00720  4537          JMS I [PRWD
00721  4016          TEXT / NOT FOUND/
00722  1724
00723  4006
00724  1725
00725  1604
00726  0000
00727  5536          JMP I [CONFIG

00730  4537  NOROOM, JMS I [PRWD
00731  7716          TEXT /?NO ROOM/
00732  1740
00733  2217
00734  1715
00735  0000
00736  3430          DCA I TABLMT    /RESTORE SENTINEL 0
00737  5536          JMP I [CONFIG

00740  4537  VERS,   JMS I [PRWD
00741  0225          TEXT    /BUILD V40A/
00742  1114
00743  0440
00744  2664
00745  6001
00746  0000
00747  5536          JMP I [CONFIG

             /BUILD CORE CONTROL BLOCK
             /       ***** CAUTION IF BUILD GROWS FROM FIELD 2

00750  7775  BLDCCB, -3              /3 SEGMENTS
00751  6203          6203            /FIELD 0
00752  0200          0200            /200 IS S.A.
00753  0000          0000            /JSW
00754  0000          0000
00755  1020          1020            /20000-21777
00756  0000          0000            /10000-17577
00757  3710          3710
00760  0000          0000            /00000-07577
00761  3700          3700
             /GOES INTO WORDS 200-377 OF BLOCK 37

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 19

00774  0003
00775  0002
00776  0001
00777  0000
       1000          PAGE

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 20

             /LOAD A 1- OR 2-PAGE HANDLER INTO BUFFER
             /USE IT TO ABSLD

01000  0000  SETUP,  0
01001  1134          TAD [NAME1
01002  3257          DCA FILPTR      /POINT TO FILENAME AREA
01003  1377          TAD (BUFFER+1   /LOAD 2 PAGE HANDLER INTO 'BUFFER'
01004  3233          DCA DRIVER      /SET UP ASSIGN DEVICE HANDLER
01005  4566          JMS I [GNAME    /GET DEVICE NAME
01006  1024          TAD NAME1
01007  7650          SNA CLA
01010  5600          JMP I SETUP     /NO ARG
01011  2200          ISZ SETUP
01012  1776          TAD I (RETSW
01013  7640          SZA CLA
01014  5775          JMP I (BLDLOD   /WHEN LOADING STANDALONE, USE INTERNAL HANDLERS
01015  1021          TAD CHAR
01016  1133          TAD [-":
01017  7640          SZA CLA
01020  5774          JMP I (SETDSK   /USE 'DSK ' IF NO DEVICE GIVEN
01021  1024          TAD NAME1
01022  3231          DCA DVNM1
01023  1025          TAD NAME2
01024  3232          DCA DVNM1+1     /LOOKUP DEVICE NAME
01025  4773  GETU,   JMS I (GETUSR
01026  6212          CIF 10
01027  4532          JMS I [200      /FETCH HANDLER
01030  0001          1
             SUBLUP,
01031  0000  DVNM1,  0
             LODTMP,
01032  0000  DVNUM,  0               /NAME GOES IN HERE
01033  0000  DRIVER, 0
01034  5772          JMP I (KICKM    /NO DEVICE. RELEASE MONITOR
01035  1021          TAD CHAR
01036  7640          SZA CLA
01037  4566          JMS I [GNAME    /PICK UP FILE NAME
01040  1232          TAD DVNM1+1     /DEVICE NUMBER
01041  4771          JMS I (DTYPE    /SEE IF FILE STRUCTURED
01042  1024          TAD NAME1       /IF FILE STRUCTURED WITH NO NAME
01043  7650          SNA CLA         /IT IS AN ERROR
01044  5770          JMP I (NMER     /V3C
01045  1027          TAD NAME4       /SAVE ORIGINAL EXTENSION
01046  3022          DCA TEMP
01047  1027          TAD NAME4
01050  7450          SNA             /IF NULL
01051  1367          TAD (0216       /TRY .BN FIRST
01052  3027  TRYAGN, DCA NAME4
01053  1232          TAD DVNUM       /GET DEVICE NUMBER
01054  6212          CIF 10
01055  4532          JMS I [200      /DO LOOKUP OF FILENAME
01056  0002          2
01057  0024  FILPTR, NAME1
01060  0000          0
01061  5353          JMP LDEXT       /DIDN'T FIND FILE. DO SOMETHING

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 20-1

01062  6212          CIF 10
01063  4532          JMS I [200      /KICK OUT MONITOR
01064  0011          11
01065  1233          TAD DRIVER
01066  3531  LOADIN, DCA I [DVICE    /ENTRY POINT OF HANDLER
01067  4766          JMS I (IOPEN    /IF HERE, IT WILL FIT
01070  5600          JMP I SETUP

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 21

01071  4200  LOAD,   JMS SETUP       /SET UP FOR INPUT
01072  5530          JMP I [NODEV    /NO LOAD DEVICE
01073  7344          STA CLL RAL     /-2 DO A HANDLER LOAD
01074  6223          CIF CDF 20      /OFF TO FIELD 2
01075  4765          JMS I (LDABS
01076  5527          JMP I [BADLOD   /BAD
01077  1430          TAD I TABLMT    /SEE IF HEADER INFORMATION IS OK
01100  7500          SMA
01101  5527          JMP I [BADLOD
01102  1364          TAD (20         /ALLOW 16 HANDLERS/BINARY
01103  7710          SPA CLA
01104  5526          JMP I [BADINP   /TOO MANY
01105  1430          TAD I TABLMT
01106  3232          DCA LODTMP      /# OF LOOPS TO EXECUTE
01107  1030          TAD TABLMT
01110  1125          TAD [PAGRES+1   /POINT TO FIRST 'PAGRES' WORD
01111  3352          DCA HDPTR       /GO THERE FOR DESCRIPTORS
01112  1032          TAD HNDPTR
01113  4524          JMS I [ROTL
01114  3022          DCA TEMP        /PAGE OF RESIDENCE
01115  1022  PGLUP,  TAD TEMP
01116  3752          DCA I HDPTR     /INSERT PAGE OF RESIDENCE
01117  1352          TAD HDPTR
01120  1143          TAD [HDRSIZ
01121  3352          DCA HDPTR
01122  2232          ISZ LODTMP
01123  5315          JMP PGLUP
01124  1123          TAD [2-HDRSIZ
01125  1352          TAD HDPTR
01126  3352          DCA HDPTR       /POINT TO AFTER DESCRIPTORS
01127  1352          TAD HDPTR
01130  7041          CIA
01131  1763          TAD I (NEWLIM
01132  7650          SNA CLA         /AT END?
01133  5762          JMP I (OK               /YES
01134  1752          TAD I HDPTR     /NO, MAYBE A BOOTSTRAP RECORD
01135  7100          CLL
01136  1132          TAD [200
01137  7620          SNL CLA
01140  5527          JMP I [BADLOD   /NO
01141  1752          TAD I HDPTR     /MAYBE
01142  7041          CIA
01143  7001          IAC             /OVER COUNT
01144  1352          TAD HDPTR
01145  7041          CIA
01146  1763          TAD I (NEWLIM
01147  7640          SZA CLA
01150  5527          JMP I [BADLOD   /NO
01151  5762          JMP I (OK

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 22

01152  0000  HDPTR,  0               /POINTS INTO NEW HEADER

             /DESCRIPTOR TABLE DESCRIPTION:

             /'TABLMT' ALWAYS POINTS TO FIRST FREE LOCATION
             /'DSCPTR' ALWAYS POINTS TO BEGIN OF CURRENT HEADER BLOCK
             /ITEMS ARE OF 3 FORMS:
             /(A) GROUP COUNT: IN RANGE -1 TO -20  (IGNORED AND HAS NO MEANING)
             /       IT IS THERE FOR COMPATIBILITY WITH OLD BUILD
             /(B) HEADER BLOCK STARTS WITH NUMBER IN RANGE 0-7577
             /       CONSISTS OF 'HDRSIZ' CONSECUTIVE WORDS
             /       DESCRIBED ELSEWHERE
             /(C) BOOTSTRAP BLOCK: STARTS WITH NUMBER IN RANGE 7600-7757
             /       THIS IS THE NEGATIVE OF THE NUMBER OF WORDS TO FOLLOW

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 23

             /NON-SYSTEM HEADER INFO:

             /       - NUMBER OF ENTRY POINTS

             /FOR EACH ENTRY POINT:

             /0,1    GROUP NAME
             /2,3    ENTRY POINT NAME        (PERMANENT NAME)
             /4      R/W FILE-STR, DEVICE TYPE, MAX # OF PLATTERS
             /5      1/2 PAGE, REL ENTRY PT, SYSBIT, CORES
             /6*     PAGE OF HANDLER, ACTIVE BIT, # OF PLATS, DSKBIT
             /7      SIZE OF DEVICE

             /* SUPPLIED BY BUILD

01153  1022  LDEXT,  TAD TEMP        /DIDN'T FIND FILE
01154  7640          SZA CLA
01155  5772          JMP I (KICKM    /NO RESORT
01156  2022          ISZ TEMP
01157  5252          JMP TRYAGN      /TRY NULL EXTENSION

01162  3615
01163  3614
01164  0020
01165  0400
01166  3635
01167  0216
01170  3631
01171  2144
01172  1532
01173  1536
01174  1525
01175  1546
01176  5165
01177  5401
       1200          PAGE

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 24

01200  4777  REPLACE,JMS I (DEL      /DELETE PERMANENT NAME SPECIFIED NEXT
01201  1021          TAD CHAR
01202  1240          TAD MEQ
01203  7640          SZA CLA         /AFTER ALL DELETIONS, MUST FIND A "="
01204  5522          JMP I [SYNTAX   /IF NOT, WARN THE GUY
01205  4231          JMS INS         /IF FOUND IT, NOW PERFORM INSERTIONS
01206  5536          JMP I [CONFIG   /THE GUY HAS BEEN HUMORED

01207  4231  INSERT, JMS INS
01210  1021  TSTEOL, TAD CHAR        /THERE SHOULDN'T BE ANYTHING AFTER EOC
01211  7650          SNA CLA
01212  5536          JMP I [CONFIG   /THERE WASN'T
01213  5522          JMP I [SYNTAX   /WARN BLOKE ABOUT EXTRA STUFF

01214  4777  DELETE, JMS I (DEL      /DELETE PERMANENT NAMES SPECIFIED
01215  5210          JMP TSTEOL

01216  4231  SYSTEM, JMS INS         /SYS IS SAME AS INSERT
01217  4562          GET
01220  0005          SYSBIT
01221  7006          RTL
01222  7730          SPA SZL CLA     /BUT SYSBIT OR CORES SHOULD BE ON
01223  5210          JMP TSTEOL      /JUST TO HUMOR IT'S NAME
01224  4537  TWOSYS, JMS I [PRWD     /AND FOR COMPATIBILITY REASONS
01225  7723          TEXT    /?SYS/
01226  3123
01227  0000
01230  5536          JMP I [CONFIG

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 25

01231  0000  INS,    0
01232  1376          TAD (STL RAR
01233  3775          DCA I (ACTION   /SET 'ACTION' FOR INSERTIONS
01234  4521          JMS I [TSTNAM   /LOOK FOR A NAME
01235  4520          JMS I [GRPNAM   /GET GROUP NAME
01236  4336          JMS SAVNAM
01237  4565          JMS I [TEST
01240  7503  MEQ,    -"=;ACT
01241  1267
01242  7524          -",;INSNAM
01243  1251
01244  7506          -":;INSNAM
01245  1251
01246  4000          4000;ACT
01247  1267
01250  0000          0
01251  4521  INSNAM, JMS I [TSTNAM   /GRAB A NAME
01252  4517  INSGN,  JMS I [BIGNAM   /GET PERMANENT NAME WITH SPECIFIED GROUP NAME
01253  4562          GET
01254  0000          GRPNM1
01255  7041          CIA
01256  1002          TAD SAV1
01257  7640          SZA CLA
01260  5516          JMP I [NFOUND   /MAKE SURE PERMANENT NAME FOUND
01261  4562          GET             /HAS GROUP NAME PREVIOUSLY SPECIFIED
01262  0001          GRPNM2
01263  7041          CIA
01264  1003          TAD SAV2
01265  7640          SZA CLA
01266  5516          JMP I [NFOUND
01267  4774  ACT,    JMS I (SETACT   /SET ACTIVE BIT
01270  4565  COM,    JMS I [TEST
01271  7523          -"-;HYPH
01272  1344
01273  7524          -",;INSNAM
01274  1251
01275  7503          -"=;INPLAT
01276  1301
01277  0000          0
01300  5631          JMP I INS

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 26

01301  4515  INPLAT, JMS I [GETNUM   /AN "="
01302  5522          JMP I [SYNTAX
01303  1031          TAD SIZE
01304  7650          SNA CLA
01305  5545          JMP I [BADARG   /=0 ILLEGAL
01306  4562          GET
01307  0004          MAXPLT
01310  0125          AND [7          /GET MAXIMUM # OF PLATTERS ALLOWED
01311  7450          SNA
01312  7001          IAC             /0 MEANT 1
01313  7140          CMA CLL
01314  1031          TAD SIZE        /COMPARE WITH USER'S REQUEST
01315  7630          SZL CLA         /IS HIS REQUEST OKAY?
01316  5331          JMP BADPLT      /REQUEST-SHMEST.  TOO MANY PLATTERS
01317  1031          TAD SIZE
01320  4514          JMS I [ROTR
01321  3031          DCA SIZE
01322  4562          GET
01323  0006          PLATNUM
01324  0373          AND (6177
01325  1031          TAD SIZE        /STORE AWAY HIS STATED NUMBER OF PLATTERS
01326  4563          PUT             /FOR FUTURE USE BY 'BOOT'
01327  0006          PLATNUM
01330  5270          JMP COM         /REJOIN PROCESSING

01331  4537  BADPLT, JMS I [PRWD
01332  7720          TEXT    /?PLAT/
01333  1401
01334  2400
01335  5536          JMP I [CONFIG

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 27

01336  0000  SAVNAM, 0
01337  1024          TAD NAME1
01340  3002          DCA SAV1        /SAVE GROUP NAME
01341  1025          TAD NAME2
01342  3003          DCA SAV2
01343  5736          JMP I SAVNAM

01344  1025  HYPH,   TAD NAME2
01345  0113          AND [77
01346  7041          CIA
01347  3360          DCA DETEM
01350  4550          GETCHR
01351  0113          AND [77
01352  1360          TAD DETEM       /GET CHAR AFTER HYPEN
01353  7650          SNA CLA         /REACHED IT YET?
01354  5361          JMP IGET        /YES, WELL TRY FOR MORE STUFF
01355  4547          BAKCHR          /NO, PUT IT BACK FOR FUTURE USE
01356  2025          ISZ NAME2       /FORM NEXT SEQUENTIAL NAME
01357  5252          JMP INSGN       /GO INSERT IT
             /DO WE REALLY HAVE TO START SEARCH AT CURRENT DESCR?

01360  0000  DETEM,  0

01361  4550  IGET,   GETCHR
01362  3021          DCA CHAR
01363  5270          JMP COM

01364  4537  NODEV,  JMS I [PRWD
01365  7704          TEXT    /?DEVICE/
01366  0526
01367  1103
01370  0500
01371  5536          JMP I [CONFIG
01373  6177
01374  1400
01375  1404
01376  7130
01377  1410
       1400          PAGE

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 28

             INTEM,
01400  0000  SETACT, 0
01401  4562          GET
01402  0006          ACTIVE          /GET ACTIVATION BIT
01403  7004          RAL
01404  7130  ACTION, STL RAR         /ACTIVATE IT (SET TO 'CLL RAR' TO DEACT)
01405  4563          PUT
01406  0006          ACTIVE          /RESTORE
01407  5600          JMP I SETACT

01410  0000  DEL,    0
01411  1377          TAD (CLL RAR
01412  3204          DCA ACTION
01413  4521  DELNAM, JMS I [TSTNAM   /PARSE OFF A NAME
01414  4512  DELGN,  JMS I [ACTNAM   /FIND IT AS AN ACTIVE PERMANENT NAME
01415  4200          JMS SETACT      /DEACTIVATE IT
01416  4562          GET
01417  0006          PLATNUM
01420  0111          AND [6177       /SET # OF PLATTERS TO 0
01421  4563          PUT
01422  0006          PLATNUM
01423  4565  DCOM,   JMS I [TEST
01424  7523          -"-;DHYPH
01425  1432
01426  7524          -",;DELNAM
01427  1413
01430  0000          0
01431  5610          JMP I DEL

01432  1025  DHYPH,  TAD NAME2
01433  0113          AND [77
01434  7041          CIA
01435  3200          DCA INTEM
01436  4550          GETCHR
01437  0113          AND [77
01440  1200          TAD INTEM
01441  7650          SNA CLA         /REACHED FINAL NAME?
01442  5247          JMP DGET        /YES
01443  4547          BAKCHR          /NO, PUT FINAL LETTER BACK
01444  2025          ISZ NAME2       /YES, BUMP TO NEXT NAME
01445  0423  L0423,  423
01446  5214          JMP DELGN       /DELETE NEXT ONE IN SUCCESSION

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 29

01447  4550  DGET,   GETCHR
01450  3021          DCA CHAR
01451  5223          JMP DCOM

01452  0000  TTYIN,  0               /TTY INPUT ROUTINE
01453  6031          KSF
01454  5253          JMP .-1
01455  6036          KRB
01456  7450          SNA             /LOW LEVEL BLANK IGNORE
01457  5253          JMP TTYIN+1
01460  0110          AND [177        /HANDLE PARITY
01461  1132          TAD [200
01462  3021          DCA CHAR
01463  5652          JMP I TTYIN

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 30

             /DSK=ACTIVE PERMANENT NAME
             /DSK=GROUPNAME:PERMANENT NAME
             /DSK=<CR>       MEANS NO DSK SPECIFIED, USE 'SYS'

             /JUST REMEMBERS NAME (NOTHING ELSE)

01464  4566  DSK,    JMS I [GNAME    /GET A NAME
01465  1024          TAD NAME1
01466  7650          SNA CLA
01467  5313          JMP NODSK
01470  1021          TAD CHAR
01471  7450          SNA
01472  5315          JMP NOCOL
01473  1133          TAD [-":
01474  7640          SZA CLA         /IS IT FOLLOWED BY A ":"?
01475  5522          JMP I [SYNTAX   /NO, ASSUME HE'S GIVING AN ACTIVE PERMANENT NAME
                                     /THIS IS FOR COMPATIBILITY WITH OLD BUILD
             /       JMS I [GRPNAM   /YES, ITS A GROUP NAME
01476  1024          TAD NAME1       /SAVE IT
01477  3035          DCA DSKG1
01500  1025          TAD NAME2
01501  3036          DCA DSKG2
01502  4521          JMS I [TSTNAM   /GET PERMANENT NAME
01503  1024  PN,     TAD NAME1
01504  3037          DCA DSKP1       /DON'T WORRY NOW IF IT'S AROUND
01505  1025          TAD NAME2
01506  3040          DCA DSKP2
01507  1021          TAD CHAR
01510  7640          SZA CLA
01511  5522          JMP I [SYNTAX
01512  5536          JMP I [CONFIG

01513  3035  NODSK,  DCA DSKG1       /FIRST WORD 0 MEANS NONE SPECIFIED
01514  5536          JMP I [CONFIG

01515  4512  NOCOL,  JMS I [ACTNAM   /IT MUST BE AN ACTIVE HANDLER
01516  4562          GET
01517  0000          GRPNM1
01520  3035          DCA DSKG1
01521  4562          GET
01522  0001          GRPNM2
01523  3036          DCA DSKG2
01524  5303          JMP PN

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 31

01525  1245  SETDSK, TAD L0423       /DS
01526  3776          DCA I (DVNM1
01527  1375          TAD (1300       /K
01530  3774          DCA I (DVNM1+1
01531  5773          JMP I (GETU

01532  6212  KICKM,  CIF 10          /RELEASE MONITOR AND RELOAD
01533  4532          JMS I [200      /OUR DEVICES
01534  0011          11
01535  5516          JMP I [NFOUND

01536  0000  GETUSR, 0
01537  6212          CIF 10
01540  4507          JMS I [7700     /LOCK IN MONITOR
01541  0010          10
01542  6212          CIF 10          /RESET RESIDENT HANDLER TABLE
01543  4532          JMS I [200
01544  0013          13
01545  5736          JMP I GETUSR

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 32

             /       CODE FOR USING INTERNAL HANDLERS ON STANDALONE LOAD:

01546  3772  BLDLOD, DCA I (FILPTR   /LOAD DEV
01547  4512          JMS I [ACTNAM   /MUST BE ACTIVE
01550  4506          JMS I [GETPG
01551  3355          DCA HNDLOK      /LOCATION OF HANDLER
01552  1160          TAD [-400
01553  4505          JMS I [MOVE
01554  6211          CDF 10
01555  7402  HNDLOK, HLT
01556  6201          CDF 0
01557  5400  PBUFFER,BUFFER
01560  4562          GET
01561  0004          DCB
01562  3370          DCA BLDCB
01563  4562          GET
01564  0005          ENTPT
01565  0110          AND [177
01566  1357          TAD PBUFFER     /GET ENTRY POINT OF HANDLER
01567  5771          JMP I (LOADIN

01570  0000  BLDCB,  0               /CONTAINS DCB OF CURRENT LOAD HANDLER
01571  1066
01572  1057
01573  1025
01574  1032
01575  1300
01576  1031
01577  7110
       1600          PAGE

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 33

01600  0000  GETPG,  0
01601  4562          GET
01602  0006          PAGRES
01603  4514          JMS I [ROTR
01604  0177          AND [7600
01605  5600          JMP I GETPG

             /FORMAT:        NAME OLDNAME=NEWNAME

01606  4363  NAME,   JMS TSTNAM      /SEE IF ARGUMENT SUPPLIED
                                     /SEARCH PERMANENT TABLES
01607  4512          JMS I [ACTNAM   /GET ACTIVE PERMANENT NAME DESCRIPTOR
01610  1021          TAD CHAR
01611  1304          TAD MEQL        /CHECK FOR =
01612  7640          SZA CLA
01613  5545          JMP I [BADARG
01614  4363          JMS TSTNAM      /GET NEW DEVICE NAME
01615  1024          TAD NAME1       /REPLACE THE NAME
01616  4563          PUT
01617  0002          PRMNM1
01620  1025          TAD NAME2
01621  4563          PUT
01622  0003          PRMNM2
01623  5536          JMP I [CONFIG

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 34

01624  7201  EXAMINE,CLA IAC
01625  3316  ALTER,  DCA XSWTCH
01626  4521          JMS I [TSTNAM   /ALTER ALLOWS MODS TO A PARTICULAR
01627  4520          JMS I [GRPNAM   /HANDLER'S ACTUAL CODE.
                                     /LOOK AT DEVICE TYPE ENTRY
01630  4200          JMS GETPG       /GET PAGE OF RESIDENCE
01631  3272          DCA PAGAD       /SAVE IT.
01632  4515          JMS I [GETNUM   /GET RELATIVE LOC TO ALTER
01633  5522          JMP I [SYNTAX   /NO NUMBER
01634  4562          GET
01635  0005  P2PAG,  TWOPAG          /IS THIS A 2-PAGE HANDLER?
01636  7710          SPA CLA
01637  1177          TAD [7600
01640  1177          TAD [7600       /ALLOW 200 OR 400 MAXIMUM
01641  7100          CLL
01642  1031          TAD SIZE        /IS THE # TO ALTER TOO LARGE?
01643  7630          SZL CLA
01644  5545          JMP I [BADARG   /I GUESS IT IS
01645  1031          TAD SIZE
01646  1272          TAD PAGAD       /GET ABSOLUTE LOCATION
01647  3272          DCA PAGAD
01650  1316          TAD XSWTCH
01651  7640          SZA CLA         /EXAMINE OR ALTER?
01652  5331          JMP EXAM        /EXAMINE
01653  1021          TAD CHAR        /ALTER
01654  7640          SZA CLA         /CR?
01655  5264          JMP GETVAL      /NO
01656  4333          JMS EXAMSB      /YES, GIVE GUY  OLD VALUE FIRST
01657  1104  ODTL,   TAD ["/         /ODT LIKE
01660  4572          JMS I [TTYOUT
01661  1107          TAD [-100
01662  4567          JMS I [GTEXT
01663  5257          JMP ODTL
01664  4515  GETVAL, JMS I [GETNUM   /GET NEW CONTENTS
01665  5777          JMP I (TSTEOL   /NO NUMBER
01666  1031          TAD SIZE
01667  6211          CDF 10
01670  3672          DCA I PAGAD     /REPLACE THAT LOC.
01671  5536          JMP I [CONFIG   /AND GET OUT
01672  0000  PAGAD,  0

             /ALTER GROUPNAME,LOC=NEWVALUE
             /ALTER GROUPNAME,LOC
             /EXAMINE GROUPNAME,LOC

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 35

             /SIZE ACTNAM
             /SIZE ACTNAM=VALUE
             /DCB ACTNAM
             /DCB ACTNAM=VALUE
             /CTL ACTNAM
             /CTL ACTNAM=VALUE

01673  1376  SIZCM,  TAD (3          /SIZE COMMAND V3C
01674  1161  DCBCM,  TAD [-1         /EXAMINE DCB WORD
01675  1235  CTLCM,  TAD P2PAG       /EXAMINE CONTROL WORD
01676  3316          DCA PUTAT
01677  1316          TAD PUTAT
01700  3321          DCA LOOKAT
01701  4521          JMS I [TSTNAM   /GET A NAME
01702  4512          JMS I [ACTNAM   /IT MUST BE ACTIVE
01703  4565          JMS I [TEST
01704  7503  MEQL,   -"=;INPDCB
01705  1712
01706  4000          4000;EXAMDCB
01707  1720
01710  0000          0
01711  5522          JMP I [SYNTAX
01712  4515  INPDCB, JMS I [GETNUM
01713  5536          JMP I [CONFIG   /IGNORE = NOTHING
01714  1031          TAD SIZE
01715  4563          PUT
             XSWTCH,                 /0 MEANS ALTER, 1 MEANS EXAMINE
01716  0004  PUTAT,  DCB
01717  5536          JMP I [CONFIG   /THE USER LIVES DANGEROUSLY

01720  4562  EXAMDCB,GET
01721  0004  LOOKAT, DCB
01722  4341          JMS PUTNUM
01723  1104          TAD ["/
01724  4572          JMS I [TTYOUT
01725  1107          TAD [-100
01726  4567          JMS I [GTEXT
01727  5320          JMP EXAMDCB
01730  5312          JMP INPDCB      /NOW PARSE OFF THE REPLY

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 36

01731  4333  EXAM,   JMS EXAMSB
01732  5536          JMP I [CONFIG

01733  0000  EXAMSB, 0
01734  6211          CDF 10
01735  1672          TAD I PAGAD     /GET CURRENT CONTENTS
01736  6201          CDF 0
01737  4341          JMS PUTNUM      /PRINT IT
01740  5733          JMP I EXAMSB

01741  0000  PUTNUM, 0               /PRINT AN OCTAL NUMBER
01742  3362          DCA PTM
01743  1103          TAD [-4         /4 DIGITS
01744  3363          DCA PKNT
01745  1362  PLOOP,  TAD PTM
01746  7006          RTL
01747  7006          RTL
01750  0125          AND [7
01751  1375          TAD (60
01752  4572          JMS I [TTYOUT
01753  1362          TAD PTM
01754  7006          RTL
01755  7004          RAL
01756  3362          DCA PTM
01757  2363          ISZ PKNT
01760  5345          JMP PLOOP
01761  5741          JMP I PUTNUM
01762  0000  PTM,    0

             PKNT,
01763  0000  TSTNAM, 0
01764  4566          JMS I [GNAME    /COLLECT NAME
01765  1024          TAD NAME1       /IF NO NAME FOUND, GIVE ERROR
01766  7640          SZA CLA
01767  5763          JMP I TSTNAM
01770  4537  NAMERR, JMS I [PRWD
01771  7716          TEXT    /?NAME/
01772  0115
01773  0500
01774  5536          JMP I [CONFIG
01775  0060
01776  0003
01777  1210
       2000          PAGE

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 37

             /PRINT FUNCTION TYPES OUT THE STATUS OF BUILD ON COMMAND
             /AN * BESIDE A DEVICE INDICATES THAT IT IS CURRENTLY MARKED
             /FOR INSERTION IN THE SYSTEM BEING BUILT.

             TTY240,
02000  7240  PRINT,  STA
02001  3042          DCA OLDPAG      /SET ILLEGAL OLD PAGE
02002  4542          INIT
02003  2777          ISZ I (LINEUP   /MAKE THINGS LINE UP
02004  4541  PRLUP,  ADVDSC          /ADVANCE TO NEXT DESCRIPTOR
02005  4540          ADVBOT          /ADVANCE PAST A BOOTSTRAP (IF ANY)
02006  5246          JMP DONE        /ALL DONE
02007  4506          JMS I [GETPG    /GET PAGE OF NEW HANDLER
02010  3041          DCA NEWPAG
02011  1041          TAD NEWPAG
02012  7041          CIA
02013  1042          TAD OLDPAG      /COMPARE WITH LAST HANDLER'S PAGE
02014  7650          SNA CLA         /SAME?
02015  5224          JMP PRTPER      /YES
02016  4574          JMS I [CRLF     /NO, GO TO NEXT LINE
02017  1041          TAD NEWPAG
02020  3042          DCA OLDPAG
02021  4234          JMS PGNAME
02022  1200          TAD TTY240
02023  4572          JMS I [TTYOUT
02024  4562  PRTPER, GET             /GET ACTIVE BIT
02025  0006          ACTIVE
02026  7710          SPA CLA         /IS IT ACTIVE?
02027  1376          TAD ("*-STA     /YES, PRINT *
02030  1200          TAD TTY240      /NO, PRINT SPACE
02031  4572          JMS I [TTYOUT
02032  4326          JMS PNAME       /PRINT PERMANENT NAME
02033  5204          JMP PRLUP

02034  0000  PGNAME, 0
02035  4562          GET
02036  0000          GRPNM1
02037  4775          JMS I (PRINTE   /PRINT GROUP NAME
02040  4562          GET
02041  0001          GRPNM2
02042  4775          JMS I (PRINTE
02043  1374          TAD (":
02044  4572          JMS I [TTYOUT
02045  5634          JMP I PGNAME

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 38

02046  3777  DONE,   DCA I (LINEUP   /NO MORE LINE-UP
02047  1035          TAD DSKG1
02050  7650          SNA CLA
02051  5272          JMP TELCOR
02052  4574          JMS I [CRLF     /TELL GUY ABOUT 'DSK'
02053  4574          JMS I [CRLF
02054  4537          JMS I [PRWD
02055  0423          TEXT    /DSK=/
02056  1375
02057  0000
02060  1035          TAD DSKG1
02061  4775          JMS I (PRINTE
02062  1036          TAD DSKG2
02063  4775          JMS I (PRINTE
02064  1374          TAD (":
02065  4572          JMS I [TTYOUT
02066  1037          TAD DSKP1
02067  4775          JMS I (PRINTE
02070  1040          TAD DSKP2
02071  4775          JMS I (PRINTE
02072  1043  TELCOR, TAD NEWCOR
02073  7450          SNA
02074  5536          JMP I [CONFIG   /NO SPECIFIED CORE LIMIT
02075  4524          JMS I [ROTL
02076  1373          TAD (6000
02077  3305          DCA CORMSG+3
02100  4574          JMS I [CRLF
02101  4537          JMS I [PRWD
02102  0317  CORMSG, TEXT    /CORE= /
02103  2205
02104  7540
02105  0000
02106  5536          JMP I [CONFIG

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 39

             /QUICK PRINT

02107  4542  QLIST,  INIT
02110  4541  QLUP,   ADVDSC          /ADVANCE TO NEXT DESCRIPTOR
02111  4540          ADVBOT          /ADVANCE OVER ANY BOOTSTRAP IF NECESSARY
02112  5246          JMP DONE        /GO AWAY WHEN NO MORE
02113  4562          GET
02114  0006          ACTIVE          /GET ACTIVE BIT
02115  7700          SMA CLA         /IS IT ACTIVE?
02116  5310          JMP QLUP        /NO, IGNORE IT
02117  4562          GET             /YES
02120  0005          SYSBIT
02121  7004          RAL
02122  7710          SPA CLA         /IS IT 'SYS'?
02123  4234          JMS PGNAME      /YES, PRINT GROUP NAME TOO
02124  4326          JMS PNAME       /NO, PRINT PERMANENT NAME ONLY
02125  5310          JMP QLUP

             DT,
02126  0000  PNAME,  0
02127  4562          GET
02130  0002          PRMNM1
02131  4775          JMS I (PRINTE
02132  4562          GET
02133  0003          PRMNM2
02134  4775          JMS I (PRINTE
02135  1200          TAD TTY240
02136  4572          JMS I [TTYOUT
02137  5726          JMP I PNAME

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 40

       7760          DCBTBL=7760

02140  4535  WHAT,   JMS I [PRNAME
02141  4537          JMS I [PRWD
02142  7700          TEXT /?/        /FOR WHEN A COMMAND ERROR OCCURS
02143  5536          JMP I [CONFIG


02144  0000  DTYPE,  0               /RETURNS TYPE OF OUTPUT
02145  1372          TAD (DCBTBL-1
02146  3326          DCA DT          /ENTRY AC HAD DEVICE #
02147  6211          CDF 10
02150  1726          TAD I DT        /IF FILE DEVICE, LINK=0
02151  6201          CDF 0
02152  7044          CMA RAL         /ALSO, IF FILE AC=0 ON EXIT
02153  7204          CLA RAL
02154  5744          JMP I DTYPE

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 41

02155  0000  WRITCC, 0
02156  1123          TAD [-6         /PUT IN DATA BREAK FILLERS
02157  4505          JMS I [MOVE
02160  6201          CDF 0
02161  2240          K7750
02162  6201          CDF 0
02163  5750          PG7600+200+150
02164  1371          TAD (4200
02165  4502          JMS I [SYS      /WRITE NEW CCB
02166  0550          BLDCCB-200
02167  0037          37
02170  5755          JMP I WRITCC
02171  4200
02172  7757
02173  6000
02174  0272
02175  4622
02176  1012
02177  4704
       2200          PAGE

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 42

02200  4537  TOOMANY,JMS I [PRWD
02201  7710          TEXT    /?HANDLERS/
02202  0116
02203  0414
02204  0522
02205  2300
02206  5536          JMP I [CONFIG

02207  0000  GOTCHA, 0
02210  3777          DCA I (GOTEM
02211  1607          TAD I GOTCHA
02212  1033          TAD DSCPTR
02213  2207          ISZ GOTCHA
02214  3220          DCA GETEMP
02215  1777          TAD I (GOTEM
02216  3620          DCA I GETEMP
02217  5607          JMP I GOTCHA

02220  0000  GETEMP, 0               /TEMP FOR GOTCHA

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 43

02221  0000  TEST,   0               /TEST CHAR AGAINST ARGUMENTS
02222  1621          TAD I TEST      /PICK UP ARGUMENT FROM LIST
02223  7450          SNA             /0 TERMINATES
02224  5621          JMP I TEST
02225  1021          TAD CHAR        /SEE IF THEY COMPARE =
02226  0376          AND (3777       /COMPARE ONLY LOW ORDER, THUS ALLOWING '4000' TO MEAN '0'
02227  7650          SNA CLA
02230  5234          JMP TSTOVR      /THEY DO..DISPATCH TO TABLE
02231  2221          ISZ TEST
02232  2221          ISZ TEST
02233  5222          JMP TEST+1      /THEY DON'T. KEEP GOING
02234  2221  TSTOVR, ISZ TEST
02235  1621          TAD I TEST
02236  3022          DCA TEMP
02237  5422          JMP I TEMP

02240  7750  K7750,  7750            /DATA BREAK FILLERS
02241  7751          7751
02242  7752          7752
02243  7753          7753
02244  7754          7754
02245  7755          7755

02246  0000  SYS,    0               /SAVES A FEW WORDS IN SYSTEM CALLS
02247  3257          DCA SYCTL       /SAVE FUNCTION WORD
02250  1646          TAD I SYS
02251  3260          DCA SYBUF       /BUFFER BEING USED
02252  2246          ISZ SYS
02253  1646          TAD I SYS
02254  3261          DCA SYREC       /RECORD #
02255  2246          ISZ SYS         /THERE IS NO ERROR RETURN
             /IF SWAPER SET AND BOOTDV SET, USE SPECIAL BOOT HANDLER HERE
02256  4673  GO,     JMS I SYSENT
02257  0000  SYCTL,  0
02260  0000  SYBUF,  0
02261  0000  SYREC,  0
02262  7610          SKP CLA
02263  5646          JMP I SYS
02264  4537          JMS I [PRWD
02265  2331          TEXT    /SYS ERR/
02266  2340
02267  0522
02270  2200
02271  7402          HLT             /IF USER IS DARING, HIT CONTINUE TO RETRY
02272  5256          JMP GO

02273  7607  SYSENT, 7607

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 44

             /*****************
             /
             /       SYS HANDLER IS 2-PAGES LONG IF LOCATION 7612 IS A 3
             /
             /******************

02274  0000  CLRTBL, 0
02275  1101          TAD [BEGLIN
02276  3010          DCA XR1
02277  1177          TAD [-200       /ZERO OUT 5200-5377
02300  3023          DCA TMP1
02301  3410          DCA I XR1
02302  2023          ISZ TMP1
02303  5301          JMP .-2
02304  5674          JMP I CLRTBL

             /FOR HANDLER ONLY
02305  0000  ORGLIM, 0               /THIS ROUTINE MAKES CERTAIN THAT
02306  3274          DCA CLRTBL      /THE ORIGIN FOR LDABS IS WITHIN
02307  1274          TAD CLRTBL      /THE BOUNDS SPECIFIED BY SIZE
02310  1177          TAD [7600       /AND THE CONTENTS OF HNDPTR
02311  7510          SPA
02312  5333          JMP BADORG      /ORIGIN BELOW 200
02313  7041          CIA
02314  1167          TAD [400        /IS ORIGIN WITHIN UPPER BOUND?
02315  7710          SPA CLA
02316  5333          JMP BADORG
02317  1274          TAD CLRTBL
02320  1177          TAD [7600       /NOW GIVE BACK RELATIVE BUFFER
02321  1032          TAD HNDPTR      /ADDRESS IN FIELD 1
02322  3274          DCA CLRTBL
02323  1274          TAD CLRTBL
02324  0177          AND [7600
02325  1132          TAD [200
02326  7650          SNA CLA
02327  5775          JMP I (NOROOM   /CAN'T 'ORIGIN' INTO PAGE 7600
02330  1274          TAD CLRTBL
02331  6223          CIF CDF 20      /CALLED FROM FIELD 2
02332  5705          JMP I ORGLIM

02333  4537  BADORG, JMS I [PRWD
02334  7717          TEXT /?ORIGIN/
02335  2211
02336  0711
02337  1600
02340  5774          JMP I (OVROUT

             /SOMEWHERE TEST IF HE GAVE US A 2-PAGE BUT REQ A 1-PAGE

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 45

             /       PG7600_0
             /       BLOK66_66
             /       IF OLD SYS WAS 1 PAGE, BLOK66/L_PG7600/L

02341  0000  RECZRO, 0               /READS FIELD 1 CODE, EVEN FOR 12K TD8E
02342  1132          TAD [200
02343  4502          JMS I [SYS      /READ RECORD 0
02344  5400          PG7600
02345  0000          0               /THAT NORMALLY CONTAINS FIELD 1
02346  1373          TAD (210
02347  4502          JMS I [SYS      /READ RECORD 66
02350  0000          BLOK66
02351  0066          66
02352  1045          TAD FLAG2       /DID PREVIOUS SYSTEM HAVE A 2-PAGE HANDLER?
02353  7640          SZA CLA
02354  1177          TAD [-200       /NO
02355  4505          JMS I [MOVE     /YES
02356  6201          CDF 0
02357  5400          PG7600
02360  6211          CDF 10
02361  0000          BLOK66
02362  5741          JMP I RECZRO

02363  4537  NOTNUF, JMS I [PRWD
02364  7703          TEXT    /?CORE/
02365  1722
02366  0500
02367  5536          JMP I [CONFIG
02373  0210
02374  4726
02375  0730
02376  3777
02377  3147
       2400          PAGE

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 46

02400  4521  UNLOAD, JMS I [TSTNAM   /PULL OFF A NAME
02401  4520          JMS I [GRPNAM   /IT HAD BETTER BE A GROUP NAME
02402  4565          JMS I [TEST
02403  7506          -":;UNLPRM
02404  2411
02405  4000          4000;UNLGRP
02406  2423
02407  0000          0
02410  5522          JMP I [SYNTAX

02411  4777  UNLPRM, JMS I (SAVNAM   /UNLOAD PARTICULAR HANDLER
02412  4521  UNLNAM, JMS I [TSTNAM
02413  4517          JMS I [BIGNAM
02414  1033          TAD DSCPTR      /DELETE A SINGLE DESCRIPTOR
02415  3336          DCA SAVPTR      /DON(T DELETE HANDLER
02416  1033          TAD DSCPTR      /OR BOOTSTRAP
02417  1143          TAD [HDRSIZ     /NO RELOCATION NECESSARY
02420  3334          DCA LSTPTR
02421  1030          TAD TABLMT
02422  5330          JMP NOMOR

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 47

02423  4506  UNLGRP, JMS I [GETPG    /GET PAGE OF RESIDENCE
02424  3245          DCA TOMOV       /START OF HANDLER
02425  4562          GET
02426  0005          TWOPAG          /IS IT A 1- OR 2- PAGE HANDLER?
02427  7710          SPA CLA
02430  1132          TAD [200        /2 PAGE
02431  1132          TAD [200        /1 PAGE
02432  3353          DCA UNSIZE
02433  1245          TAD TOMOV       /DELETE HANDLER AND MOVE ALL FOLLOWING DOWN
02434  1353          TAD UNSIZE
02435  3243          DCA FROMOV      /GET FIRST LOCATION AFTER HANDLER
02436  1032          TAD HNDPTR      /GET NEXT FREE LOCATION FOR HANDLER
02437  7041          CIA
02440  1243          TAD FROMOV      /GET NUMBER OF LOCS TO MOVE
02441  4505          JMS I [MOVE
02442  6211          CDF 10
02443  0000  FROMOV, 0
02444  6211          CDF 10
02445  0000  TOMOV,  0               /UPDATE POINTERS; SEARCH DESCRIPTORS
02446  1353          TAD UNSIZE      /FOR REFS TO MOVED HANDLERS AND DECREASE
02447  7041          CIA             /THOSE REFS BY -UNSIZE
02450  1032          TAD HNDPTR
02451  3032          DCA HNDPTR      /FREES SOME BUFFER SPACE
02452  1030          TAD TABLMT
02453  3347          DCA OLDTOP      /REMEMBER ORIGINAL TOP OF STACK
02454  7240          STA             /BACK UP OVER GROUP COUNT
02455  1033          TAD DSCPTR
02456  3336          DCA SAVPTR      /REMEMBER THIS LOCATION
02457  1353          TAD UNSIZE
02460  4524          JMS I [ROTL
02461  7041          CIA
02462  3353          DCA UNSIZE
02463  1033          TAD DSCPTR
02464  1143          TAD [HDRSIZ
02465  3334          DCA LSTPTR      /'LSTPTR' POINTS TO FIRST DESCRIPTOR BEING MOVED

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 48

             /COMPRESS THE DESCRIPTORS ABOVE THIS ONE

02466  4541  ADV,    ADVDSC          /ADVANCE TO NEXT DESCRIPTOR
02467  5312          JMP BADV        /ENCOUNTERED A BOOTSTRAP RECORD
02470  5327          JMP NOMORE      /NO MORE, THROUGH
02471  4506  GT,     JMS I [GETPG    /GET PAGE OF THIS DESCRIPTOR
02472  7141          CLL CIA
02473  1245          TAD TOMOV       /COMPARE WITH PAGE OF DELETED HANDLER
02474  7650          SNA CLA
02475  5306          JMP SAMPAG      /THEY'RE THE SAME
02476  7430          SZL             /THEY'RE NOT THE SAME.  WHICH IS HIGHER?
02477  5266          JMP ADV         /IT WAS BELOW HANDLER.  NO SWEAT.
02500  4562          GET             /IT WAS ABOVE HANDLER, HAVE TO ACCOUNT FOR THIS
02501  0006          PAGRES          /POINT TO NEW HANDLER LOCATION
02502  1353          TAD UNSIZE
02503  4563          PUT
02504  0006          PAGRES
02505  5266          JMP ADV         /CONTINUE
02506  1143  SAMPAG, TAD [HDRSIZ
02507  1033          TAD DSCPTR
02510  3334          DCA LSTPTR      /NOTE LOCATION OF NEXT DESCRIPTOR
02511  5266          JMP ADV
             /ADVANCE PAST BOOTSTRAP OR DELETE IT AS NECESSARY
02512  1033  BADV,   TAD DSCPTR
02513  7041          CIA
02514  1334          TAD LSTPTR
02515  7640          SZA CLA         /IS THIS BOOT PART OF GROUP BEING UNLOADED?
02516  5324          JMP BDV         /NO
02517  1433          TAD I DSCPTR    /YES
02520  7041          CIA
02521  7001          IAC
02522  1033          TAD DSCPTR
02523  3334          DCA LSTPTR      /SET 'LSTPTR' TO BEGIN OF NEXT DESCRIPTOR
02524  4540  BDV,    ADVBOT          /ADVANCE OVER BOOTSTRAP
02525  5327          JMP NOMORE      /DONE
02526  5271          JMP GT          /GO ON TO NEXT DESCRIPTOR

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 49

             /ALL DESCRIPTORS FOR THE SAME HANDLER ARE CONSECUTIVE
             /MOVE DOWN DESCRIPTORS

02527  1347  NOMORE, TAD OLDTOP
02530  7041  NOMOR,  CIA
02531  1334          TAD LSTPTR      /MINUS # OF WORDS TO MOVE
02532  4505          JMS I [MOVE
02533  6201          CDF 0
02534  0000  LSTPTR, 0               /FIRST DESCRIPTOR NOT CONSIDERED
02535  6201          CDF 0
02536  0000  SAVPTR, 0               /POINTS TO INITIAL DESCRIPTOR BEING DELETED
02537  1334          TAD LSTPTR
02540  7041          CIA
02541  1336          TAD SAVPTR      /GET NUMBER OF WORDS DELETED
02542  1030          TAD TABLMT
02543  3030          DCA TABLMT      /UPDATE TABLMT
02544  3430          DCA I TABLMT    /MUST HAVE 0 AT TABLE END SO DON'T THINK IT'S A BOOTSTRAP
02545  4500          JMS I [COMMA
02546  5212          JMP UNLNAM

             OLDTOP,                 /ORIGINAL TOP OF DESCRIPTORS
02547  0000  INI,    0
02550  1376          TAD (DSCTAB-HDRSIZ
02551  3033          DCA DSCPTR
02552  5747          JMP I INI

       4542          INIT=JMS I [INI

             /RETURN TO CONFIG IF EOL, OR BACK IN-LINE IF COMMA

             UNSIZE,
02553  0000  COMMA,  0
02554  1021          TAD CHAR
02555  7450          SNA
02556  5536          JMP I [CONFIG
02557  1375          TAD (-",
02560  7650          SNA CLA
02561  5753          JMP I COMMA
02562  5522          JMP I [SYNTAX

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 50

02563  7640  BOOTQ,  SZA CLA         /MAY BE OVERLAID
02564  5370          JMP SAMEE
02565  3774          DCA I (DRECT    /DON'T TOUCH DIRECTORY IF DIDN'T COPY SYS
02566  4477  SAMF,   JMS I [SYSWP
02567  5773          JMP I (BOOT4
02570  4772  SAMEE,  JMS I (SYSCPY   /OR IF OLD DEV=NEW DEV
02571  5366          JMP SAMF
02572  4037
02573  4462
02574  3505
02575  7524
02576  6370
02577  1336
       2600          PAGE

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 51

02600  0000  LOCSYS, 0
02601  1377          TAD (2331       /"SY"
02602  3024          DCA NAME1
02603  1376          TAD (2300       /"S "
02604  3025          DCA NAME2
02605  3026          DCA NAME3       /V3C
02606  3027          DCA NAME4
02607  4512          JMS I [ACTNAM   /LOOK UP 'SYS'
02610  5600          JMP I LOCSYS

02611  4537  NOSLOT, JMS I [PRWD
02612  7723          TEXT    /?SLOTS/
02613  1417
02614  2423
02615  0000
02616  5536          JMP I [CONFIG

02617  0000  GOOD,   0
02620  1176          TAD [4207       /RESTORE 7600 TO NORMAL
02621  3577          DCA I [7600
02622  1077          TAD [5000
02623  3476          DCA I [7601
02624  1375          TAD (CDF CIF
02625  3475          DCA I [SA       /SET SA=00200
02626  1132          TAD [200
02627  3774          DCA I (SA+1
02630  3773          DCA I (JSW      /SET JOB STATUS WORD=0
02631  7240          STA
02632  3772          DCA I (DRECT
02633  7346          CLL STA RTL     /-3
02634  1474          TAD I [7612     /FUDGE FOR 12K TD8E
02635  3045          DCA FLAG2       /SET FLAG2=0 IF PREV SYSTEM WAS 2 PAGE
02636  5617          JMP I GOOD

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 52

02637  2263  PACK,   ISZ PROTECT     /OK TO PACK IT?
02640  5244          JMP PACKOK      /YES
02641  7240          STA
02642  3263          DCA PROTECT     /INHIBIT OTHER PACKS ALSO
02643  5323          JMP GNAME2
02644  2264  PACKOK, ISZ SWIT        /PACK LEFT OR RIGHT
02645  5253          JMP RIGHT
02646  1021          TAD CHAR
02647  0113          AND [77
02650  4524          JMS I [ROTL     /ROTATE 6 LEFT
02651  3422          DCA I TEMP      /STORE THE CHARACTER
02652  5323          JMP GNAME2
02653  7240  RIGHT,  CLA CMA         /RESET FLIP FLOP
02654  3264          DCA SWIT
02655  1021          TAD CHAR
02656  0113          AND [77
02657  1422          TAD I TEMP
02660  3422          DCA I TEMP
02661  2022          ISZ TEMP        /POINT TO NEXT WORD
02662  5323          JMP GNAME2
02663  0000  PROTECT,0               /-1 MEANS DON'T ACCEPT CHAR, IGNORE IT
02664  0000  SWIT,   0


02665  0000  ACTNAM, 0               /THEY MUST BE ACTIVE
02666  7201          CLA IAC
02667  4771          JMS I (PRMNAM
02670  5665          JMP I ACTNAM

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 53

02671  7240  DOT,    CLA CMA
02672  3264          DCA SWIT
02673  1370          TAD (-3         /NOW ALLOW ONLY A 2-CHAR EXTENSION
02674  3263          DCA PROTECT
02675  1367          TAD (NAME4
02676  3022          DCA TEMP
02677  2302          ISZ DOTCNT      /HAD WE SEEN A DOT BEFORE?
02700  5350          JMP SYNTAX      /YES
02701  5323          JMP GNAME2      /NO

02702  7777  DOTCNT, -1              /-1 MEANS HAVEN'T SEEN A DOT

02703  3021  EOL,    DCA CHAR
02704  5705          JMP I GNAME

02705  0000  GNAME,  0               /COLLECT A WORD IN NAME1-NAME4
                                     /LEAVE DELIMITING CHAR IN 'CHAR'
02706  6201          CDF 0
02707  1073          TAD [-7         /MAX 6 CHARACTERS
02710  3263          DCA PROTECT
02711  3024          DCA NAME1       /FIRST CLEAR OUT COLLECTION AREA
02712  3025          DCA NAME2
02713  3026          DCA NAME3
02714  3027          DCA NAME4
02715  7240          CLA CMA
02716  3264          DCA SWIT        /L-R PACKING SWITCH
02717  7240          STA
02720  3302          DCA DOTCNT      /ALLOW ONLY ONE DOT PER NAME
02721  1366          TAD (NAME1
02722  3022          DCA TEMP
02723  4550  GNAME2, GETCHR
02724  7450          SNA             /A 0 ENDS THE SEARCH
02725  5303          JMP EOL
02726  3021          DCA CHAR
02727  1021          TAD CHAR
02730  1365          TAD (-"A        /GET ONLY A-Z OR 0-9
02731  7100          CLL
02732  1373          TAD ("A-"Z-1
02733  7620          SNL CLA         /IS IT A-Z?
02734  5237          JMP PACK        /YES..PACK IT AWAY
02735  1021          TAD CHAR
02736  1364          TAD (-"0
02737  7100          CLL
02740  1363          TAD ("0-"9-1
02741  7620          SNL CLA
02742  5237          JMP PACK        /FOUND 0-9
02743  4565          JMS I [TEST     /TEST FOR DELIMITING CHARS
02744  7522          -".;DOT         /ADVANCE POINTERS
02745  2671
02746  0000          0
02747  5705          JMP I GNAME

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 54

02750  4537  SYNTAX, JMS I [PRWD
02751  7723          TEXT /?SYNTAX/
02752  3116
02753  2401
02754  3000
02755  5536          JMP I [CONFIG

02756  4537  DSKBAD, JMS I [PRWD
02757  7704          TEXT    /?DSK/
02760  2313
02761  0000
02762  5536          JMP I [CONFIG

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 55

       5260          SRES=BEGLIN+60  /RESIDENCY TABLE
       5300          SDCB=BEGLIN+100 /DCB
       5320          SHND=BEGLIN+120 /SLOT ASSSIGNED?
       5340          SNAME=BEGLIN+140/NAME
       5360          SBUFF=BEGLIN+160/ADDRESS OF HANDLER


             /       SYSTEM TABLES:

             /THOSE IN USR:

             /PDNT   PERMANENT DEVICE NAME TABLE     (SNAME)
             /       POINTED TO BY LOCATION 10036 IN USR
             /       CONTAIN HASH CODE OF DEVICE NAME
             /       ADD TWO WORDS OF NAME TOGETHER AND TURN ON BIT 0
             /       IF SECOND WORD WAS NON-ZERO
             /       AN ENTRY OF 0 MEANS THERE IS NO DEVICE FOR THAT ENTRY

             /DHIT   DEVICE HANDLER INFORMATION TABLE        (SHND)
             /       POINTED TO BY LOCATION 10037 IN USR
             /       BIT 0           =1 IF THIS IS A TWO-PAGE HANDLER
             /       BITS 1-4        RELATIVE BLOCK LOCATION OF HANDLER ON SYSTEM DEVICE
             /                       (BLOCK SLOT).  ADD 15 TO GET ACTUAL BLOCK #.
             /       BITS 5-11       RELATIVE ENTRY POINT OF HANDLER


             /DHRT   DEVICE HANDLER RESIDENCY TABLE  (SRES)
             /       IN LOCATIONS 17647-17665
             /       ACTUAL ENTRY POINT OF HANDLER
             /       WE ONLY CARE ABOUT IT IF THE HANDLER IS RESIDENT.
             /       OTHERWISE IT'S ZERO.
             /       THE SYSTEM HANDLER AND ALL HANDLERS CORESIDENT WITH
             /       IT ARE ALWAYS RESIDENT IN CORE AND HAVE THIS ENTRY NON-0.


             /DCWT   DEVICE CONTROL WORD TABLE       (SDCB)
             /       RESIDES IN LOCATIONS 17760-17776
             /       BIT 0           1 IF DEVICE IS FILE STRUCTURED
             /       BIT 1           1 IF THE DEVICE IS READ ONLY
             /       BIT 2           1 IF THE DEVICE IS WRITE-ONLY
             /       BITS 3-8        PHYSICAL DEVICE TYPE
             /       BITS 9-11       DIRECTORY BLOCK # (WE SET TO 0)

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 56

             /PRE-ASSIGNED DEVICE TYPES

             /0      TELETYPE
             /1      HIGH SPEED PAPER TAPE READER
             /2      HIGH SPEED PAPER TAPE PUNCH
             /3      CARD READER
             /4      LINE PRINTER (ANY TYPE)
             /5      RK8 DISK
             /6      RF08 (1 PLATTER)
             /7      RF08 (2 PLATTERS)
             /10     RF08 (3 PLATTERS)
             /11     RF08 (4 PLATTERS)
             /12     DF32 (1 PLATTER)
             /13     DF32 (2 PLATTERS)
             /14     DF32 (3 PLATTERS)
             /15     DF32 (4 PLATTERS)
             /16     TC08 DECTAPE
             /17     LINCTAPE
             /20     TM8E MAGTAPE
             /21     TD8E DECTAPE (12K OR ROM)
             /22     BAT:
             /23     RK8E DISK
             /27     TU60 CASSETTES
             /30     VR12 (PDP-12 SCOPE)
02763  7766
02764  7520
02765  7477
02766  0024
02767  0027
02770  7775
02771  0662
02772  3505
02773  7746
02774  7745
02775  6203
02776  2300
02777  2331
       3000          PAGE

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 57

03000  1377  BOOT2A, TAD (15
03001  3034          DCA SLOT        /START ASSIGNING AT BLOCK SLOT 16 (16-25)
03002  1376          TAD (-17        /ALLOW 16 ACTIVE HANDLERS NOT COUNTING DSK
03003  3020          DCA COUNT
03004  4775          JMS I (CLRTBL   /CLEAR OUT IN-CORE TABLES
03005  1374          TAD (SHND+1     /ASSIGN SLOTS, COUNT ACTIVE HANDLERS
03006  3010          DCA XR1         /XR1 POINTS TO SLOT TABLE (DHIT)
03007  1373          TAD (SDCB+1
03010  3011          DCA XR2         /XR2 POINTS TO DCB TABLE
03011  1372          TAD (SNAME+1
03012  3012          DCA XR3         /XR3 POINTS TO PERMANENT DEVICE NAME TABLE
03013  1371          TAD (SBUFF+1
03014  3013          DCA XR4         /XR4 POINTS TO HANDLER BUFFER ADDRESSES
03015  1370          TAD (SRES+1
03016  3014          DCA XR5         /XR5 POINTS TO RESIDENCY TABLE
03017  7201          CLA IAC         /??
03020  3042          DCA OLDPAG      /SET 'OLDPAG' TO A RIDICULOUS VALUE
03021  4542          INIT
03022  4541  SLTLUP, ADVDSC          /GO TO NEXT DESCRIPTOR
03023  4540          ADVBOT          /ADVANCING OVER ANY BOOTSTRAPS
03024  5234          JMP BOOT2X      /ALL DONE CREATING INTERNAL COPIES OF TABLES
03025  4562          GET
03026  0006          ACTIVE
03027  7700          SMA CLA         /IS IT ACTIVE?
03030  5326          JMP INACT       /NO
03031  2020          ISZ COUNT       /YES, UPDATE COUNT
03032  5256          JMP ACTIV
03033  5767          JMP I (TOOMANY  /TOO MANY ACTIVE HANDLERS

             BOOT2X,/        TAD I (SNAME    /SEE IF SYS WAS SPECIFIED
             /       DCA SAMSYS      /0 IF DIDN'T SPECIFY NEW SYS
             /       TAD SAMSYS
             /       SZA CLA
             /       JMP CHKDSK
             /       CDF 10
             /       TAD I (7760     /DIDN'T SPECIFY SYS SO USE CURRENT SYS
             /       CDF 0
             /       DCA I (SDCB
             /       TAD (7607
             /       DCA I (SRES
             /CHKDSK,        TAD DSKG1       /WAS DSK SPECIFIED?
             /       SZA CLA
             /       JMP I (BOOT3    /YES, ALREADY SET UP
             /       TAD I (SDCB
             /       DCA I (SDCB+1
             /       TAD (7607
             /       DCA I (SRES+1
             /       DCA I (SBUFF+1
03034  5766          JMP I (BOOT3

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 58

03035  0000  CHKRES, 0
03036  4506          JMS I [GETPG    /GET PAGE OF RESIDENCE
03037  3041          DCA NEWPAG
03040  1041          TAD NEWPAG
03041  1042          TAD OLDPAG
03042  7650          SNA CLA         /SAME OR PREVIOUS PAGE?
03043  5635          JMP I CHKRES    /YES, SAME PAGE
03044  2235          ISZ CHKRES
03045  4562          GET             /NO, A NEW PAGE, NEEDS NEW SLOT, ETC.
03046  0005          CORES
03047  7006          RTL             /GET CORES BIT
03050  7710          SPA CLA         /IS THIS ALLOWED TO START A NEW GROUP?
03051  5765          JMP I (TWOSYS   /NO, IT MAY ONLY BE CORESIDENT WITH SOMETHING EARLIER
03052  1041          TAD NEWPAG      /YES
03053  7041          CIA
03054  3042          DCA OLDPAG      /GOT NEW 'OLDPAG'
03055  5635          JMP I CHKRES

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 59

03056  4235  ACTIV,  JMS CHKRES
03057  5343          JMP SAMPG
03060  4562          GET
03061  0005          SYSBIT
03062  7004          RAL
03063  7710          SPA CLA         /IS IT A 'SYS' HANDLER?
03064  5764          JMP I (SETSY    /YES
03065  4763          JMS I (GETSLOT  /NO
03066  4762          JMS I (SETSLT   /SET BLOCK SLOT
03067  3410          DCA I XR1
03070  1041          TAD NEWPAG
03071  3413  HNDLOC, DCA I XR4       /STORE AWAY ADDRESS OF HANDLER (OR 0 IF PREVIOUSLY USED)
03072  4761          JMS I (GETDCB
03073  3411          DCA I XR2       /SET DCB
03074  4562          GET             /HASH CODE NAME
03075  0003          PRMNM2
03076  3022          DCA TEMP        /SAVE 2ND WORD
03077  4562          GET
03100  0002          PRMNM1
03101  1022          TAD TEMP        /ADD 2 WORDS
03102  3023          DCA TMP1        /SAVE SUM
03103  1022          TAD TEMP
03104  7650          SNA CLA         /WAS 2ND WORD 0?
03105  5312          JMP NO4C        /YES
03106  1023          TAD TMP1        /NO, FORCE BIT 0 ON
03107  7004          RAL
03110  7130          STL RAR
03111  3023          DCA TMP1
03112  1023  NO4C,   TAD TMP1        /TAKE CODED NAME
03113  3412          DCA I XR3       /SET PERMANENT NAME TABLE
03114  4562          GET
03115  0005          CORES
03116  7006          RTL             /GET CORESIDENT BIT
03117  7700          SMA CLA         /IS IT RESIDENT?
03120  5325          JMP NORE        /NO
03121  4562          GET             /YES
03122  0005          ENTPT           /GET RELATIVE ENTRY POINT
03123  0110          AND [177
03124  1177          TAD [7600       /CORESIDENT ENTRY POINTS TO SYS MUST BE ON PAGE 7600
03125  3414  NORE,   DCA I XR5       /SET RESIDENCY TABLE
03126  4562  INACT,  GET             /BUT MAYBE IT'S 'DSK'
03127  0006          DSKBIT
03130  7006          RTL
03131  7620          SNL CLA         /IS IT DSK?
03132  5222          JMP SLTLUP      /NO, IT'S TO BE IGNORED
03133  4760          JMS I (SLOTDSK  /YES ASSIGN 'DSK''S LOCATION SLOT
03134  4562          GET             /GET RID OF DSK BIT
03135  0006          DSKBIT
03136  7006          RTL
03137  7112          CLL RTR
03140  4563          PUT
03141  0006          DSKBIT
03142  5222          JMP SLTLUP      /REITERATE

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 60

03143  1034  SAMPG,  TAD SLOT        /ALREADY HAVE SLOT
03144  4762          JMS I (SETSLT
03145  3410          DCA I XR1
03146  5271          JMP HNDLOC

             GOTEM,
03147  0000  CORE,   0
03150  1561          TAD I [7777
03151  0072          AND [70
03152  7112          CLL RTR
03153  7010          RAR
03154  7450          SNA
03155  4757          JMS I (RELCOR
03156  5747          JMP I CORE
03157  0326
03160  3262
03161  3242
03162  3331
03163  3200
03164  3311
03165  1224
03166  3506
03167  2200
03170  5261
03171  5361
03172  5341
03173  5301
03174  5321
03175  2274
03176  7761
03177  0015
       3200          PAGE

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 61

             /       STEPS IN BOOTSTRAPPING:

             /1.     ASSIGN DSK, IF SPECIFIED, MAKE SURE NFS         [BOOT2]
             /2.     ASSIGN SLOTS                                    [BOOT2A]
             /3.     GIVE ERROR IF TOO MANY ACTIVE OR TOO MANY SLOTS [BOOT2A]
             /4.     BUILD INTERNAL COPIES OF DCB, SLOT, NAME, RES   [BOOT2A]
             /5.     ALSO BUILD HANDLER ADDRESS TABLE, CONTAINS      [BOOT2A]
             /       HANDLER ADDRESS IF NOT PREVIOUSLY WRITTEN OUT
             /6.     COMPARE DCB'S OF NEW AND OLD SYSTEM, IF DIFF,   [BOOT3]
             /       COPY SYSTEM OVER.  LEAVE NEW SYSTEM HANDLER
             /       IN CORE
             /7.     ASK GUY ABOUT NEW DIRECTORY                     [BOOT4]
             /8.     READ IN USR, UPDATE ITS TABLES, WRITE OUT USR   [BOOTC]
             /       NAME TABLE, DHIT (SLOT, 2-PAGE,ENTPT)
             /9.     READ IN CURRENT PAGE 7600 IMAGES                [BOOT5]
             /       SET UP AS FOLLOWS:
             /       PG7600/L:       BOOT
             /       PG7600/H:       07600 IMAGE
             /       BLOK66/L:       17600 IMAGE
             /       BLOK66/U:       27600 IMAGE
             /       THIS IS ACCOMPLISHED VIA:
             /       PG7600_0
             /       BLOK66_66
             /       IF OLD SYS WAS 1 PAGE, BLOK66/L_PG7600/L
             /10.    MOVE DCB AND RESIDENCY TABLES INTO 17600 IMAGE  [BOOT6]
             /11.    MOVE BOOTSTRAP INTO PAGE 7600 IMAGES (2 PLACES) [BOOT7]
             /12.    WRITE OUT HANDLERS                              [BOOT8]
             /13.    ZERO DIRECTORY IF REQUESTED                     [BOOTD]
             /14.    PUT SYS, DATA BREAK, CORE LIM IN 07600 IMAGE    [BOOTE]
             /15.    WRITE 7600 IMAGES BACK OUT ONTO TAPE            [BOOTF]
             /       IF NEW SYS IS 1-PAGE, PG7600/L_BLOK66/L
             /       0_PG7600
             /       66_BLOK66
             /16.    READ BACK PAGE 7600 IMAGES.  MOVE IN FIELD 1 STUFF
             /       EXCEPT FOR CD AREA, RESTORE TODAY'S DATE,
             /       BRANCH TO 7600

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 62

03200  0000  GETSLOT,0
03201  2034          ISZ SLOT        /USE NEXT SLOT
03202  1034          TAD SLOT
03203  1377          TAD (-26
03204  7650          SNA CLA
03205  5776          JMP I (NOSLOT
03206  1034          TAD SLOT
03207  5600          JMP I GETSLOT

03210  2775  BOOT,   ISZ I (RETSW    /***?
03211  7201          CLA IAC
03212  3774          DCA I (BD       /DISABLE 'BUILD' CMD
             /SEE IF ARGUMENT WAS GIVEN; TREAT IT AS BOOT DEVICE,
             /SAVE HANDLER ADDRESS (MUST BE AN ACTIVE HANDLER)
03213  4773          JMS I (LOCSYS   /IN CASE DSK=SYS
             /       JMS I [GETNUM
             /       NOP
             /       TAD SIZE
             /       DCA BOOTDV      /CHECK THAT # IS GT 7600
03214  1035  BOOT2,  TAD DSKG1       /FIND OUT ABOUT 'DSK'
03215  7450          SNA
03216  5227          JMP GOTD        /DSK=SYS
03217  3002          DCA SAV1
03220  1036          TAD DSKG2
03221  3003          DCA SAV2
03222  1037          TAD DSKP1
03223  3024          DCA NAME1
03224  1040          TAD DSKP2
03225  3025          DCA NAME2
03226  4517          JMS I [BIGNAM   /FIND IT IN TABLES
03227  4562  GOTD,   GET
03230  0004          DCB
03231  7700          SMA CLA         /IS IT FILE-STRUCTURED?
03232  5772          JMP I (DSKBAD   /NO
03233  4562          GET             /YES
03234  0006          DSKBIT
03235  7006          RTL
03236  7132          STL RTR         /TURN ON BIT 1
03237  4563          PUT
03240  0006          DSKBIT
03241  5771          JMP I (BOOT2A

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 63

03242  0000  GETDCB, 0
03243  4562          GET
03244  0006          PLATNUM
03245  4524          JMS I [ROTL
03246  0125          AND [7          /GET # OF PLATTERS
03247  7450          SNA
03250  7001          IAC             /0 MEANS 1
03251  1161          TAD [-1         /SUBTRACT 1
03252  7106          CLL RTL
03253  7004          RAL             /TIMES 10
03254  3023          DCA TMP1
03255  4562          GET
03256  0004          DCB
03257  0071          AND [7770       /MASK OFF USEFUL INFO
03260  1023          TAD TMP1
03261  5642          JMP I GETDCB

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 64

03262  0000  SLOTDSK,0
03263  4770          JMS I (CHKRES
03264  5326          JMP SMPG
03265  1041          TAD NEWPAG
03266  3767          DCA I (SBUFF+1
03267  4200          JMS GETSLOT
03270  4331          JMS SETSLT
03271  3766  B,      DCA I (SHND+1
03272  4242          JMS GETDCB
03273  3765          DCA I (SDCB+1
03274  1364          TAD (5723       /'DSK' HASHED
03275  3763          DCA I (SNAME+1
03276  4562          GET
03277  0005          SYSBIT
03300  7006          RTL             /SYSBIT TO L, CORES BIT TO AC0
03301  7720          SNL SMA CLA     /IS IT EITHER SYS OR CORESIDENT WITH SYS?
03302  5307          JMP NORE2       /NO, SO IT'S NOT CORE-RESIDENT
03303  4562          GET             /YES, RESIDENT AT ALL TIMES IN 07600
03304  0005          ENTPT
03305  0110          AND [177
03306  1177          TAD [7600
03307  3762  NORE2,  DCA I (SRES+1
03310  5662          JMP I SLOTDSK

03311  1041  SETSY,  TAD NEWPAG
03312  3761          DCA I (SBUFF
             /       JMS SETSLT      /NO BLOCK SLOT
03313  3760          DCA I (SHND
03314  4242          JMS GETDCB
03315  3757          DCA I (SDCB     /SET DCB
03316  1756          TAD I (SNAME
03317  7640          SZA CLA
03320  5755          JMP I (TWOSYS
03321  1354          TAD (4631       /HASH CODING FOR 'SYS'
03322  3756          DCA I (SNAME
             /CHECK THAT NAME IS 'SYS'
03323  1070          TAD [7607
03324  3753          DCA I (SRES
             /CHECK REL ENTRY PT IS 7
03325  5752          JMP I (INACT

03326  1034  SMPG,   TAD SLOT
03327  4331          JMS SETSLT
03330  5271          JMP B

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 65

03331  0000  SETSLT, 0
03332  7450          SNA
03333  5336          JMP .+3
03334  1067          TAD [-15
03335  4514          JMS I [ROTR
03336  3023          DCA TMP1
03337  4562          GET             /
03340  0005          CORES           /
03341  7006          RTL             /
03342  7730          SPA SZL CLA     /
03343  5731          JMP I SETSLT    /SYS &CORES HANDLERS GET 0 ENTRY (UNFORTUNATELY)
03344  4562          GET
03345  0005          ENTPT
03346  0351          AND (4177
03347  1023          TAD TMP1
03350  5731          JMP I SETSLT


03351  4177
03352  3126
03353  5260
03354  4631
03355  1224
03356  5340
03357  5300
03360  5320
03361  5360
03362  5261
03363  5341
03364  5723
03365  5301
03366  5321
03367  5361
03370  3035
03371  3000
03372  2756
03373  2600
03374  0302
03375  5165
03376  2611
03377  7752
       3400          PAGE

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 66

       0013          USRBLK=13       /BLOCK OF USR ON SYSTEM DEVICE
       0036          USRNPT=36       /POINTS TO USR PTR TO PERMANENT DEVICE NAME TABLE
       0037          USRHPT=37       /POINTS TO USR PTR TO DEVICE HANDLER INFORMATION TABLE

03400  1132  BOOTC,  TAD [200        /READ FIRST BLOCK OF USR
03401  4502          JMS I [SYS
03402  5400          BUFFER          /INTO BUFFER
03403  0013          USRBLK
03404  1466          TAD I [BUFFER+USRNPT    /GET POINTER TO NAME TABLE
03405  1077          TAD [BUFFER-400 /ADD IN OFFSET FOR RELOCATION
03406  3223          DCA T1AD        /ASSUME BOTH TABLES OCCUR IN THE SECOND
03407  1465          TAD I [BUFFER+USRHPT    /BLOCK OF THE USR
03410  1077          TAD [BUFFER-400
03411  3231          DCA T2AD        /GET POINTER TO DHIT
03412  1167          TAD [400        /READ BLOCKS 2 AND 3 OF USR
03413  4502          JMS I [SYS      /INTO BUFFER,BINARY
03414  5400          BUFFER
03415  0014          USRBLK+1
03416  1064          TAD [-17
03417  4505          JMS I [MOVE     /MOVE IN PERMANENT DEVICE NAME TABLE
03420  6201          CDF 0
03421  5340          SNAME
03422  6201          CDF 0
03423  7402  T1AD,   HLT
             /       TAD SAMSYS      /WAS SYS SPECIFIED?
             /       SZA CLA
             /       JMP CHKD2       /YES
             /       TAD I T2AD      /NO, USE CURRENT SYS INFO
             /       DCA I (SHND
             /CHKD2, TAD DSKG1
             /       SZA CLA         /WAS DSK SPECIFIED?
             /       JMP MVSHND      /YES
             /       TAD I T2AD      /MAKE SAME AS SYS
             /       DCA I (SHND+1
03424  1064  MVSHND, TAD [-17        /NOW PUT IN SLOT WORDS (DHIT)
03425  4505          JMS I [MOVE
03426  6201          CDF 0
03427  5320          SHND
03430  6201          CDF 0
             TMP2,
03431  7402  T2AD,   HLT
03432  1105          TAD [4400       /RE-WRITE USR
03433  4502          JMS I [SYS
03434  5400  L5400,  BUFFER
03435  0014          USRBLK+1
03436  5463          JMP I [BOOT5
                     IFNZRO BUFFER-5400 <ERRRR,XX>

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 67

03437  1305  BOOTD,  TAD DRECT       /WANT NEW DIRECTORY?
03440  7650  SNACLA, SNA CLA
03441  5246          JMP BOOTE
03442  1234          TAD L5400       /YEP. WRITE ONE
03443  4502          JMS I [SYS
03444  4157          DPROPR
03445  0001          1
03446  1043  BOOTE,  TAD NEWCOR
03447  7104          CLL RAL
03450  7006          RTL
03451  1047          TAD SAVHID      /V3D SET NEW H.O. DATE WORD
03452  3561          DCA I [7777     /SET UP NEW CORE LIMIT
03453  1357          TAD SYSLOC      /MOVE IN FRESH COPY OF SYS HANDLER
03454  1125          TAD [7
03455  3261          DCA SYSL2
03456  1062          TAD [7607-7743-1
03457  4505          JMS I [MOVE
03460  6211          CDF 10
03461  7402  SYSL2,  HLT
03462  6201          CDF 0
03463  7607          7607
03464  1177          TAD [-200       /PUT SYS HANDLER INTO REC 0 BUFF. ???
03465  4505          JMS I [MOVE
03466  6201          CDF 0
03467  7600          7600
03470  6201          CDF 0
03471  5600          PG7600+200      /RESIDENT F0 CODE
03472  4777          JMS I (WRITCC   /WRITE CCB AND DATA BREAK FILLERS
03473  1132          TAD [200
03474  1357          TAD SYSLOC      /MOVE IN COPY OF 27600 AGAIN
03475  3301          DCA SYSL3
03476  1177          TAD [-200
03477  4505          JMS I [MOVE
03500  6211          CDF 10
03501  7402  SYSL3,  HLT
03502  6211          CDF 10
03503  0200          BLOK66+200
03504  5776          JMP I (BOOTF

03505  7777  DRECT,  -1              /1 MEANS WRITE A ZERO DIRECTORY
                                     /0 MEANS DON'T TOUCH DIRECTORY
                                     /-1 MEANS ASK GUY FOR OPTION

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 68

             /SEE IF NEW SYSTEM HAS SAME DCB AS CURRENT SYSTEM
             /THIS MAY WELL CAUSE EXTRA I/O WHEN GOING FROM RF08=K TO RF08=M

03506  6211  BOOT3,  CDF 10
03507  1775          TAD I (DATEWD
03510  3044          DCA SAVDAT      /SAVE TODAY'S DATE FOR FUTURE REFERENCE
03511  1774          TAD I (DCBTBL   /GET DCB OF CURRENT SYSTEM
03512  6201          CDF 0
03513  0071          AND [7770
03514  3231          DCA TMP2
03515  4773          JMS I (PATCH    /V3D
03516  1361          TAD SAVLOC      /DON'T COPY IF DID 'BUILD'
03517  7650          SNA CLA         /WAS THE 'BU' COMMAND USED?
03520  1071          TAD [-10        /NO, USE 'SZA CLA'
03521  1240          TAD SNACLA      /YES, USE 'SNA CLA'
03522  3772          DCA I (BOOTQ
03523  4330          JMS SETUPSYS
03524  1046          TAD SYSDCB
03525  7041          CIA
03526  1231          TAD TMP2
03527  5772          JMP I (BOOTQ

             /NOTE: THIS PROCEDURE DOESN'T COPY BOOTSTRAP IF NEW DEV=OLD DEV.
             /       THEREFORE YOU CAN'T CHANGE BOOTSTRAPS
             /       CHECK ON AFFECT FOR TD8E/ROM INTERACTION

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 69

03530  0000  SETUPSYS,0
03531  3361          DCA SAVLOC
03532  1361          TAD SAVLOC
03533  3771          DCA I (SAVLC
03534  4770          JMS I (LOCSYS
03535  4506          JMS I [GETPG    /GET PAGE OF SYS HANDLER
03536  3357          DCA SYSLOC      /PAGE OF START OF NEW SYSTEM HANDLER
03537  4767          JMS I (GETDCB
03540  3046          DCA SYSDCB
03541  4766          JMS I (GETLEN
03542  4562          GET
03543  0005          TWOPAG
03544  3765          DCA I (SYSSIZ
03545  1765          TAD I (SYSSIZ
03546  7700          SMA CLA         /IS IT 1- OR 2-PAGES?
03547  5354          JMP ONEPG       /GUESS WHAT THIS MEANS [HINT LOOK AT LABEL]
03550  7240          STA
03551  1764          TAD I (AMTCOR
03552  7650          SNA CLA
03553  5763          JMP I (NOTNUF   /WE CAN'T RUN IN 8 K
03554  1160  ONEPG,  TAD [-400
03555  4505          JMS I [MOVE
03556  6211          CDF 10
03557  7402  SYSLOC, HLT             /MOVE SYSTEM HANDLER
03560  6211          CDF 10
03561  0000  SAVLOC, 0               /TO 10000-10377
03562  5730          JMP I SETUPSYS
03563  2363
03564  5067
03565  4273
03566  4132
03567  3242
03570  2600
03571  5070
03572  2563
03573  4552
03574  7760
03575  7666
03576  4322
03577  2155
       3600          PAGE

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 70

03600  0000  FIRST,  0               /SUBROUTINE FOR LDABS IN FIELD 2
03601  1213          TAD KLUD
03602  3214          DCA NEWLIM
03603  6223          CIF CDF 20
03604  5600          JMP I FIRST

             /0:     LOADING OS/8
             /-2:    LOADING HEADER OF HANDLER
             /-1:    LOADING HANDLER

03605  6221  HND,    CDF 20          /DATA FIELD 2
03606  1777          TAD I (ORIGIN
03607  3213          DCA KLUD
03610  1030          TAD TABLMT
03611  6223          CIF CDF 20              /BACK TO FIELD 2
03612  5776          JMP I (ORI

03613  0000  KLUD,   0
03614  0000  NEWLIM, 0               /NEW END OF DESCRIPTORS


03615  7240  OK,     STA             /NOW USE ORIGIN TO TELL US HOW BIG A
03616  6221          CDF 20
03617  1777          TAD I (ORIGIN   /HANDLER WAS LOADED
03620  6201          CDF 00          /BACK TO OUR FIELD
03621  0177          AND [7600
03622  1132          TAD [200        /REMEMBER THAT ORIGIN IS ONE GREATER
03623  3032          DCA HNDPTR      /THAN ACTUAL LAST LOCATION.
                                     /BETTER TO USE 2-PAGE BIT
03624  1214          TAD NEWLIM
03625  3030          DCA TABLMT      /SET NEW TABLE TOP
03626  3430          DCA I TABLMT    /NEED 0 AT END
03627  4500          JMS I [COMMA
03630  5775          JMP I (LOAD



03631  6212  NMER,   CIF 10          /V3C
03632  4532          JMS I [200      /DISMISS USR FROM CORE
03633  0011          11
03634  5774          JMP I (NAMERR


/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 71

03635  0000  IOPEN,  0               /PREPARE TO READ INPUT
03636  7240          CLA CMA
03637  3773          DCA I (CHCNT
03640  1772          TAD I (JMPX     /RESTORE SWITCH
03641  3771          DCA I (JMPGET
03642  1770          TAD I (FILPTR   /RESULTS OF LOOKUP
03643  3767          DCA I (RECNO
03644  3766          DCA I (REOF
03645  1365          TAD (CDF 0
03646  6221          CDF 20          /OFF TO FIELD 2
03647  3764          DCA I (XFIELD   /SETUP LDABS FOR FIELD 0
03650  6201          CDF 00          /BACK TO FIELD 0
03651  5635          JMP I IOPEN
03764  0451
03765  6201
03766  5161
03767  5107
03770  1057
03771  5121
03772  5100
03773  5162
03774  1770
03775  1071
03776  0472
03777  0556
       4000          PAGE

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 72


             /BLOCK 0 OF DEVICE CONTAINS INITIAL IMAGE
             /OF 17600 FOLLOWED BY 07600

             /17600-17646    CD AREA INITIALLY CONTAINS BOOTSTRAP
             /17647-17665    RESIDENCY TABLE
             /17666          DATE
             /17667-17677    PART OF OS/8 KBM
             /17700-17740    PART OF OS/8 USR
             /17741-17757    USER DEVICE NAME TABLE/ODT
             /17760-17776    CONTROL WORD TABLE (DCB)
             /17777          UNUSED

             /07600-07606    PART OF OS/8 CODE
             /07607-07743    SYSTEM HANDLER
             /07744-07745    STARTING ADDRESS
             /07746          JOB STATUS WORD (JSW)
             /07747          MUST BE 0 (SOFSET)
             /07750-07755    DATA BREAK LOCATIONS RESERVED FOR HARDWARE
             /07756-07775    KBM AND ODT
             /07776          MUST BE 0 (SBLOCK)
             /07777          SOFTWARE CORE SIZE, BATCH FLAGS

             /IF SYSTEM HANDLER IS TWO PAGES LONG, THEN WE HAVE INSTEAD:

             /BLOCK 66 (LOWER) CONTAINS 17600 IMAGE
             /BLOCK 66 (UPPER) CONTAINS 27600 IMAGE (MUST END WITH 4 ZERO'S)
             /BLOCK 0  (LOWER) CONTAINS BOOTSTRAP
             /BLOCK 0  (UPPER) CONTAINS 07600 IMAGE

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 73

       4000          *4000
04000  0000  DSCADV, 0               /ADVANCE TO NEXT DESCRIPTOR
                                     /RETURN 2 MEANS NO MORE
                                     /RETURN 1 MEANS NOW AT BOOTSTRAP BLOCK
                                     /RETURN 3 OTHERWISE
04001  1033          TAD DSCPTR
04002  1143          TAD [HDRSIZ
04003  3033          DCA DSCPTR
04004  4777          JMS I (SKPCRD   /SKIP A POSSIBLE GROUP COUNT
04005  1433          TAD I DSCPTR
04006  7100          CLL
04007  1132          TAD [200
04010  7630          SZL CLA
04011  5600          JMP I DSCADV    /TAKE RETURN1 UPON REACHING BOOTSTRAP RECORD
04012  2200          ISZ DSCADV
04013  1433          TAD I DSCPTR
04014  7640          SZA CLA
04015  2200          ISZ DSCADV      /TAKE RETURN 2 IF ADVANCED TO END
04016  5600          JMP I DSCADV

             /RETURN 1 MEANS NO MORE DESCRIPTORS
04017  0000  BOTADV, 0
04020  1433          TAD I DSCPTR
04021  7041          CIA
04022  7001          IAC             /COUNT IS ONE MORE
04023  1033          TAD DSCPTR
04024  3033          DCA DSCPTR      /POINT TO BEGIN OF NEXT DESCRIPTOR
04025  4777          JMS I (SKPCRD
04026  1433          TAD I DSCPTR
04027  7100          CLL
04030  1132          TAD [200
04031  7630          SZL CLA
04032  5220          JMP BOTADV+1    /WIERD CASE OF CONSECUTIVE BOOTSTRAPS
04033  1433          TAD I DSCPTR
04034  7640          SZA CLA
04035  2217          ISZ BOTADV      /TAKE RETURN1 IF ADVANCED TO END
04036  5617          JMP I BOTADV

             /WIERD CASES CAN OCCUR IF GUY DELETES ALL ENTRY POINTS IN A GROUP SEPARATELY

             /DESCRIPTOR ENTRIES:

             /FIRST WORD:
             /       0               MEANS END OF TABLE
             /       -1 TO -20       MEANS GROUP COUNT (NOT NECESSARILY ACCURATE)
             /       -21 TO -400 APPROX MEANS BOOTSTRAP RECORD COUNT
             /       OTHER           MEANS DESCRIPTOR

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 74

04037  0000  SYSCPY, 0               /COPY OS/8 SYSTEM
04040  7240          STA
04041  1776          TAD I (AMTCOR
04042  7640          SZA CLA
04043  1143          TAD [10         /GT 8K
04044  3332          DCA CORBIT
04045  1332          TAD CORBIT
04046  7640          SZA CLA
04047  5256          JMP COP2
04050  4477          JMS I [SYSWP    /SWAP IN NEW SYS HANDLER
04051  1375          TAD (7410
04052  4502          JMS I [SYS      /SAVE PART OF BUILD TO MAKE A BIG BUFFER
04053  0400          400             /SAVE 400-
04054  0027          27              /SAVE IN BLOCK 27
04055  4477          JMS I [SYSWP    /GET BACK ORIGINAL HANDLER
04056  1061  COP2,   TAD [4210
04057  4307          JMS COPY        /COPY BLOCK 0
04060  0000          0
04061  1374          TAD (5610
04062  4307          JMS COPY        /COPY 7-15
04063  0007          7
04064  1061          TAD [4210
04065  4307          JMS COPY        /COPY 26
04066  0026          26
04067  1375          TAD (7410
04070  4307          JMS COPY        /COPY 51-66
04071  0051          51
04072  1061          TAD [4210
04073  4307          JMS COPY        /COPY 67
04074  0067          67
04075  1332          TAD CORBIT
04076  7640          SZA CLA
04077  5306          JMP COP3
04100  4477          JMS I [SYSWP    /GET BACK NEW HANDLER FOR A MOMENT
04101  1373          TAD (3410       /RESTORE CORE WE SAVED
04102  4502          JMS I [SYS
04103  0400          400
04104  0027          27
04105  4477          JMS I [SYSWP    /RESTORE ORIGINAL SYS HANDLER
04106  5637  COP3,   JMP I SYSCPY

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 75

04107  0000  COPY,   0
04110  1332          TAD CORBIT
04111  3023          DCA TMP1
04112  1707          TAD I COPY
04113  3322          DCA COPREC      /ARG 1 CONTAINS FIRST BLOCK TO COPY
04114  1322          TAD COPREC
04115  3327          DCA CPREC2      /MAKE TWO COPIES
04116  7130          STL RAR         /CONVERT 'WRITE' TO READ
04117  1023          TAD TMP1
04120  4502          JMS I [SYS      /READ FROM ORIGINAL DEVICE
04121  0400          400
04122  7402  COPREC, HLT
04123  4477          JMS I [SYSWP
04124  1023          TAD TMP1
04125  4502          JMS I [SYS      /WRITE ON NEW DEVICE
04126  0400          400
04127  7402  CPREC2, HLT
04130  4477          JMS I [SYSWP    /LEAVE WITH ORIGINAL SYSTEM HANDLER STILL IN SYSTEM
04131  5707          JMP I COPY      /FALL THROUGH RECORD NUMBER

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 76

             CORBIT,
04132  0000  GETLEN, 0
04133  4562          GET             /GET LENGTH OF DEVICE
04134  0006          PLATNUM
04135  4524          JMS I [ROTL     /GET NUMBER OF PLATTERS
04136  0125          AND [7
04137  7450          SNA
04140  7001          IAC             /0 MEANS 1
04141  7041          CIA
04142  3020          DCA COUNT
04143  4562          GET
04144  0007          DEVSIZ
04145  3023          DCA TMP1
04146  1023  SIZLUP, TAD TMP1
04147  7450          SNA
04150  7240          STA             /4096 BECOMES 4095
04151  2020          ISZ COUNT
04152  5346          JMP SIZLUP
04153  7041          CIA
04154  1072          TAD [70         /LEAVE ROOM FOR OS/8
04155  3365          DCA DLENGTH
04156  5732          JMP I GETLEN

04157  7777  DPROPR, -1              /INITIAL EMPTY DIRECTORY
04160  0070          MFREE
04161  0000          0
04162  0000          0
04163  7777          -1
04164  0000          0               /1 EMPTY FILE
04165  0000  DLENGT, 0


04166  4537  BADARG, JMS I [PRWD
04167  7701          TEXT    /?ARG/
04170  2207
04171  0000
04172  5536          JMP I [CONFIG
04173  3410
04174  5610
04175  7410
04176  5067
04177  4541
       4200          PAGE

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 77

             /WANT TO COPY

             /SYS    0
             /KBM    7-12
             /USR    13-15
             /ENTER,TM8E     26
             /CD     51-53
             /SAVE,DATE 54-55
             /ERR    56
             /CHAIN  57
             /ODT    60-63
             /CCL    64,65,67
             /SYS    66

             /EXTRA (DON'T WANT TO COPY):

             /HANDLERS       16-25
             /SCRATCH        27-50

             /NEW ALGORITHM:

             /SET FIELD 2 IF 12K OR MORE AND SKIP *'ED ITEMS

             /1.     MOVE NEW SYS HANDLER TO 0,200
             /2.*    SAVE 34 PAGES STARTING AT 10400 IN BLOCK 27 OF NEW DEVICE
             /3.     COPY BLOCKS 7-15
             /4.     COPY BLOCK 26
             /5.     COPY BLOCKS 51-66
             /6.     COPY BLOCK 67
             /7.*    RESTORE 34 PAGES

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 78

             /THE FOLLOWING ROUTINES AND VARIABLES MUST BE ABOVE THE LOCATIONS
             /IN WHICH OS/8 AND CD LOAD INTO, BECAUSE THEY ARE CALLED BY LDABS.
             /FURTHERMORE, NONE OF THESE ROUTINES MAY USE PAGE 0 LITERALS
             /OR MAY USE ANY PAGE 0 TEMPORARIES, EXCEPT THAT SOME MAY USE
             /PAGE ZERO TEMPORARIES IF THE STORE INTO THEM FIRST
             /(EXCEPT THOSE COMMENTED OTHERWISE, WHICH MUST PRESERVE
             /THE NEW PAGE 0 AT ALL COSTS, UNTIL IT IS WRITTEN OUT

             /LDABS
             /ICHAR
             /BADINP
             /OVER
             /ASSEMB
             /CTCTST
             /PRWD
             /CTRLC
             /OVROUT
             /ROTL
             /PRINTE
             /TTYOUT
             /ROTR
             /PWORD
             /ECHOFL
             /LINEUP
             /CRLF
             /PRNT
             /RUBFLG
             /MOVE
             /SYSWP
             /AMTCOR

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 79

       7760          SYDCB=7760      /LOCATION OF SYS,DSK DCB WORDS

04200  4777  BOOT5,  JMS I (RECZRO
04201  1064  BOOT6,  TAD [-17
04202  4505          JMS I [MOVE     /PUT RESIDENT FIELD 1 TABLES INTO
04203  6201          CDF 0
04204  5300          SDCB            /FIXED SPOTS
04205  6211          CDF 10
04206  0160          BLOK66+160
04207  1064          TAD [-17
04210  4505          JMS I [MOVE
04211  6201          CDF 0
04212  5260          SRES
04213  6211          CDF 10
04214  0047          BLOK66+47       /COULD SET USER DEVICE NAMES HERE IF DESIRED
04215  4776  BOOT7,  JMS I (LOCSYS
             /       TAD SAMSYS
             /       SZA CLA         /SAME SYSTEM?
             /       JMP BOOT8       /YES
04216  4541  BLOOK,  ADVDSC          /SEARCH FOR BOOTSTRAP
04217  5222          JMP FNDBOT      /FOUND BOOTSTRAP RECORD AMONGST DESCRIPTORS
04220  7402          HLT             /IT WASN'T THERE!
04221  5216          JMP BLOOK       /KEEP LOOKING

04222  1033  FNDBOT, TAD DSCPTR
04223  7001          IAC             /POINT TO BOOTSTRAP
04224  3230          DCA FROMBO
04225  1433          TAD I DSCPTR    /LENGTH OF BOOTSTRAP
             /CHECK THAT'S IT'S LE 47 LOCS IF 1-PAGE SYSTEM
04226  4505          JMS I [MOVE
04227  6201          CDF 0
04230  7402  FROMBO, HLT
04231  6201          CDF 0
04232  5400          PG7600
04233  1060          TAD [-47        /MOVE FIRST 47 LOCS INTO CD AREA IN 17600 IMAGE
04234  4505          JMS I [MOVE
04235  6201          CDF 0
04236  5400          PG7600
04237  6211          CDF 10
04240  0000          BLOK66
04241  1375  BOOT8,  TAD (-16
04242  3020          DCA COUNT
04243  1374          TAD (SBUFF
04244  3010          DCA XR1
04245  1373          TAD (SHND
04246  3011          DCA XR2
04247  1410  DVLOOP, TAD I XR1
04250  7450          SNA
04251  5271          JMP NOHN
04252  3264          DCA DVBUF       /LOCATION OF HANDLER
04253  1411          TAD I XR2
04254  4524          JMS I [ROTL
04255  0057          AND [17
04256  7450          SNA
04257  5266          JMP CN          /NO BLOCK SLOT

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 79-1

04260  1302          TAD L15         /CONVERT TO ACTUAL BLOCK #
04261  3265          DCA DVREC
04262  1061          TAD [4210
04263  4502          JMS I [SYS
04264  7402  DVBUF,  HLT
04265  7402  DVREC,  HLT
04266  2020  CN,     ISZ COUNT
04267  5247          JMP DVLOOP
04270  5772          JMP I (BOOTD
04271  2011  NOHN,   ISZ XR2
04272  5266          JMP CN

04273  0000  SYSSIZ, 0               /MINUS MEANS 2-PAGE SYS HANDLER

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 80

04274  6032  CTRLC,  KCC             /CLEAR ^C FLAG
04275  1771          TAD I (SWAPER   /DO WE HAVE TO SWITCH?
04276  7640          SZA CLA
04277  4770          JMS I (SYSWP    /YES. INSERT OLD HANDLER
04300  5363          JMP END /GO CHECK BATCH BEFORE RETURNING

04301  4515  KORE,   JMS I [GETNUM
04302  0015  L15,    15              /NOTHING MEANS 0
04303  1031          TAD SIZE
04304  0071          AND [7770
04305  7640          SZA CLA
04306  5545          JMP I [BADARG   /MUST BE BETWEEN 0 AND 7
04307  4767          JMS I (RELCOR   /FIND REAL AMOUNT OF CORE
04310  7040          CMA
04311  1031          TAD SIZE
04312  7700          SMA CLA
04313  5766          JMP I (NOTNUF   /MUST BE .LE. REAL AMT OF CORE
04314  1021          TAD CHAR
04315  7640          SZA CLA
04316  5522          JMP I [SYNTAX
04317  1031          TAD SIZE
04320  3043          DCA NEWCOR
04321  5536          JMP I [CONFIG

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 81

             /       IF NEW SYS IS 1-PAGE,   PG7600/L_BLOK66/L
             /       0_PG7600
             /       66_BLOK66

04322  1273  BOOTF,  TAD SYSSIZ
04323  7700          SMA CLA         /IS NEW SYS TWO PAGES?
04324  1177          TAD [-200       /NO
04325  4505          JMS I [MOVE     /YES, NULL MOVE
04326  6211          CDF 10
04327  0000          BLOK66
04330  6201          CDF 0
04331  5400          PG7600
04332  1063          TAD [4200
04333  4502          JMS I [SYS
04334  5400          PG7600
04335  0000          0
04336  1061          TAD [4210
04337  4502          JMS I [SYS
04340  0000          BLOK66
04341  0066          66
04342  7000  BOOTG,  NOP
             /       JMS I (RECZRO   /SIMULATE BOOTSTRAP
04343  1056          TAD [-131       /MOVE UP FIELD 1 CODE
04344  4505          JMS I [MOVE
04345  6211          CDF 10
04346  0047          BLOK66+47
04347  6211          CDF 10
04350  7647          7600+47
04351  1044          TAD SAVDAT
04352  6211          CDF 10
04353  3765          DCA I (DATEWD
04354  6201          CDF 0
04355  4537          JMS I [PRWD
04356  2331          TEXT /SYS BUILT/
04357  2340
04360  0225
04361  1114
04362  2400

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 82




             /MUST DO SOME CLEAN UP IF BATCH IS RUNNING
             /ALL OVERLAYED CODE MUST BE RESET IN CASE USER WANTS
             /TO REUSE THIS COPY OF BUILD.

04363  4404  END,    JMS I BATT      /JUMP TO BATCH TEST ROUTINE FOR CLEAN UP
04364  5577          JMP I [7600     /OTHERWISE GO HOME WITH NEW SYSTEM
                                     /THIS IS FROM BATCH
04365  7666
04366  2363
04367  0326
04370  5000
04371  5073
04372  3437
04373  5320
04374  5360
04375  7762
04376  2600
04377  2341
       4400          PAGE


/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 83


             /MOVE MOVES CORE AROUND (CALLABLE FROM ANY FIELD)

             /       TAD (-# OF LOCS TO MOVE
             /       JMS MOVE
             /       CDF FROM FIELD
             /       FROM BUFFER LOCATION START
             /       CDF 'TO' FILED
             /       TO BUFFER

             /MUSTN'T DESTROY OS/8 LOCS, NO PAGE 0 TEMPS!

04400  0000  MOVE,   0
04401  3247          DCA MVCT
04402  6214          RDF
04403  1377          TAD (CIF CDF
04404  3235          DCA MOVRET
04405  1600          TAD I MOVE      /GET CDF FROM-FLD
04406  3224          DCA MVCDF2
04407  2200          ISZ MOVE        /POINT TO FROM-BUF
04410  1600          TAD I MOVE      /GET LOC TO MOVE
04411  3313          DCA MVTM1
04412  2200          ISZ MOVE        /POINT TO TO-CDF
04413  1600          TAD I MOVE
04414  3226          DCA MVDF        /GET CDF TO FIELD OF DESTINATION
04415  2200          ISZ MOVE        /POINT TO TARGET AREA
04416  1600          TAD I MOVE
04417  3320          DCA MVTM2
04420  2200          ISZ MOVE        /POINT TO RETURN
04421  1247          TAD MVCT
04422  7650          SNA CLA
04423  5235          JMP MOVRET      /NOTHING TO MOVE
04424  6201  MVCDF2, CDF 0           /GETS ALTERED TO PICK UP F1
04425  1713          TAD I MVTM1
04426  7402  MVDF,   HLT
04427  3720          DCA I MVTM2
04430  2313          ISZ MVTM1       /BUMP POINTERS TO AREAS
04431  2320          ISZ MVTM2
04432  0020  MV20,   20
04433  2247          ISZ MVCT
04434  5224          JMP MVCDF2
04435  7402  MOVRET, HLT             /RETURN TO CALLING FIELD
04436  5600          JMP I MOVE

04437  0000  CTCTST, 0
04440  1336          TAD MV7600      /ALLOW FOR PARITY
04441  6034          KRS
04442  1376          TAD (-7603
04443  7650          SNA CLA
04444  6031          KSF
04445  5637          JMP I CTCTST
04446  5775          JMP I (CTRLC

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 84

04447  0000  MVCT,   0


04450  0000  ASSEMB, 0               /ASSEMBLE TWO 6 BIT WORDS
04451  6221          CDF 20
04452  1657          TAD I LWD1
04453  4661          JMS I PROTL
04454  1660          TAD I LWD2
04455  6201          CDF 00
04456  5650          JMP I ASSEMB

04457  0557  LWD1,   WD1
04460  0560  LWD2,   WD2
04461  4513  PROTL,  ROTL


/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 85

04462  1774  BOOT4,  TAD I (DRECT
04463  7700          SMA CLA
04464  5773          JMP I (BOOTC    /HE'S SPECIFIED ABOUT DIRECTORY ZERO
04465  4537          JMS I [PRWD     /YES, NO NEED TO COPY SYSTEM
04466  2722          TEXT    /WRITE ZERO DIRECT?/
04467  1124
04470  0540
04471  3205
04472  2217
04473  4004
04474  1122
04475  0503
04476  2477
04477  0000
04500  1071          TAD [-10        /DON'T WANT TO DESTROY PRECIOUS TABLES
04501  4567          JMS I [GTEXT    /GET REPLY
04502  5262          JMP BOOT4
04503  4566          JMS I [GNAME
04504  1024          TAD NAME1
04505  0107          AND [7700
04506  1372          TAD (-3100
04507  7650          SNA CLA
04510  7201          CLA IAC         /Y
04511  3774          DCA I (DRECT    /NO; COULD HAVE SAVED LOCATION BUT I FEEL SAFER THIS WAY
04512  5773          JMP I (BOOTC

             MVTM1,
04513  0000  ROTL,   0
04514  7106          CLL RTL
04515  7006          RTL
04516  7006          RTL
04517  5713          JMP I ROTL

             MVTM2,
04520  0000  ROTR,   0
04521  7112          CLL RTR
04522  7012          RTR
04523  7012          RTR
04524  5720          JMP I ROTR

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 86

04525  0000  TTYOUT, 0               /YOU GUESSED IT
04526  3341          DCA TM
04527  1351          TAD ECHOFL
04530  7640          SZA CLA         /ARE WE ECHOING?
04531  5725          JMP I TTYOUT    /NO
04532  1341          TAD TM          /YES
04533  6046          TLS
04534  6041          TSF
04535  5334          JMP .-1
04536  7600  MV7600, 7600            /CLA
04537  4771          JMS I (CTCTST   /TEST FOR ^C.
04540  5725          JMP I TTYOUT

             TM,
04541  0000  SKPCRD, 0
04542  1433          TAD I DSCPTR
04543  7100          CLL
04544  1232          TAD MV20                /A GROUP COUNT MUST BE IN THE RANGE -1 TO -20
04545  7620          SNL CLA
04546  5741          JMP I SKPCRD
04547  2033          ISZ DSCPTR      /IT'S A DARN GROUP COUNT, GO PAST IT
04550  5342          JMP SKPCRD+1    /WIERD CASE OF CONSECUTIVE GROUP COUNTS

04551  0000  ECHOFL, 0               /1 MEANS NOT ECHOING, SAW ^O

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 87

04552  0000  PATCH,  0
04553  1561          TAD I [7777     /V3D
04554  0017          AND L600
04555  3047          DCA SAVHID      /SAVE HIGH ORDER DATE BITS
04556  5752          JMP I PATCH
04571  4437
04572  4700
04573  3400
04574  3505
04575  4274
04576  0175
04577  6203
       4600          PAGE

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 88

04600  0000  PRNAME, 0               /ROUTINE TO PRINT NAME1-NAME4
04601  1377          TAD (NAME1
04602  3022          DCA TEMP
04603  7346          CLL STA RTL     /-3
04604  3020          DCA COUNT
04605  1422  PRNM2,  TAD I TEMP
04606  4222          JMS PRINTE      /TYPE OUT CHARS
04607  2022          ISZ TEMP
04610  2020          ISZ COUNT       /EXHAUSTED ALL?
04611  5205          JMP PRNM2
04612  1422          TAD I TEMP
04613  7650          SNA CLA
04614  5600          JMP I PRNAME    /NO . IF NO EXTENSION
04615  1376          TAD (".         /PRINT '.'
04616  4775          JMS I (TTYOUT
04617  1422          TAD I TEMP
04620  4222          JMS PRINTE
04621  5600          JMP I PRNAME

04622  0000  PRINTE, 0
04623  3272          DCA CHTMP2
04624  1272          TAD CHTMP2      /EXTRACT LEFT HAND SIDE
04625  4774          JMS I (ROTR
04626  4232          JMS PWORD
04627  1272          TAD CHTMP2
04630  4232          JMS PWORD
04631  5622          JMP I PRINTE

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 89

04632  0000  PWORD,  0
04633  0373          AND (77
04634  7450          SNA             /IF NULL, GET OUT
04635  5254          JMP NULL
04636  3335          DCA PRTM
04637  1372          TAD (200
04640  6034          KRS
04641  1371          TAD (-217       /^O
04642  7650          SNA CLA         /STOP ECHOING?
04643  6031          KSF             /MAYBE
04644  7410          SKP             /NO
04645  5273          JMP CTO         /YES
04646  1335          TAD PRTM
04647  1370          TAD (240
04650  0373          AND (77
04651  1370  PRSPAC, TAD (240
04652  4775          JMS I (TTYOUT
04653  5632          JMP I PWORD
04654  1304  NULL,   TAD LINEUP
04655  7650          SNA CLA         /PRINT SPACE?
04656  5622          JMP I PRINTE    /NO
04657  5251          JMP PRSPAC      /YES

04660  0000  PRWD,   0
04661  7200          CLA
04662  1660  PRWD2,  TAD I PRWD
04663  4222          JMS PRINTE
04664  1660          TAD I PRWD
04665  2260          ISZ PRWD
04666  0373          AND (77
04667  7640          SZA CLA
04670  5262          JMP PRWD2
04671  5660          JMP I PRWD      /LEAVE IF LAST WORD ENDED WITH 00

04672  0000  CHTMP2, 0

04673  6032  CTO,    KCC
04674  1367          TAD ("^
04675  4775          JMS I (TTYOUT
04676  1366          TAD ("O
04677  4775          JMS I (TTYOUT
04700  4336          JMS CRLF
04701  7201          CLA IAC
04702  3765          DCA I (ECHOFL
04703  5632          JMP I PWORD

04704  0000  LINEUP, 0               /NON-ZERO MEANS PRINT NULLS AS SPACES

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 90

04705  4764  OVER,   JMS I (ASSEMB   /EXTENSION OF LDABS.
04706  7041          CIA
04707  6221          CDF 20          /OFF TO FIELD 2
04710  1734          TAD I LCKSUM    /CHECKSUM OK?
04711  6201          CDF 00          /BACK TO OUR FIELD
04712  7640          SZA CLA
04713  5316          JMP BADINP      /SOORY ABOUT THAT
04714  7201          CLA IAC
04715  5326          JMP OVROUT      /SKIP ERROR EXIT
04716  4260  BADINP, JMS PRWD
04717  7702          TEXT /?BAD INPUT/
04720  0104
04721  4011
04722  1620
04723  2524
04724  0000
04725  4336          JMS CRLF
04726  6221  OVROUT, CDF 20
04727  1763          TAD I (LDABS
04730  6201          CDF 00
04731  3333          DCA OTEMP
04732  5733          JMP I OTEMP
04733  0000  OTEMP,  0


04734  0562  LCKSUM, CKSUM
04735  0000  PRTM,   0

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 91

04736  0000  CRLF,   0
04737  1362          TAD (215
04740  3024          DCA NAME1
04741  4345          JMS PRNT
04742  1361          TAD (212
04743  4775          JMS I (TTYOUT
04744  5736          JMP I CRLF

04745  0000  PRNT,   0               /CHARACTER PRINT ROUTINE
04746  1360          TAD ("\         /IF NOT RUBOUT, AND IF RUBOUT WAS
04747  2355          ISZ RUBFLG      /LAST, ECHO \.
04750  7610          SKP CLA
04751  4775          JMS I (TTYOUT
04752  1024          TAD NAME1
04753  4775          JMS I (TTYOUT
04754  5745          JMP I PRNT
04755  0000  RUBFLG, 0               /RUBOUT FLAG
04760  0334
04761  0212
04762  0215
04763  0400
04764  4450
04765  4551
04766  0317
04767  0336
04770  0240
04771  7561
04772  0200
04773  0077
04774  4520
04775  4525
04776  0256
04777  0024
       5000          PAGE

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 92

             /ASSUMES NEW PROPOSED SYSTEM HANDLER IS IN 10000-10377

             /CAN'T DESTROY OS/8, IE. CAN'T USE PG 0 TEMPS

05000  0000  SYSWP,  0               /ROUTINE TO MOVE SYS HANDLER AROUND
05001  2273          ISZ SWAPER      /DIDDLE SWAP INDICATOR
05002  7240          CLA CMA         /-1 MEANS NEW HANDLER IS IN
05003  3273          DCA SWAPER
05004  7240          STA
05005  1267          TAD AMTCOR
05006  7650          SNA CLA         /DO WE HAVE 8K?
05007  5237          JMP SWAPLW      /YES, DON'T SWAP WITH FIELD 2
05010  1234          TAD L7600       /NO, CAN'T HURT TO SWAP FIELD 2
05011  3272          DCA OUT
05012  1270          TAD SAVLC
05013  1305          TAD P200
05014  3271          DCA IN
05015  1377          TAD (4-200
05016  3274          DCA STEMP       /SWAP ENTIRE PAGE (EXCEPT LAST 4 LOCATIONS)
05017  6211  SWAP3,  CDF 10          /SWAP 27600 & 2ND PAGE OF HANDLER
05020  1671          TAD I IN
05021  3321          DCA SYSQ
05022  6221          CDF 20
05023  1672          TAD I OUT
05024  6211          CDF 10
05025  3671          DCA I IN
05026  1321          TAD SYSQ
05027  6221          CDF 20
05030  3672          DCA I OUT
05031  2271          ISZ IN
05032  7400  L7400,  7400            /NOP
05033  2272          ISZ OUT
05034  7600  L7600,  7600
05035  2274          ISZ STEMP
05036  5217          JMP SWAP3
05037  6201  SWAPLW, CDF 0
05040  1376          TAD (7607
05041  3272          DCA OUT         /7607 ALWAYS TARGET DESTINATION
05042  1270          TAD SAVLC
05043  1375          TAD (7
05044  3271          DCA IN
05045  1374          TAD (7607-7743-1/ONLY 7607-7743 GETS MOVED
05046  3274          DCA STEMP
05047  6211  SWAP2,  CDF 10
05050  1671          TAD I IN
05051  3321          DCA SYSQ        /TEMP STORE
05052  6201          CDF 0
05053  1672          TAD I OUT
05054  6211          CDF 10
05055  3671          DCA I IN
05056  1321          TAD SYSQ
05057  6201          CDF 0
05060  3672          DCA I OUT
05061  2271          ISZ IN
05062  2272          ISZ OUT

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 92-1

05063  2274          ISZ STEMP
05064  5247          JMP SWAP2
05065  3773          DCA I (SOFSET   /V3C
05066  5600          JMP I SYSWP

05067  0001  AMTCOR, 1               /HIGHEST CORE BANK
05070  0000  SAVLC,  0               /MUST BE ABOVE 3577
             CHTMP,
05071  0000  IN,     0               /POINTS TO HANDLER AREA AT ONE NAMED SYS
05072  0000  OUT,    0               /POINTS TO 7607 HANDLER
05073  0000  SWAPER, 0               /-1 MEANS NEW HANDLER IN

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 93


             /MUST BE ABOVE OS/8,  NO PAGE 0 LITERALS

             STEMP,
05074  0000  ICHAR,  0
05075  4772          JMS I (CTCTST
05076  2321          ISZ JMPGET      /POINT TO CORRECT CHAR
05077  2362          ISZ CHCNT       /NEED WE READ?
05100  5321  JMPX,   JMP JMPGET      /NOT YET
05101  1361          TAD REOF        /YES. DID LAST YIELD EOF?
05102  7640          SZA CLA
05103  5771          JMP I (BADINP   /SOMETHING IS WRONG.
05104  4764  RDIN,   JMS I DVICE
05105  0200  P200,   0200            /READ INTO FIELD 0
05106  6000  BINBUF, BINARY
05107  0000  RECNO,  0
05110  5347          JMP RERROR      /READ ERROR
05111  2307  RECNO2, ISZ RECNO       /POINT TO NEXT RECORD
05112  1370          TAD (-601
05113  3362          DCA CHCNT       /NEW CHARACTER COUNT
05114  1306          TAD BINBUF
05115  3363          DCA CHPTR
05116  1300          TAD JMPX
05117  3321          DCA JMPGET      /RESET JUMP SWITCH
05120  5275          JMP ICHAR+1
             SYSQ,
05121  5321  JMPGET, JMP .           /IF WE GET CAUGHT HERE, WE KNOW IT
05122  5343          JMP CHAR1       /ASSEMBLE FIRST CHAR
05123  5337          JMP CHAR2       /SECOND CHAR
05124  1300          TAD JMPX        /THIRD CHAR HERE
05125  3321          DCA JMPGET      /RESET SWITCH
05126  1763          TAD I CHPTR
05127  0232          AND L7400
05130  7112          CLL RTR
05131  7012          RTR
05132  1271          TAD CHTMP       /ADD IN THE LAST TEMP STORE
05133  7012          RTR
05134  7012          RTR
05135  2363          ISZ CHPTR       /TO NEXT CHAR
05136  5344          JMP GCHCOM
05137  1763  CHAR2,  TAD I CHPTR
05140  0232          AND L7400
05141  3271          DCA CHTMP       /SAVE FOR THIRD CHAR
05142  2363          ISZ CHPTR
05143  1763  CHAR1,  TAD I CHPTR
05144  0367  GCHCOM, AND (377
05145  2274          ISZ ICHAR       /PASS UP ERROR RET
05146  5357          JMP TO20                /RETURN
05147  7710  RERROR, SPA CLA         /FATAL, OR EOF?
05150  5353          JMP IOERR       /FATAL
05151  2361          ISZ REOF        /END OF FILE
05152  5311          JMP RECNO2      /BACK TO MAINSTREAM
05153  4766  IOERR,  JMS I (PRWD
05154  7711          TEXT    \?I/O\
05155  5717

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 93-1

05156  0000
05157  6223  TO20,   CIF CDF 20              /BACK TO FIELD 2
05160  5674          JMP I ICHAR


05161  0000  REOF,   0
05162  0000  CHCNT,  0
05163  0000  CHPTR,  0
05164  0000  DVICE,  0
05165  0000  RETSW,  0               /0 MEANS RAN FROM 0S/8, 1 MEANS RNA STANDALONE
05166  4660
05167  0377
05170  7177
05171  4716
05172  4437
05173  7747
05174  7643
05175  0007
05176  7607
05177  7604
       5200          PAGE

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 94

       0103          LNLNGT=103
05200  0000  BEGLIN, ZBLOCK LNLNGT

       7776          SBLOCK=7776     /??
             /CTCFAK,        .+1             /^C MUST NOT RETURN TO ANY SYSTEM.
             /       JMP I CTCFAK    /CTCFAK MARKS OUR PLACE DURING
             /                       /SYSGEN, AND ^C WILL RETURN TO THAT PLACE.
             /*** THIS STUFF GOES AWAY ON A BOOT

05303  6211  BUILD,  CDF 10
05304  1455          TAD I [7200     /HAS SPECIAL CODE BEEN OVERLAID BY HANDLERS?
05305  6201          CDF 0
05306  1054          TAD [-1234
05307  7640          SZA CLA
05310  5777          JMP I (NOROOM   /YES, TOO BAD
             /       TAD (5601
             /       DCA I [7600
             /       TAD (CTCFAK+1
             /       DCA I (7601
05311  1053          TAD [6600       /SAVE OLD SYSTEM HANDLER IN 16600
05312  4776          JMS I (SETUPSYS
             /       JMS CTCFAK
05313  4537  RDOS8,  JMS I [PRWD
05314  1417          TEXT    \LOAD OS/8: \
05315  0104
05316  4017
05317  2357
05320  7072
05321  4000
05322  4347          JMS RD
05323  5313          JMP RDOS8
05324  6213          CIF CDF 10
05325  4775          JMS I (WROS8
05326  4774          JMS I (SYSWP
             /       JMS CTCFAK
05327  4574  RDCD,   JMS I [CRLF
05330  4537          JMS I [PRWD
05331  1417          TEXT    /LOAD CD: /
05332  0104
05333  4003
05334  0472
05335  4000
05336  3354          DCA DVER
05337  4347          JMS RD
05340  5327          JMP RDCD
05341  6213          CIF CDF 10
05342  4773          JMS I (WRCD
05343  1772          TAD I (RETSW
05344  7650          SNA CLA         /NOT IF FROM SCRATCH
05345  4774          JMS I (SYSWP    /GET OLD HANDLER IF ANY BACK IN
05346  5536          JMP I [CONFIG

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 95

05347  0000  RD,     0
05350  1052          TAD [-40
05351  4567          JMS I [GTEXT
05352  5747          JMP I RD
05353  4771          JMS I (SETUP
05354  5770  DVER,   JMP I (NODEV
05355  4774          JMS I (SYSWP    /PUT IN NEW HANDLER
05356  6213          CIF CDF 10
05357  4767          JMS I (SAVE
05360  4774          JMS I (SYSWP
05361  6223          CIF CDF 20      /OFF TO PAGE 2
05362  4567          JMS I [LDABS    /PAST HERE PAGE 0 IS GONE
05363  5747          JMP I RD
05364  4774          JMS I (SYSWP
05365  2347          ISZ RD
05366  5747          JMP I RD
05367  7452
05370  1364
05371  1000
05372  5165
05373  7313
05374  5000
05375  7201
05376  3530
05377  0730
       5400          PAGE

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 96

       6400          *6400

06400  0000  DSCTAB, ZBLOCK 1200

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 97

             /RELIC:

       7600          *7600
07600  0000          0               /ONLY LOADED FROM PAPER TAPE.

       7777          *7777
07777  0000          0               /SET SOFTWARE CORE SIZE TO 'UNKNOWN'
00052  7740
00053  6600
00054  6544
00055  7200
00056  7647
00057  0017
00060  7731
00061  4210
00062  7643
00063  4200
00064  7761
00065  5437
00066  5436
00067  7763
00070  7607
00071  7770
00072  0070
00073  7771
00074  7612
00075  7744
00076  7601
00077  5000
00100  2553
00101  5200
00102  2246
00103  7774
00104  0257
00105  4400
00106  1600
00107  7700
00110  0177
00111  6177
00112  2665
00113  0077
00114  4520
00115  0523
00116  0717
00117  0704
00120  0650
00121  1763
00122  2750
00123  7772
00124  4513
00125  0007
00126  4716
00127  0673
00130  1364
00131  5164

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 97-1

00132  0200
00133  7506
00134  0024
00135  4600
00136  0215
00137  4660
00140  4017
00141  4000
00142  2547
00143  0010
00144  7540
00145  4166
00146  7000
00147  0566
00150  0563
00151  0100
00152  0336
00153  5177
00154  0334
00155  2601
00156  4745
00157  1452
00160  7400
00161  7777
00162  0306
00163  2207
00164  2140
00165  2221
00166  2705
00167  0400
00170  7675
00171  5073
00172  4525
00173  0244
00174  4736
00175  5165
00176  4207
00177  7600
       0001          FIELD 1
       0000          *0
10000  0000          0               /FORCE ABSLDR TO LOAD THIS PAGE
       0400          *400
             /       ZBLOCK 5400
10400  0000          0

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 98

       6600          *6600

       6000          RELOC BINARY

16000* 6211  BINPUN, CDF 10
16001* 7200          CLA
16002* 1377          TAD (-400
16003* 6202          CIF 0
16004* 4776          JMS I (MOVE
16005* 6211          CDF 10
16006* 6600          6600
16007* 6201          CDF 0
16010* 6000          BINARY          /MOVE ONESELF DOWN
16011* 6203          CIF CDF 0
16012* 5775          JMP I (LDR      /EXECUTE IN FIELD 0
16013* 4307  LDR,    JMS LEDER       /PUNCH 72 FRAMES OF 200
16014* 3331          DCA CHECK       /0 CHECKSUM
16015* 1374          TAD (102
16016* 4332          JMS CKSUMM
16017* 4317          JMS PNCH
16020* 4773  STARTB, JMS I (CRLF
16021* 1372          TAD ("*
16022* 4771          JMS I (TTYOUT
16023* 1370          TAD (-100
16024* 4767          JMS I (GTEXT
16025* 5220          JMP STARTB
16026* 4766          JMS I (GETNUM
16027* 5765          JMP I (OVERB
16030* 1031          TAD SIZE
16031* 0364          AND (7770
16032* 7640          SZA CLA
16033* 5220          JMP STARTB
16034* 1031          TAD SIZE
16035* 7106          CLL RTL
16036* 7004          RAL
16037* 3325          DCA FLD
16040* 4766          JMS I (GETNUM   /GET LOWER LIMIT
16041* 5220          JMP STARTB
16042* 1031          TAD SIZE
16043* 3326          DCA LIM1
16044* 4766          JMS I (GETNUM   /GET UPPER LIMIT
16045* 5220          JMP STARTB
16046* 1031          TAD SIZE
16047* 3327          DCA LIM2
16050* 1327          TAD LIM2
16051* 7040          CMA
16052* 1326          TAD LIM1
16053* 3330          DCA COUNT2
16054* 1325          TAD FLD
16055* 1363          TAD (300
16056* 4317          JMS PNCH
16057* 1325          TAD FLD
16060* 1362          TAD (CDF 0
16061* 3272          DCA BUFLD
16062* 1326          TAD LIM1

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 98-1

16063* 4761          JMS I (ROTR
16064* 0360          AND (77
16065* 1357          TAD (100
16066* 4332          JMS CKSUMM
16067* 1326          TAD LIM1
16070* 0360          AND (77
16071* 4332          JMS CKSUMM
16072* 7402  BUFLD,  HLT
16073* 1726          TAD I LIM1
16074* 4761          JMS I (ROTR
16075* 0360          AND (77
16076* 4332          JMS CKSUMM
16077* 1726          TAD I LIM1
16100* 0360          AND (77
16101* 4332          JMS CKSUMM
16102* 2326          ISZ LIM1
16103* 2330          ISZ COUNT2
16104* 5272          JMP BUFLD
16105* 6203          CIF CDF 0
16106* 5220          JMP STARTB

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 99

16107* 0000  LEDER,  0               /PUNCH LEADER/TRAILER
16110* 1356          TAD (-200
16111* 3330          DCA COUNT2
16112* 1355          TAD (200
16113* 4317          JMS PNCH
16114* 2330          ISZ COUNT2
16115* 5312          JMP .-3
16116* 5707          JMP I LEDER

16117* 0000  PNCH,   0
16120* 6026          PLS
16121* 6021          PSF
16122* 5321          JMP .-1
16123* 7200          CLA
16124* 5717          JMP I PNCH

16125* 0000  FLD,    0
16126* 0000  LIM1,   0
16127* 0000  LIM2,   0
16130* 0000  COUNT2, 0
16131* 0000  CHECK,  0

16132* 0000  CKSUMM, 0
16133* 3342          DCA CK1
16134* 1342          TAD CK1
16135* 1331          TAD CHECK
16136* 3331          DCA CHECK
16137* 1342          TAD CK1
16140* 4317          JMS PNCH
16141* 5732          JMP I CKSUMM

16142* 0000  CK1,    0
16155* 0200
16156* 7600
16157* 0100
16160* 0077
16161* 4520
16162* 6201
16163* 0300
16164* 7770
16165* 6200
16166* 0523
16167* 0400
16170* 7700
16171* 4525
16172* 0252
16173* 4736
16174* 0102
16175* 6013
16176* 4400
16177* 7400
       6200          PAGE

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 100

16200* 1233  OVERB,  TAD Q300
16201* 4634          JMS I QPNCH     /FIELD 0
16202* 1235          TAD Q176
16203* 4636          JMS I QCKSUM
16204* 4636          JMS I QCKSUM    /*7600
16205* 1237          TAD Q74
16206* 4636          JMS I QCKSUM
16207* 7326          STL CLA RTL
16210* 4636          JMS I QCKSUM    /HALT
16211* 1240          TAD Q177
16212* 1241          TAD Q77
16213* 4636          JMS I QCKSUM    /*7777
16214* 4636          JMS I QCKSUM
16215* 4636          JMS I QCKSUM    /*0000
16216* 1242          TAD Q102
16217* 4636          JMS I QCKSUM
16220* 4636          JMS I QCKSUM
16221* 1643          TAD I QCHECK
16222* 4644          JMS I QROTR
16223* 0241          AND Q77
16224* 4634          JMS I QPNCH
16225* 1643          TAD I QCHECK
16226* 0241          AND Q77
16227* 4634          JMS I QPNCH
16230* 4645          JMS I QLEDER
16231* 7402          HLT
16232* 5231          JMP .-1 /ALL DONE
16233* 0300  Q300,   300
16234* 6117  QPNCH,  PNCH
16235* 0176  Q176,   176
16236* 6132  QCKSUM, CKSUMM
16237* 0074  Q74,    74
16240* 0177  Q177,   177
16241* 0077  Q77,    77
16242* 0102  Q102,   102
16243* 6131  QCHECK, CHECK
16244* 4520  QROTR,  ROTR
16245* 6107  QLEDER, LEDER
       6400          PAGE

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 101


       7200          RELOC
       3400          DIRLOC=3400     /FROM OS/8 ASSEMBLY

       4777          READ=JMS I (7607
       4777          WRITE=READ
       0070          MFREE=70
       4776          ERR=JMS I (WRERR

       7200          *7200


17200  1234          1234            /MAGIC NUMBER WHICH IF NOT HERE, MEANS HANDLERS OVERLAID

17201  0000  WROS8,  0
17202  6202          CIF 0
17203  1307          TAD Z7600
17204  4775          JMS I (MOVE     /SAVE CURRENT 7600
17205  6201          CDF 0
17206  7600          7600
17207  6201          CDF 0
17210  7000          7000            /IN 07000
17211  1374          TAD (-7         /MOVE 6600 TO 7600
17212  6202          CIF 0
17213  4775          JMS I (MOVE
17214  6201          CDF 0
17215  6600          6600
17216  6201          CDF 0
17217  7600          7600
17220  1373          TAD (-34        /FINISH MOVING FIELD 0
17221  6202          CIF 0
17222  4775          JMS I (MOVE
17223  6201          CDF 0
17224  6744          6744
17225  6201          CDF 0
17226  7744          7744
17227  6201          CDF 0
17230  1372          TAD (6          /V3D DEV EXT LENGTH OF ABSLDR
17231  1771          TAD I (DLENGTH  /FILL IN INITIAL LENGTH
17232  6211          CDF 10
17233  3770          DCA I (DIRLOC+14        /OS8 HAS INITIAL DIRECTORY
17234  6202          CIF 0;WRITE;4200;7400;0;ERR     /INITIAL REC.0
17235  4777
17236  4200
17237  7400
17240  0000
17241  4776
17242  6202          CIF 0;WRITE;4200;7400;66;ERR    /ALSO WRITE RECORD 66
17243  4777
17244  4200
17245  7400
17246  0066
17247  4776
17250  6202          CIF 0;WRITE;4210;DIRLOC;1;ERR   /INITIAL DIRECTORY
17251  4777

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 101-1

17252  4210
17253  3400
17254  0001
17255  4776
17256  6202          CIF 0;WRITE;5000;0;7;ERR        /KBM
17257  4777
17260  5000
17261  0000
17262  0007
17263  4776
17264  6202          CIF 0;WRITE;4610;0;13;ERR       /USR
17265  4777
17266  4610
17267  0000
17270  0013
17271  4776
17272  6223          CIF CDF 20      /OFF IN FIELD 2
17273  5767          JMP I (BAK
17274  6201  WHER,   CDF 0   /RETURN FROM RELOCATED ROUTINES.
17275  1766          TAD I (RETSW
17276  6211          CDF 10
17277  7650          SNA CLA         /SCRATCH BUILD?
17300  5765          JMP I (RES76    /NO
17301  1307          TAD Z7600       /YES    /MOVE 17600 UP THERE
17302  6202          CIF 0
17303  4775          JMS I (MOVE
17304  6201          CDF 0
17305  7400          7400
17306  6211          CDF 10
17307  7600  Z7600,  7600
17310  4764          JMS I (RESTORE
17311  6203          CIF CDF 0
17312  5601          JMP I WROS8

             /RELATIONSHIP BEWTWEEN OS/8 CORE IMAGE AND BLOCKS ON SYSTEM DEVICE:

             /ITEM           CORE LOC        BLOCKS

             /KBM            0000-1777       7-12
             /OVERLAYS       2000-3577       54-57
             /INIT DIR       DIRLOC-         1
             /ABSLDR CCB     LDRCTL-         70
             /INIT BLOCK 0   7400-7777       0
             /USR            10000-11377     13-15
             /ABSLDR         12000-14377     71-75
             /ENTER,TM8E     11400-11777     26
             /EXT SAVE & ODT                 64
             /SYS            06600-06606     PART OF 07600
             /SYS            06744-06777     "
17313  0000  WRCD,   0
17314  6202          CIF 0;WRITE;4600;0;51;ERR       /CD
17315  4777
17316  4600
17317  0000
17320  0051

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 101-2

17321  4776
17322  6202          CIF 0;WRITE;5011;0;60;ERR       /ODT
17323  4777
17324  5011
17325  0000
17326  0060
17327  4776

             /THE NEXT ROUTINE IS TO FINISH LOADING BLOCK 64 OF THE
             /SYSTEM DEVICE THAT HAD BEEN RESERVED.  THE FIRST PART
             /WAS WRITTEN WITH OS8 AND NOW THE OTHER PART MUST BE
             /WRITTEN ON THAT SAME BLOCK FROM CD.

17330  6202          CIF 0;READ;210;0;64;ERR         /GET PART OF ODT WRITTEN
17331  4777
17332  0210
17333  0000
17334  0064
17335  4776
                     /MOVE LOCATIONS 11600-11663 TO 10000-10063
17336  6202          CIF 0
17337  1363          TAD (-64
17340  4775          JMS I (MOVE
17341  6211          CDF 10
17342  1600          1600
17343  6211          CDF 10
17344  0000          0000
17345  6202          CIF 0;WRITE;4210;0;64;ERR
17346  4777
17347  4210
17350  0000
17351  0064
17352  4776

             /END OF ROUTINE TO LOAD BLOCK 64

17353  4764          JMS I (RESTORE
17354  4762          JMS I (CASIT
17355  6203          CIF CDF 0
17356  5713          JMP I WRCD
17362  7517
17363  7714
17364  7434
17365  7477
17366  5165
17367  1000
17370  3414
17371  4165
17372  0006
17373  7744
17374  7771
17375  4400
17376  7507
17377  7607
       7400          PAGE

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 102

       4777          READ=JMS I (7607
       4307          ERR=JMS WRERR

             /SPECIAL CODE TO CHAIN TO ABSLDR, TO READ IN MCPIP

17400  4776          JMS I (7700
17401  0010          10              /LOCK USR IN CORE
17402  1345          TAD R7600       /ZERO CD AREA
17403  3316          DCA CDPTR
17404  1375          TAD (-47
17405  3317          DCA CDKNT
17406  3716          DCA I CDPTR
17407  2316          ISZ CDPTR
17410  2317          ISZ CDKNT
17411  5206          JMP .-3
17412  7330          STL CLA RAR     /ALTMODE
17413  3774          DCA I (7642
17414  4773          JMS I (200
17415  0012          12              /INQUIRE
17416  4503          4503    /ENCODE CSA0
17417  0000  CDN,    0
17420  0000          0
17421  7402          HLT
17422  1217          TAD CDN         /TAKE DEVICE NUMBER
17423  3772          DCA I (7617     /STORE DEVICE NUMBER OF CASSETTE
17424  2771          ISZ I (7620     /V3C FORCE BLOCK 1
17425  7201          CLA IAC
17426  6201          CDF 0           /V3D
17427  3770          DCA I (7746     /SET JSW SO CHAIN DOESN'T DO USROUT
17430  6211          CDF 10
17431  4773          JMS I (200      /CHAIN TO ABSLDR
17432  0006          6
17433  0070          70

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 103

17434  0000  RESTORE,0
17435  6202          CIF 0;READ;3701;0;BLDSAV;ERR
17436  4777
17437  3701
17440  0000
17441  0076
17442  4307
17443  6202          CIF 0;READ;3510;0;BLDSAV+20;ERR /RESTORE BUILD
17444  4777
17445  3510
17446  0000
17447  0116
17450  4307
17451  5634          JMP I RESTORE

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 104

       4777          WRITE=JMS I (7607
       4307          ERR=JMS WRERR

17452  0000  SAVE,   0
17453  6201          CDF 0
17454  3767          DCA I (SOFSET
17455  3766          DCA I (SBLOCK
17456  3765          DCA I (DRECT    /HAVE TO KEEP DIRECTORY LATER
17457  6211          CDF 10
17460  6202          CIF 0;WRITE;7701;0;BLDSAV;ERR
17461  4777
17462  7701
17463  0000
17464  0076
17465  4307
17466  6202          CIF 0;WRITE;7510;0;BLDSAV+20;ERR
17467  4777
17470  7510
17471  0000
17472  0116
17473  4307
17474  4317          JMS CASIT
17475  6203          CIF CDF 0
17476  5652          JMP I SAVE

17477  1764  RES76,  TAD I (Z7600
17500  6202          CIF 0
17501  4763          JMS I (MOVE
17502  6201          CDF 0
17503  7000          7000            /RESTORE OLD PAGE 7600
17504  6201          CDF 0
17505  7600          7600
17506  5764          JMP I (Z7600

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 105

17507  0000  WRERR,  0               /WRITE ERROR
17510  7602          HLT CLA         /HIT CONTINUE TO RETRY
17511  1307          TAD WRERR
17512  1362          TAD (-6
17513  3307          DCA WRERR       /POINT BACK TO CIF OF CALL
17514  5707          JMP I WRERR     /RETRY

             /RELATIONSHIP BETWEEN CD CORE IMAGE AND BLOCKS ON SYSTEM DEVICE:

             /ITEM           CORE LOC        BLOCKS
             /CD             00000-01377     51-63
             /ODT            10000-11777     60-63

17515  0000  CSA,    0               /CASSETTE HANDLER ENTRY PT
17516  0000  CDPTR,  0

             CDKNT,
17517  0000  CASIT,  0
17520  6201          CDF 0
17521  1761          TAD I (RECNO
17522  7450          SNA
17523  7201          CLA IAC         /IF BLOCK 0, CHANGE TO 1
17524  3761          DCA I (RECNO
17525  1752          TAD I PRETSW
17526  7650          SNA CLA         /BUILDING FROM SCRATCH?
17527  5717          JMP I CASIT     /NO
17530  1760          TAD I (BLDCB    /YES, GET DCB OF LOAD HANDLER
17531  0343          AND L770
17532  1344          TAD M270        /CASSETTE DEVICE CODE=27
17533  7640          SZA CLA
17534  5717          JMP I CASIT     /NOT A CASSETTE
17535  1757          TAD I (DVICE
17536  3315          DCA CSA         /GET HANDLER ENTRY POINT
17537  6211          CDF 10
17540  6202          CIF 0
17541  4715          JMS I CSA
17542  0003          3               /SKIP TO NEXT FILE
17543  0770  L770,   770
17544  7510  M270,   -270
17545  7600  R7600,  7600            /IGNORE ERRORS
17546  6202          CIF 0
17547  4715          JMS I CSA
17550  0100          100             /DUMMY READ A PAGE
17551  6000          BINARY          /TO SKIP HEADER
17552  5165  PRETSW, RETSW
17553  7610          SKP CLA         /WANT AN ERROR
17554  7402          HLT             /A GOOD READ IS BAD!
17555  5717          JMP I CASIT

             /INITIALIZATION CODE FOR BATCH OPERATION



/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 106


17557  5164
17560  1570
17561  5107
17562  7772
17563  4400
17564  7307
17565  3505
17566  7776
17567  7747
17570  7746
17571  7620
17572  7617
17573  0200
17574  7642
17575  7731
17576  7700
17577  7607
       0002          FIELD 2

       0010  *10
20010  0000  BATXR1, 0               /INDEX REG. 1 FOR BATCH
20011  0000  BATXR2, 0               /INDEX REG. 2 FOR BATCH


       0200  *200

20200  0000  BATSET, 0
20201  1777          TAD I (XR1      /GET THE OVERLAY POINTER
20202  7440          SZA             /IF ZERO USE OLD VALUE
                                     /THIS SAVES ME SOME FIELD 0 SPACE
20203  3010          DCA BATXR1      /SAVE THE POINTER
20204  1577          TAD I [7777     /NOW GET THE BATCH FIELD
20205  6221          CDF 20          /TO FIELD 2
20206  0376          AND (0070       /NOW GET THE FIELD BITS
20207  1375          TAD (CIF        /MAKE A CIF FOR OVERLAY
20210  3231          DCA CBATI       /SAVE IN INPUT ROUTINE
20211  1231          TAD CBATI       /ALSO OUTPUT
20212  3240          DCA CBATO       /OVERLAY

20213  1410  BATMOV, TAD I BATXR1    /GET NEXT STORAGE ADDRESS
20214  7450          SNA             /IF ZERO ALL DONE (SECOND TIME THRU)
20215  5226          JMP BATDON      /RETURN TO CALLER
20216  3011          DCA BATXR2      /OTHERWISE SAVE POINTER TO TARGET CODE
20217  1410  BATLUP, TAD I BATXR1    /GET A PATCH WORD
20220  7450          SNA             /ZERO MEANS END OF THIS PATCH
20221  5213          JMP BATMOV      /GO GET ANOTHER POINTER OR MAYBE ALL DONE
20222  6201          CDF 0           /BACK TO FIELD ZERO
20223  3411          DCA I BATXR2    /NOW CODE IS BATCHABLE
20224  6221          CDF 20          /BACK TO FIELD 2
20225  5217          JMP BATLUP      /DO IT ALL AGAIN

20226  6203  BATDON, CIF CDF 0       /RETURN TO CALLER
20227  5600          JMP I BATSET    /BYE

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 107


20230  1452  BATLS,  TTYIN           /POINTER TO MOVE DATA
       0231          CBATI=. /SET CIF BATCH
20375  6202
20376  0070
20377  0010
       1453          RELOC TTYIN+1   /RELOCATABLE CODE
21453* 6202          CIF
21454* 4657          JMS I BATINI    /JUMP TO GET INPUT FROM BATCH
21455* 7402          HLT             /BAD ERROR
21456* 7410          SKP             /SKIP OVER POINTER
21457* 5400  BATINI, 5400            /POINTER TO BATCH INPUT ROUTINE
21460* 0000          0               /TERMINATOR

21461* 4532          TTYOUT+5        /NOW FOR OUTPUT
       0240          RELOC
       0240          CBATO=. /SET FOR CIF BATCH
       4533          RELOC TTYOUT+6  /POINTER TO MOVE DATA
24533* 6202          CIF             /CIF BATCH
24534* 4735          JMS I .+1       /GO SEND DATA TO BATCH
24535* 7400          7400            /POINTER TO BATCH OUTPUT PROCESSOR
24536* 0000          0               /TERMINATOR


24537* 0414          LFMOD           /POINTER TO LINE FEED MOD
       0415          RELOC LFMOD+1   /RLOCATE THE CODE
20415* 0406          RDTXT           /IGNORE LINE FEEDS
20416* 0000          0               /TERMINATOR

20417* 0316          BATTST+1        /POINTER TO MODIFY BATCH TEST
       0317          RELOC BATTST+2  /RELOCATE THE CODE
20317* 5323          JMP BATBK       /JUMP AROUND THE BATCH SWITCH TEST
                                     /WITH A NEW SYSTEM THE TEST IS ILLOGICAL
                                     /WHICH IS THE CASE IF A BOOT IS REQUESTED
20320* 0000          0               /TERMINATOR
       0252          RELOC

20252  0000          0               /FINAL OVERLAY TERMINATOR



             /NOW COMES THE RESET CODE TO PUT THINGS BACK
             / THE WAY THEY WERE TO BEGIN WITH.

20253  1452          TTYIN           /POINTER TO MOVE DATA
       1453          RELOC TTYIN+1   /RELOCATABLE CODE
21453* 6031          KSF             /SKIP ON FLAG
21454* 5253          JMP .-1
21455* 6036          KRB             /READ A CHAR
21456* 7450          SNA             /LOW LEVEL BLANK IGNORE
21457* 5253          JMP TTYIN+1     /GO GET ANOTHER
21460* 0000          0               /OVERLAY TERMINATOR

21461* 4532          TTYOUT+5        /NOW FOR OUTPUT
       4533          RELOC TTYOUT+6  /RELOCATE AGAIN

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 107-1

24533* 6046          TLS             /PRINT THE CHAR
24534* 6041          TSF             /DONE?
24535* 5334          JMP .-1 /NO.
24536* 0000          0               /OVERLAY TERMINATOR

24537* 0414          LFMOD           /POINTER TO LINE FEED MOD
       0415          RELOC LFMOD+1   /RELOCATE ONE MORE TIME
20415* 0476          LFEED           /LINE FEED..ECHO CURRENT COMMAND
20416* 0000          0               /TERMINATOR

20417* 0316          BATTST+1        /POINTER TO BATCH TEST
       0317          RELOC BATTST+2  /RELOCATE THE CODE
20317* 1577          TAD I [7777     /RESET THE CODE TO ORIGINAL STATE
20320* 0000          0               /OVERLAY TERMINATOR

       0275          RELOC
20275  0000          0               /FINAL OVERLAY TERMINATOR
       0400          PAGE


/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 108


             /LDABS DOES A REAL LIVE ABSLOAD IF AC=0
             /IF AC=-2 THEN IT IS LOADING A HANDLER, THIS IS DONE AS FOLLOWS:
             /SEARCH FOR *0
             /THEN LOAD CONSEC WORDS INTO DESCRIPTOR TABLE
             /AT NEXT ORIGIN, LOAD WORDS INTO HANDLER AREA (ALLOW ORIGINS)

             /CAN'T USE PAGE 0 LITERALS IN CASE LOADING OS/8

20400  0000  LDABS,  0
20401  3363          DCA LODTST      /-2 IF HANDLER, 0 IF OS8
20402  1322  LDABS2, TAD JMPNXT
20403  3300          DCA TSTO0
20404  3362          DCA CKSUM       /CLEAR CHECKSUM
20405  4777          JMS I (ICHA     /GET A BUFFER CHAR
20406  5351          JMP LDAB        /NO INPUT FOUND
20407  7450          SNA
20410  5205          JMP .-3         /IGNORE BLANKS
20411  1376          TAD (-200
20412  7640          SZA CLA         /IS IT LEADER?
20413  5353          JMP BADIN       /WASN'T 200..PROBABLY NOT BINARY
20414  4777  LEADER, JMS I (ICHA
20415  5351          JMP LDAB        /STRANGE....ALL LEADER!!!
20416  7450          SNA
20417  5202          JMP LDABS2      /START OVER.BLANKS AFTER LEADER
20420  1376          TAD (-200       /IS IT STILL LEADER?
20421  7450          SNA
20422  5214          JMP LEADER      /YES
20423  7500  NEWWD,  SMA             /IS IT < 200?
20424  5323          JMP FIELDW      /NO.TEST FOR FIELD SEETING
20425  1375          TAD (200        /RESTORE CHARACTER
20426  3357          DCA WD1
20427  4777          JMS I (ICHA
20430  5353          JMP BADIN       /EOF BETWEEN WORDS. HOW NICE!
20431  3360          DCA WD2
20432  4777          JMS I (ICHA
20433  5353          JMP BADIN
20434  1376          TAD (-200       /200 FINISHES US UP
20435  7450          SNA
20436  5347          JMP OVE
20437  3361          DCA WD
20440  4774          JMS I (ASSEM    /ASSEMBLE LAST WORD READ
20441  3355          DCA ORGX        /ALSO TEMP
20442  7430          SZL             /IS IT AN ORIGIN?
20443  5264          JMP ORGTST      /YES
20444  1356          TAD ORIGIN
20445  1375          TAD (200        /GIVE ERROR IF ORIGIN ADVANCES TO 7600
20446  7650          SNA CLA
20447  5353          JMP BADIN
20450  1355          TAD ORGX        /GET WORD BACK
20451  7402  XFIELD, HLT             /GETS CDF N
20452  3756          DCA I ORIGIN    /STORE THIS WORD
20453  6221  CDF20,  CDF 20
20454  2356          ISZ ORIGIN      /SHOULD NEVER SKIP, BUT...
20455  0007  LD7,    7

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 108-1

20456  1357  NEXT,   TAD WD1
20457  1360          TAD WD2         /MAKE UP CHECKSUM
20460  1362          TAD CKSUM
20461  3362          DCA CKSUM
20462  1361          TAD WD
20463  5223          JMP NEWWD

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 109

             ORGTST,                 /TEST FOR ORIGIN
20464  1363          TAD LODTST      /GET POINTER TO PROPER ORIGIN
20465  7650          SNA CLA
20466  5271          JMP .+3
20467  6203          CIF CDF 0       /JUMP TO HANDLER TEST
20470  5773          JMP I (HND
20471  1355          TAD ORGX        /OS/8 - USE REAL ORIGIN
20472  3356  ORI,    DCA ORIGIN      /BUFFER AREA
20473  1363          TAD LODTST      /HANDLER LOAD?
20474  7650          SNA CLA
20475  5256          JMP NEXT        /NOPE
20476  1355          TAD ORGX        /DON'T START LOAD UNTIL *0 IS FOUND
20477  7640          SZA CLA
20500  5256  TSTO0,  JMP NEXT
20501  3300          DCA .-1         /FOUND *0..DO THE LOAD
20502  2363          ISZ LODTST      /YES. BUMP LODTST TO LOAD HANDLER NEXT
20503  5256          JMP NEXT
20504  1251          TAD XFIELD
20505  1372          TAD (-CDF 0
20506  7640          SZA CLA
20507  5312          JMP .+3         /JUMP AROUND IF NOT FIRST TIME
20510  6203          CIF CDF 0       /SUBROUTINE IN FIELD 0
20511  4576          JMS I [FIRST    /FIRST TIME THROUGH


             /DO THIS BETTER; ALSO MAKE SURE HANDLER DOESN(T HAVE A FILED PSEUDO
20512  1371          TAD (CDF 10
20513  3251          DCA XFIELD      /AT THIS POINT, WE START
20514  7240          CLA CMA         /LOADING THE HANDLER INTO THE
20515  3363          DCA LODTST      /AREA SPECIFIED BY HNDORG+1
             /CHECK 'ORIGIN' TO SEE IF HEADER WAS RIGHT SIZE
             /ALSO ELSEWHERE, CAN CHECK ORIGIN WHEN BUMPING TO SEE
             /IF WE HIT ANY MAGIC LOCATIONS
20516  1355          TAD ORGX        /SEE IF LEGAL RE ORIGIN
20517  6203          CIF CDF 0       /OFF ON FIELD 0
20520  4770          JMS I (ORGLIM
20521  3356          DCA ORIGIN      /ACTUAL FIELD 1 ORIGIN
             /       TAD SNACLA      /LOADING FIELD 1..TEST ORIGINS
             /       DCA JMPRE
20522  5256  JMPNXT, JMP NEXT
20523  1367  FIELDW, TAD (-100       /LESS THAN 300 FAILS
20524  7510          SPA
20525  5353          JMP BADIN
20526  3357          DCA WD1
20527  1357          TAD WD1
20530  0255          AND LD7
20531  7640          SZA CLA
20532  5353          JMP BADIN       /DISECT WORD TO CATCH GARBAGE
20533  1363          TAD LODTST      /IF LOADING HANDLER, IGNORE FIELD
20534  7640          SZA CLA
20535  5342          JMP FIELD2
20536  1357          TAD WD1
20537  0366          AND (70         /EXTRACT FIELD SETTING
20540  1175          TAD [CDF 0
20541  3251          DCA XFIELD

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 109-1

20542  4777  FIELD2, JMS I (ICHA
20543  5353          JMP BADIN
20544  1376          TAD (7600
20545  7440          SZA
20546  5223          JMP NEWWD
20547  6203  OVE,    CIF CDF 0       /ROUTINE IN FIELD 0
20550  5574          JMP I [OVER

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 110

20551  6203  LDAB,   CIF CDF 0       /BACK TO FIELD 0
20552  5600          JMP I LDABS     /RETURN FROM SUBROUTINE

20553  6203  BADIN,  CIF CDF 0       /BACK TO FIELD 0
20554  5573          JMP I [BADINP   /BAD INPUT


20555  0000  ORGX,   0
20556  0000  ORIGIN, 0
20557  0000  WD1,    0
20560  0000  WD2,    0
20561  0000  WD,     0
20562  0000  CKSUM,  0
20563  0000  LODTST, 0
20566  0070
20567  7700
20570  2305
20571  6211
20572  1577
20573  3605
20574  0606
20575  0200
20576  7600
20577  0600
       0600          PAGE

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 111

20600  0000  ICHA,   0               /ICHAR CALL ROUTINE FOR FIELD 0
20601  6203          CIF CDF 0       /OFF TO FIELD 0
20602  4777          JMS I (ICHAR    /JUMP TO ICHAR
20603  5600          JMP I ICHA      /ERROR RETURN
20604  2200          ISZ ICHA        /GOOD RETURN
20605  5600          JMP I ICHA      /RETURN TO CALLER



20606  0000  ASSEM,  0               /ASSEMBLE A WORD
                                     /THIS CODE APPEARS IN FIELD 0 ALSO
20607  1776          TAD I (WD1      /GET WORD 1
20610  7106          CLL RTL         /NOW DO THE ROTATE
20611  7006          RTL;RTL
20612  7006
20613  1775          TAD I (WD2      /NOW FOR THE SECOND PART
20614  5606          JMP I ASSEM     /BACK TO CALLER
20775  0560
20776  0557
20777  5074
       1000          PAGE

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 112

       4777          WRITEX=JMS I (7607      /OFF TO WRITE TO DEV.
       4250          ERROR=JMS ERRX          /ERROR SUBROUTINE
             BAK,
21000  6202          CIF 0;WRITEX;4211;1400;26;ERROR /ENTER,TM8E OVERLAY
21001  4777
21002  4211
21003  1400
21004  0026
21005  4250
21006  6202          CIF 0;WRITEX;4701;2000;54;ERROR /SAVE, DATE, MON ERROR, CHAIN OVERLAYS
21007  4777
21010  4701
21011  2000
21012  0054
21013  4250
21014  6221          CDF 20
21015  6202          CIF 0;WRITEX;4101;LDRCTL;70;ERROR /ABSLDR CORE CONTROL BLOCK
21016  4777
21017  4101
21020  4113
21021  0070
21022  4250
21023  1376          TAD (-114
21024  6202          CIF 0
21025  4775          JMS I (MOVE
21026  6201          CDF 0
21027  4264          4264
21030  6201          CDF 0
21031  3464          3464
21032  6202          CIF 0;WRITEX;4200;3400;64;ERROR
21033  4777
21034  4200
21035  3400
21036  0064
21037  4250
21040  6202          CIF 0;WRITEX;5210;2000;71;ERROR /ABSLDR
21041  4777
21042  5210
21043  2000
21044  0071
21045  4250
21046  6213          CIF CDF 10      /BACK TO FIELD 1
21047  5774          JMP I (WHER

21050  0000  ERRX,   0               /WRITE ERROR
21051  7602          HLT CLA         /HIT CONTINUE TO RETRY
21052  1250          TAD ERRX
21053  1373          TAD (-6         /BACK TO TRY AGAIN
21054  3250          DCA ERRX        /AGAIN
21055  5650          JMP I ERRX      /RETRY



/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 113


21173  7772
21174  7274
21175  4400
21176  7664
21177  7607
20173  4716
20174  4705
20175  6201
20176  3600
20177  7777
       0000          FIELD 0
       0200          *200
                     $

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 114

ACT    1267      BOOTG  4342      CORX   0352      DVNUM  1032
ACTION 1404      BOOTQ  2563      COR0   0333      DVREC  4265
ACTIV  3056      BOOT2  3214      COR1   0342      DVTYPE 0004
ACTIVE 0006      BOOT2A 3000      COR2   0344      ECHO   0504
ACTNAM 2665      BOOT2X 3034      COR70  0350      ECHOFL 4551
ACTSW  0661      BOOT3  3506      COUNT  0020      END    4363
ADV    2466      BOOT4  4462      COUNT2 6130      ENDLIN 0523
ADVBOT 4540      BOOT5  4200      CPREC2 4127      ENTPT  0005
ADVDSC 4541      BOOT6  4201      CRLF   4736      EOL    2703
ALTER  1625      BOOT7  4215      CSA    7515      ERR    4307
ALTMOD 0511      BOOT8  4241      CTCTST 4437      ERROR  4250
AMTCOR 5067      BOTADV 4017      CTLCM  1675      ERRX   1050
ASSEM  0606      BUFFER 5400      CTO    4673      EXAM   1731
ASSEMB 4450      BUFLD  6072      CTRLC  4274      EXAMDC 1720
B      3271      BUILD  5303      CTRLU  0514      EXAMIN 1624
BADARG 4166      CARRET 0467      DATEWD 7666      EXAMSB 1733
BADIN  0553      CAR1   0470      DCB    0004      FIELDW 0523
BADINP 4716      CASIT  7517      DCBCM  1674      FIELD2 0542
BADLOD 0673      CBATI  0231      DCBTBL 7760      FILPTR 1057
BADORG 2333      CBATO  0240      DCOM   1423      FIRST  3600
BADPLT 1331      CDF20  0453      DEL    1410      FLAG2  0045
BADV   2512      CDKNT  7517      DELETE 1214      FLD    6125
BAK    1000      CDN    7417      DELGN  1414      FNDBOT 4222
BAKC   0566      CDPTR  7516      DELNAM 1413      FROMBO 4230
BAKCHR 4547      CHAR   0021      DETEM  1360      FROMOV 2443
BATBK  0323      CHAR1  5143      DEVBUF 0400      GCHCOM 5144
BATDON 0226      CHAR2  5137      DEVSIZ 0007      GET    4562
BATINI 1457      CHCNT  5162      DGET   1447      GETC   0563
BATLS  0230      CHECK  6131      DHYPH  1432      GETCHA 0306
BATLUP 0217      CHKLUP 0602      DIRLOC 3400      GETCHR 4550
BATMOV 0213      CHKNAM 0600      DLENGT 4165      GETDCB 3242
BATSET 0200      CHKRES 3035      DOLR   0220      GETEM  0326
BATT   0004      CHPTR  5163      DONE   2046      GETEMP 2220
BATTST 0315      CHTMP  5071      DOT    2671      GETLEN 4132
BATXR1 0010      CHTMP2 4672      DOTCNT 2702      GETNUM 0523
BATXR2 0011      CKSUM  0562      DPROPR 4157      GETPG  1600
BD     0302      CKSUMM 6132      DRECT  3505      GETSLO 3200
BDV    2524      CK1    6142      DRIVER 1033      GETU   1025
BEGLIN 5200      CLRTBL 2274      DSCADV 4000      GETUSR 1536
BIGFLG 0716      CN     4266      DSCPTR 0033      GETVAL 1664
BIGNAM 0704      COM    1270      DSCTAB 6400      GNAME  2705
BINARY 6000      COMMA  2553      DSK    1464      GNAME2 2723
BINBUF 5106      CONFIG 0215      DSKBAD 2756      GNMXR  0016
BINPUN 6000      COPREC 4122      DSKBIT 0006      GO     2256
BLDCB  1570      COPY   4107      DSKG1  0035      GOOD   2617
BLDCCB 0750      COP2   4056      DSKG2  0036      GOTCHA 2207
BLDLOD 1546      COP3   4106      DSKP1  0037      GOTD   3227
BLDSAV 0076      CORBIT 4132      DSKP2  0040      GOTEM  3147
BLOK66 0000      CORE   3147      DT     2126      GOTSW  0566
BLOOK  4216      CORES  0005      DTYPE  2144      GRPNAM 0650
BOOT   3210      COREX  0363      DVBUF  4264      GRPNM1 0000
BOOTC  3400      CORLOC 0367      DVER   5354      GRPNM2 0001
BOOTD  3437      CORMSG 2102      DVICE  5164      GT     2471
BOOTE  3446      CORSIZ 0306      DVLOOP 4247      GTEXT  0400
BOOTF  4322      CORV   0370      DVNM1  1031      HDPTR  1152

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 114-1

HDRSIZ 0010      LXR    0015      OK     3615      QCKSUM 6236
HND    3605      L0423  1445      OLDPAG 0042      QLEDER 6245
HNDLOC 3071      L15    4302      OLDTOP 2547      QLIST  2107
HNDLOK 1555      L5400  3434      ONEPG  3554      QLUP   2110
HNDPTR 0032      L600   0017      ORGLIM 2305      QPNCH  6234
HYPH   1344      L7400  5032      ORGTST 0464      QROTR  6244
ICHA   0600      L7600  5034      ORGX   0555      Q102   6242
ICHAR  5074      L770   7543      ORI    0472      Q176   6235
IGET   1361      MAXPLT 0004      ORIGIN 0556      Q177   6240
IN     5071      MEQ    1240      OTEMP  4733      Q300   6233
INACT  3126      MEQL   1704      OUT    5072      Q74    6237
INI    2547      MFREE  0070      OVE    0547      Q77    6241
INIT   4542      MOVE   4400      OVER   4705      RBCR   0521
INPDCB 1712      MOVRET 4435      OVERB  6200      RBOUT  0447
INPLAT 1301      MVCDF2 4424      OVROUT 4726      RD     5347
INS    1231      MVCT   4447      PACK   2637      RDCD   5327
INSERT 1207      MVDF   4426      PACKOK 2644      RDIN   5104
INSGN  1252      MVSHND 3424      PAGAD  1672      RDOS8  5313
INSNAM 1251      MVTM1  4513      PAGRES 0006      RDTX   0405
INTEM  1400      MVTM2  4520      PATCH  4552      RDTXT  0406
IOERR  5153      MV20   4432      PBUFFE 1557      READ   4777
IOPEN  3635      MV7600 4536      PGLUP  1115      RECNO  5107
JMPGET 5121      M270   7544      PGNAME 2034      RECNO2 5111
JMPNXT 0522      NAME   1606      PG7600 5400      RECZRO 2341
JMPX   5100      NAMERR 1770      PKNT   1763      RELCOR 0326
JSW    7746      NAME1  0024      PLATNU 0006      REOF   5161
KICKM  1532      NAME2  0025      PLOOP  1745      REPLAC 1200
KLUD   3613      NAME3  0026      PN     1503      RERROR 5147
KORE   4301      NAME4  0027      PNAME  2126      RESTOR 7434
K7750  2240      NCHAR  0542      PNCH   6117      RES76  7477
LCKSUM 4734      NEWCOR 0043      PRETSW 7552      RETSW  5165
LDAB   0551      NEWLIM 3614      PRINT  2000      RIGHT  2653
LDABS  0400      NEWPAG 0041      PRINTE 4622      ROT    0527
LDABS2 0402      NEWWD  0423      PRLUP  2004      ROTL   4513
LDEXT  1153      NEXT   0456      PRMNAM 0662      ROTR   4520
LDR    6013      NFOUND 0717      PRMNM1 0002      RUBFLG 4755
LDRCTL 4113      NMER   3631      PRMNM2 0003      R7600  7545
LD7    0455      NM1    0606      PRNAME 4600      SA     7744
LEADER 0414      NM2    0614      PRNM2  4605      SAMEE  2570
LEDER  6107      NOBIG  0640      PRNT   4745      SAMF   2566
LFEED  0476      NOCOL  1515      PROTEC 2663      SAMPAG 2506
LFMOD  0414      NODEV  1364      PROTL  4461      SAMPG  3143
LIM1   6126      NODSK  1513      PRSPAC 4651      SAVDAT 0044
LIM2   6127      NOHN   4271      PRTM   4735      SAVE   7452
LINEUP 4704      NOMOR  2530      PRTPER 2024      SAVHID 0047
LNLNGT 0103      NOMORE 2527      PRWD   4660      SAVLC  5070
LOAD   1071      NORE   3125      PRWD2  4662      SAVLOC 3561
LOADIN 1066      NORE2  3307      PTM    1762      SAVNAM 1336
LOCSYS 2600      NOROOM 0730      PUT    4563      SAVPTR 2536
LODTMP 1032      NOSLOT 2611      PUTAT  1716      SAV1   0002
LODTST 0563      NOTNUF 2363      PUTNUM 1741      SAV2   0003
LOOKAT 1721      NO4C   3112      PWORD  4632      SBLOCK 7776
LSTPTR 2534      NULL   4654      P2PAG  1635      SBUFF  5360
LWD1   4457      NUMOUT 0556      P200   5105      SDCB   5300
LWD2   4460      ODTL   1657      QCHECK 6243      SETACT 1400

/33 OS/8 V3D BUILD                        PAL8-V10A 24-MAY-87 PAGE 114-2

SETDSK 1525      TSTNAM 1763      
SETSLT 3331      TSTOVR 2234      
SETSY  3311      TSTO0  0500      
SETUP  1000      TTYIN  1452      
SETUPS 3530      TTYOUT 4525      
SHND   5320      TTY240 2000      
SIZCM  1673      TWOPAG 0005      
SIZE   0031      TWOSYS 1224      
SIZLUP 4146      T1AD   3423      
SKPCRD 4541      T2AD   3431      
SLOT   0034      UNLGRP 2423      
SLOTDS 3262      UNLNAM 2412      
SLTLUP 3022      UNLOAD 2400      
SMPG   3326      UNLPRM 2411      
SNACLA 3440      UNSIZE 2553      
SNAME  5340      USRBLK 0013      
SOFSET 7747      USRHPT 0037      
SRES   5260      USRNPT 0036      
STARTB 6020      VERS   0740      
STEMP  5074      WD     0561      
SUBLUP 1031      WD1    0557      
SWAPER 5073      WD2    0560      
SWAPLW 5037      WHAT   2140      
SWAP2  5047      WHER   7274      
SWAP3  5017      WRCD   7313      
SWIT   2664      WRERR  7507      
SYBUF  2260      WRITCC 2155      
SYCTL  2257      WRITE  4777      
SYDCB  7760      WRITEX 4777      
SYNTAX 2750      WROS8  7201      
SYREC  2261      XFIELD 0451      
SYS    2246      XRBACK 0464      
SYSBIT 0005      XR1    0010      
SYSCPY 4037      XR2    0011      
SYSDCB 0046      XR3    0012      
SYSENT 2273      XR4    0013      
SYSLOC 3557      XR5    0014      
SYSL2  3461      XSWTCH 1716      
SYSL3  3501      Z7600  7307      
SYSQ   5121      
SYSSIZ 4273      
SYSTEM 1216      
SYSWP  5000      
TABLMT 0030      
TELCOR 2072      
TEMP   0022      
TEST   2221      
TM     4541      
TMP1   0023      
TMP2   3431      
TOMOV  2445      
TOOMAN 2200      
TO20   5157      
TRYAGN 1052      
TSTEOL 1210      



ERRORS DETECTED: 0
LINKS GENERATED: 0