Trailing-Edge
-
PDP-10 Archives
-
tops10_tools_bb-fp64a-sb
-
10,7/tstsup/tstsup.mac
There are 5 other files named tstsup.mac in the archive. Click here to see a list.
TITLE TSTSUP
.DCUSZ==6
PD=17
ST: RESET
MOVE 1,DEV
MOVEM 1,ARGBLK
MOVE 1,[30,,ARGBLK]
DSKCHR 1,
JRST NOSUP
MOVE 1,.JBSYM##
LOOP: MOVE 2,(1)
CAMN 2,BPU
JRST FOUND
AOBJN 1,.+1
AOBJN 1,LOOP
OUTSTR [ASCIZ /? NO SYMBOL BPU/]
EXIT
FOUND: MOVE 2,ARGBLK+.DCUSZ
MOVEM 2,1(1)
MOVE PD,[IOWD 20,PDL]
SETZB 10,11
SETZB 12,13
INIT 17
DEV: SIXBIT /SUP/
0
JRST NOSUP
MOVEI 1
SUSET.
JRST NOT12
INPUT L
MOVE CLUS,D+HOMBPC
SET: MOVE B
SUSET.
JRST NOT12
INPUT L
GETSTS 1
SETSTS 17
BRK1: PUSHJ PD,DAYTIM
JRST SET
P: SOSA B
N: AOS B
JRST SET
WRITE: MOVE B
SUSET.
JRST NOT12
OUTPUT L
JRST SET
B: 1
L: -200,,.+1
0
D: BLOCK 1000
PDL: BLOCK 21
BPU: RADIX50 10,BPU
ARGBLK: BLOCK 30
PPN=10
NM=11
EXT=12
CLUS=13
SEARCH: CAIGE CLUS,^D50
SKIPN CLUS
MOVEI CLUS,5
MOVE 1,B
IDIVI 1,(CLUS)
SKIPE 2
SETZM B
SSET: MOVE B
SUSET.
JRST NOT12
STATZ 40000
JRST SRCHFL
INPUT L
HLRE 1,D
HRRZ 2,D
SUB 2,1
SKIPE D
CAILE 2,176
JRST SNXT
JUMPL 2,SNXT
CAME PPN,D+1
JUMPN PPN,SNXT
CAME NM,D+2
JUMPN NM,SNXT
HLLZ 1,D+3
SKIPE EXT
CAMN 1,EXT
BRKS: PUSHJ PD,DAYTIM
SNXT: ADDM CLUS,B
JRST SSET
NOSUP: OUTSTR [ASCIZ /NO DSK ASSIGNED AS SUP/]
EXIT
NOT12: OUTSTR [ASCIZ /NOT LOGGED IN AS [1,2]/]
EXIT
SRCHFL: OUTSTR [ASCIZ /SEARCH FAILS!
/]
JRST BRKS
CNVRT: MOVE 4,2
IDIVI 1,12
HRLM 2,(PD)
JUMPE 1,.+2
PUSHJ PD,CNVRT+1
HLRZ 1,(PD)
ADDI 1,"0"
IDPB 1,3
POPJ PD,
DAYTIM: MOVE 3,[POINT 7,CRTIME]
LDB 1,[POINT 11,D+RIBPRV,23 ]
IDIVI 1,^D60
PUSHJ PD,CNVRT
MOVEI 1,":"
IDPB 1,3
MOVE 1,4
IDIVI 1,12
PUSHJ PD,CNVRT
MOVE 1,4
PUSHJ PD,CNVRT
MOVE 3,[POINT 7,ACDATE]
LDB 1,[POINT 15,D+RIBEXT,35]
PUSHJ PD,DATE
MOVE 3,[POINT 7,CRDATE]
LDB 1,[POINT 12,D+RIBPRV,35]
LDB 2,[POINT 7,D+RIBEXT,20]
DPB 2,[POINT 3,1,23]
; JRST DATE
DATE: CAILE 1,32117 ;IF LATER THAN 31-DEC 1999
POPJ PD, ;FORGET IT
IDIVI 1,^D31
ADDI 2,1
EXCH 1,2
PUSHJ PD,CNVRT
MOVEI 1,"-"
IDPB 1,3
MOVE 1,4
IDIVI 1,^D12
MOVE 2,MONTAB(2)
ROT 2,7
IDPB 2,3
TRZ 2,177
JUMPN 2,.-3
MOVEI 2,"-"
IDPB 2,3
ADDI 1,^D64
JRST CNVRT
MONTAB: ASCIZ /Jan/
ASCIZ /Feb/
ASCIZ /Mar/
ASCIZ /Apr/
ASCIZ /May/
ASCIZ /Jun/
ASCIZ /Jul/
ASCIZ /Aug/
ASCIZ /Sep/
ASCIZ /Oct/
ASCIZ /Nov/
ASCIZ /Dec/
CRTIME: ASCII /XX:X /
CRDATE: ASCII /XX-XXX-X /
ACDATE: ASCII /XX-XXX-X /
AOS (PD)
POPJ PD,
HOMNAM==0 ;"HOM" IN SIXBIT (WRITTEN BY MAP PROGRAM)
HOMHID==1 ;SIXBIT UNIT ID (WRITTEN BY MAP PROGRAM)
HOMPHY==2 ;LH=PHYSICAL ADDRESS OF THIS HOME BLOCK ON THIS UNIT
HOMSRC==3 ;LOCICAL POSITION OF THIS STR IN "SYS" SEARCH LIST(0...N)
HOMSNM==4 ;SIXBIT FILE STRUCTURE NAME THIS UNIT BELONGS TO
HOMNXT==5 ;SIXBIT UNIT ID OF NEXT UNIT IN THIS FILE STRUCTURE.
HOMPRV==6 ;SIXBIT UNIT ID OF PREVIOUS UNIT IN THIS FILE STRUCTURE.
HOMLOG==7 ;SIXBIT LOGICAL UNIT NUMBER WITHIN FILE STRUCTURE OF THIS UNIT
HOMLUN==10 ;LOGICAL UNIT NUMBER WITHIN FILE STRUCTURE OF THIS UNIT
HOMPPN==11 ;PROJECT PROGRAMMER NUMBER OF USER WHO REFRESHED DISK
HOMHOM==12 ;LH=LOGICAL BLOCK NUMBER WITHIN UNIT(NOT STR)
HOMGRP==13 ;NO. OF BLOCKS (NOT CLUSTERS) PER GROUP TO TRY FOR
HOMBSC==14 ;# BLOCKS PER SUPER CLUSTER IN THIS STR
HOMSCU==15 ;# SUPER CLUSTERS PER UNIT
HOMCNP==16 ;BYTE POINTER FOR CLUSTER COUNT IN A RETRIEVAL POINTER
HOMCKP==17 ;BYTE POINTER FOR CHECKSUM IN A RETRIEVAL POINTER
HOMCLP==20 ;BYTE POINTER FOR CLUSTER ADDRESS IN A RETRIEVAL POINTER
HOMBPC==21 ;# BLOCKS PER CLUSTER(SAME FOR ALL UNITS IN AN STR)
HOMK4S==22 ;# OF K WORDS OF THIS UNIT USED FOR SWAPPING
HOMREF==23 ;NON-ZERO IF FILE STRUCTURE MUST BE REFRESHED
HOMSIC==24 ;# SAT BLOCKS IN CORE
HOMSID==25 ;SWAPPING ID - SIXBIT UNIT ID OF NEXT UNIT IN ACTIVE SWAPPING LIST
HOMSUN==26 ;LOGICAL UNIT # IN ACTIVE SWAPPING LIST(0,...,7).
HOMSLB==27 ;1ST. LOGICAL BLOCK ON UNIT FOR SWAPPING
HOMCFS==30 ;SWAPPING CLASS FOR UNIT
HOMSPU==31 ;# SAT BLOCKS PER UNIT
HOMOVR==32 ;-# OF BLOCKS OF OVERDRAW ALLOWED A USER ON THIS STR BEFORE
HOMGAR==33 ;UPPER BOUND ON # OF BLOCKS GUARRANTEED TO USERS BY RESERVED
HOMTAB==34 ;FIRST LOC OF TABLE OF LOG. BLOCK NOS OF SYSTEM FILES
HOMSAT==HOMTAB ;LOGICAL BLOCK NO. WITHIN STR(NOT UNIT) OF 1ST RIB FOR SAT.SYS
HOMHMS==35 ; " FOR HOME.SYS
HOMSWP==36 ; " FOR SWAP.SYS
HOMMNT==37 ; " MAINT.SYS
HOMBAD==40 ; " BADBLK.SYS
HOMCRS==41 ; " FOR CRASH.SAV
HOMSNP==42 ; " SNAP.SYS
HOMRCV==43 ; " RECOV.SYS
HOMSUF==44 ; " SYS UFD
HOMPUF==45 ; " PRINTR UFD
HOMMFD==46 ; " FOR MFD [1,1].UFD
HOMPT1==47 ; COPY OF 1ST RETRIEVAL POINTER FOR MFD FOR STR THIS UNIT IS IN
HOMUN1=50 ;LOGICAL UNIT NUMBER OF UNIT ON WHICH MFD BEGINS
HOMLEN==51 ;FIRST ADDRESS OF TABLE OF LENGTHS OF FILES CREATED BY REFRESH
HOMUTP==57 ;UNIT TYPE ON WHICH HOME BLOCK WAS WRITTEN (SEE UNYUTP)
HOMRIP==60 ;USED BY RIPOFF
HOMKLB==61 ;20 WORDS USED BY PDP-11 IN KL10 SYSTEMS
HOMFEB==:61 ;BLOCK NO OF FE.SYS (1ST DATA BLOCK)
FEVALID==:100000 ;VALID ADR IF ON
HOMFEL==:62 ;LENGTH OF FE.SYS
HOMFEA==101 ;FE-FILE ADDRESS FOR KS10
HOMFEL==102 ;FE-FILE LENGTH FOR KS10
HOMTCS==103 ;TRACK/CYL/SECTOR FOR KS10
HOMKLE==104 ;TO FIND FILES FOR BOOTSTRAP/DUMP
HOMK4C==105
HOMBTS==106 ;BITS IN THE HOME BLOCK
HOMPVS==HOMBTS ;WORD CONTAINING BIT WHICH SAYS PRIVATE STR
HOPPVS==1B35 ;ON IF THIS UNIT IS CONTAINED IN A PRIVATE STR
HOMEND==106 ;LAST WORD CONTAINING VALID DATA IN HOME BLOCK
HOMVID==:165 ;VOLUME ID (3 WORDS, 12 PDP-11 BYTES)
HOMOKC==:170 ;K FOR CRASH.SAV FILE
HOMVSY==:173 ;SYSTEM TYPE (TOPS-10)
HOMCOD==176 ;CONTAINS UNLIKELY CODE, LH=0
CODHOM==707070 ;THE UNLIKELY CODE FOR THE HOME BLOCK
HOMSLF==177 ;LH=0, RH=THIS BLOCK (NO.T CLUSTER) ADR. WITHIN UNIT (SELF)
HOMOWN==:170 ;OWNER NAME
RIBFIR==0 ;CONTAINS AOBJN POINTER TO FIRST RETRIEVAL POINTER IN THIS RIB
; I.E., LH=-MAX. POSSIBLE NO. POINTERS, RH=REL ADR OF FIRST PTR
RIBPPN==1 ;(ACT)(DDB) (ENT) PROJECT,PROGRAMMER # IN OCTAL OR PROJECT
RIBNAM==RIBPPN+1;(ACT)(DDB) (ENT) 6 CHAR FILE NAME IN SIXBIT (OR OCTAL PROJECT
RIBEXT==RIBNAM+1;(ACT)(DDB) (ENT) LH 3 CHAR FILE EXTENSION IN SIXBIT; BITS 24-35
; ACCESS DATE. BYTE=RIBACD.
RIBPRV==4 ;(ACT)(DDB) (ENT)FILE ATTRIBUTES 0-8 ACCESS CODE, 9-12 MODE, 13-23
RIBATT==RIBPRV ;ANOTHER SYMBOL FOR SAME LOCATION
RISPRV==^D9
RINPRV==^D8
PRTEXC==1 ;EXECUTE ONLY-IE GET, R,RUN ACCESS
PRTRED==2 ;READ ONLY
PRTAPP==3 ;APPEND (ALLOCATE, DEALLOCATE, APPEND)
PRTUPD==4 ;UPDATE
PRTWRT==5 ;WRITE (SUPERSEDE,TRUNCATE)
PRTREN==6 ;RENAME (CHANGE ATTRIBUTES, NAME, EXT, DIR)
PRTCPR==7 ;CHANGE PRIVILEGE
RIRXLK==4 ;1 ALLOWS LOOKUPS IN DIRECTORY
RIRXCR==2 ;1 ALLOWS CREATES IN DIRECTORY
RIRXRD==1 ;1 ALLOWS DIRECTORY TO BE READ AS A DATA FILE
RIBSIZ==5 ;(ACT)(DDB) (ENT) LH: WRITTEN LENGTH IN WORDS OR
RIBVER==RIBSIZ+1;(ENT) VERSION NUMBER (LIKE JOBVER)
; LH=PROGRAMMER NUMBER LAST MAKING CHANGE
; RH=OCTAL VERSION NUMBER NEVER CONVERTED TO DECIMAL
RIBSPL==7 ;(ENT) POSSIBLE USER FILE NAME WHEN FILE BEING SPOOLED
RIBEST==10 ;(ENT) ESTIMATED LENGTH IN CORE & NR. OF BLOCKS
RIBALC==11 ;(ENT) # OF BLOCKS ALLOCATED TO FILE INCLUDING BOTH RIBS.
RIBPOS==RIBALC+1;(ENT) LOGICAL BLOCK OF # WITHIN STR OF LAST ALLOCATED GROUP OF FILE
RIBFT1==13 ;ARG SAVED FOR FUTURE FOR DIGITAL TO DEFINE
RIBUNI==:RIBFT1 ;(PRIV'D) UNITS WHICH WROTE FILE
;BITS 10-17 = UNIT
;BITS 18-20 = KONTROLLER
;BITS 21-35 = APR SERIAL NUMBER
RIBNCA==14 ;UNPRIVILEGED ARG FOR EACH CUSTOMER TO DEFINE
RIBLNA==RIBNCA ;LAST UNPRIVILEGED ARG
RIBMTA==15 ;(ENT) 36 BIT TAPE LABEL IF FILE HAS BEEN PUT ON MAGTAPE
RIBDEV==16 ;VALUE ONLY-FILE STRUCTURE NAME FILE STARTS ON
RIBSTS==17 ;STATUS BITS FOR ALL FILES IN UFD(LH),
RIPLOG==400000,,0 ;(LH) IF 1 SAYS USER IS LOGGED IN. SET BY LOGIN CUSP
; RIBTOT IS TO BE BELIEVED (IF RIBLOG==1) SYSTEM
RIPCHG==:10000,,0 ;(LH) FILSER SETS TO 1 IF ANY FILE WRITTEN/RENAMED.
RIPDIR==400000 ;(RH) 1 IF THIS FILE IS A DIRECTORY FILE (UFD OR MFD)
RIPNDL==200000 ;(RH)[NO DELETE] 1 IF THIS FILE CANNOT BY
RIPDMP==:100000 ;(RH) THIS FILE CONTAINS A MONITOR DUMP NOT YET
RIPNFS==40000 ;(RH)[NO FAILSAFE] 1 IF THIS FILE SHOULD NOT
RIPABC==20000 ;(RH) ALWAYS BAD CHECKSUM(SWAP.SYS,SAT.SYS)
RIPCBS==:10000 ;(RH) COMPRESS BIT SET (RIPCMP) ON ENTRY TO COMPRESSOR
RIPABU==4000 ;(LH/RH) ALWAYS BACKUP THIS
RIPNQC==2000 ;NON QUOTA-CHECKED FILE
RIPCMP==1000 ;(RH) THIS UFD IS BEING COMPRESSED
RIPSCE==400 ;(LH/RH) 1 IF ANY FILE IN UFD/THIS FILE HAS HAD A SOFTWARE
RIPHWE==200 ;(LH/RH) 1 IF ANY FILE IN UFD/THIS FILE HAS HARD (3 TIMES)
RIPHRE==100 ;(LH/RH) 1 IF ANY FILE IN UFD/THIS FILE HAS HARD (3 TIMES)
RIPPAL==20 ;(RH) THIS IS A PRE-ALLOCATED FILE
RIPBFA==10 ;(LH/RH) 1 IF ANY FILE IN UFD/THIS FILE IN UFD FOUND BAD BY FAILSAFE
RIPCRH==4 ;(LH/RH) 1 IF ANY FILE IN UFD/THIS FILE WAS CLOSED AFTER A CRASH
RIPBDA==1 ;(LH/RH) 1 IF ANY FILE IN UFD/THIS FILE IN UFD FOUND BAD BY DAMAGE
RIPNCK==RIPDIR!RIPABC ;DIRECTORIES HAVE BAD CHECKSUMS
RIPNDP==:RIPNDL!RIPPAL
IOSHRE==RIPHRE
IOSHWE==RIPHWE
IOSSCE==RIPSCE
IOSERR==IOSHRE+IOSHWE+IOSSCE
IOSMER==-IOSERR-1
RIBELB==20 ;LOGICAL BLOCK WITHIN ERROR (SEE RIBEUN)
;LH=CONI BITS 12-29 ON ERROR (SEE BAFELB)
RIBEUN==21 ;LH=LOGICAL UNIT # WITHIN STR ON WHICH ERROR REGION OCCURED (0..)
RIBNBB==RIBEUN ;RH=# OF CONSECUTIVE LOGICAL BLOCKS IN BAD REGION
RIBQTF==22 ;(UFD ONLY) FIRST COME FIRST SERVE LOGGED IN QUOTA IN TOTAL
RIBQTO==23 ;(UFD-ONLY) LOGGED-OUT QUOTA IN TOTAL NUMBER OF DATA + RIB
RIBQTR==24 ;(UFD-ONLY) RESERVED LOGGED IN QUOTA IN TOTAL NUMBER
RIBUSD==25 ;(UFD-ONLY) COUNT OF BLOCKS USED (INCLUDING ALL OVERHEAD BLOCKS)
; (PROVIDED LOGBIT=0). WRITTEN BY LOGOUT, READ BY LOGIN.
RIBAUT==26 ;PROJ-PROG # OF AUTHOR OF FILE, IE USER DOING
RIBNXT==27 ;(ENT) SIXBIT NAME OF NEXT FILE STRUCTURE IF THIS FILE IS
RIBPRD==30 ;(ENT) SIXBIT NAME OF PREDECESSOR FILE STR IF THIS
RIBPCA==31 ;(ENT) PRIVILEGED ARG FOR EACH CUSTOMER TO DEFINE
RIBUFD==32 ;(ENT) LOGICAL BLOCK NUMBER WITHIN STR OF UFD DATA BLOCK(RATHER THAN CLUSTER
RIBFLR==33 ;(ENT) RELATIVE BLOCK NUMBER IN FILE OF FIRST BLOCK IN RIB. IMPLEMENTED
RIBXRA==34 ;(ENT) (DDB) EXTENDED RIB ADDRESS. POINTS TO NEXT RIB IN CHAIN. IF 0 THIS IS
RIBTIM==35 ;(ENT) CREATION DATE & TIME IN NEW DATE FORMAT
RIBLAD==36 ;LAST ACCOUNTING DATE (UFD)
RIBDED==37 ;DIRECTORY EXPIRATION DATE (UFD)
RIBACT==40 ;AOBJN POINTER TO ACCOUNT STRING
RIBENT==RIBACT ;LAST ARG OR VALUE ON EXTENDED LOOKUP/ENTER/RENAME
RIPNUB==400000 ;BIT SET IN NEW UNIT PTR. TO INSURE NON-ZERO
RIBWN1==RIBENT+PTRLEN ;RELATIVE LOCATION OF LAST POINTER TO BE
BLKCOD==176
BLKSLF==177
ACTSTL==10
PTRLEN==7
RIBACS==RIBCOD-ACTSTL ;BLOCK ACTSTL LONG AT END OF RIB CONTAINS
RIBCOD==BLKCOD ;CONTAINS UNLIKELY DATA WORD (I.E., NOT ASCII OR FLOATING POINT)
;LH=0
CODRIB==777777 ; THE UNLIKELY CODE
MRIBLN==RIBENT-RIBCOD+1+ACTSTL ;-MAX. NO. OF RETRIEVAL POINTER (AND UNITS AND ETC.)
RIBSLF==BLKSLF ;THIS BLOCK (NOT CLUSTER) NUMBER (SELF)
RIBLEN==-MRIBLN
END ST