~~ I>~~~~~~~~a ~ q~~ q ; ; SYSTEM PARAMETERS. ; ; LINKAGE .DUSR SAVE = JSR@ 3  ;CALL TO SAVE REGISTERS .DUSR RTRN = JSR@ 4  ;CALL TO RESTORE REGISTERS .DUSR RTLOC=0   ;RETURN LOCATION .DUSR AC0=1   ;AC0 .DUSR AC1=2   ;AC1 .DUSR AC2=3   ;AC2 .DUSR TMP=4   ;FIRST TEMPORARY .DUSR MXTMP=TMP+10 .DUSR SP=-1   ;CURRENT STACK POINTER .DUSR SLGT=MXTMP-SP+1  ;STACK FRAME LENGTH .DUSR OSP=-SLGT+SP  ;LAST FRAME POINTER .DUSR NSP=SLGT+SP   ;NEXT FRAME POINTER .DUSR OAC0=AC0-SLGT  ;OLD AC0 .DUSR OAC1=AC1-SLGT  ;OLD AC1 .DUSR OAC2=AC2-SLGT  ;OLD AC2 .DUSR ORTN=RTLOC-SLGT  ;RETURN LOCATION. .DUSR NFRAM=22   ;NUMBER OF SYSTEM STACK FRAMES ; ; MISC. ; .DUSR RLOC = 6   ;PAGE ZERO TEMP. .DUSR CSP = 10   ;STACK POINTER .DUSR .PNIC = 7   ;PANIC .DUSR UMSK=14   ;USER MASKING ROUTINE ; ; BUFFER ENTRY ; .DUSR BQTLA=-11  ;TIME LAST ASSIGNED ( 0 = USE ME FIRST) .DUSR BQDST=-10  ;DEVICE STATUS WORD .DUSR BQDCB=-7  ;DCB ADDRESS .DUSR BQERC=-6  ;ERROR COUNT .DUSR BQST=-5  ;STATUS WORD .DUSR BQDCT=-4  ; DCT ADDRESS .DUSR BQUN=-3  ;UNIT NUMBER .DUSR BQCA=-2  ;CURRENT BLOCK DEVICE ADDRESS .DUSR BQNXT=-1  ;LINK TO NEXT BUFFER .DUSR BQBF=0  ;START OF DATA .DUSR BQNXL=377  ;LINK WORD/FILE NUMBER .DUSR BQXTA=400  ;XTRA WORD .DUSR BQEL = BQXTA-BQTLA+1 ; ; DEVICE CONTROL BLOCK ; .DUSR DCBDC=0  ;DCT ADDRESS .DUSR DCBUN=1  ;UNIT NUMBER .DUSR DCBCA=2  ;CURRENT BLOCK DEVICE ADDRESS .DUSR DCBCB=3  ;CURRENT BLOCK NUMBER .DUSR DCBST=4  ;STATUS .DUSR DCBNA=5  ;NEXT ADDRESS .DUSR DCBLA=6  ;LAST ADDRESS .DUSR DCBDR=7  ;SYS.DR DCB POINTER .DUSR DCBFA=10  ;FIRST ADDRESS .DUSR SFEL=DCBFA-SFKEY+1 ;ENTRY ELNGTH ; DEVICE CONTROL TABLE (DCT) LAYOUT ; COMMON TO ALL DEVICES .DUSR DCTCD= 0 ; DEVICE CODE .DUSR DCTMS= 1 ; MASK OF LOWER PRIORITY DEVICES .DUSR DCTCH= 2 ; DEVICE CHARACTERISTICS .DUSR DCTLK= 3 ; LINK TO NEXT DCT   ; (-1 TERMINATES THE CHAIN) .DUSR DCTIS= 4 ; INTERRUPT SERVICE ROUTINE ADDRESS .DUSR DCTCW= 5 ; COMMAND ENABLE BIT WORD ; DEFINE THE COMMAND BITS .DUSR OF= 1B15 ; OPEN FILE .DUSR CF= 1B14 ; CLOSE FILE .DUSR RS= 1B13 ; READ SEQUENTIAL .DUSR RL= 1B12 ; READ LINE .DUSR RR= 1B11 ; READ RANDOM .DUSR WS= 1B10 ; WRITE SEQUENTIAL .DUSR WL= 1B09 ; WRITE LINE .DUSR WR= 1B08 ; WRITE RANDOM .DUSR OA= 1B07 ;OPEN FOR APPEND .DUSR DCTDT= 6 ; COMMAND DISPATCH TABLE ADDRESS WORD ; COMMON TO DEDICATED DEVICES (I.E. SINGLE USER/SINGLE BUFFER) .DUSR DCTST= 7 ;ADDRESS OF DEVICE START ROUTINE .DUSR DCTSP= 10 ;ADDRESS OF DEVICE STOP ROUTINE .DUSR DCTFL= 11 ;FLAGS ;DEFINE THE FLAGS .DUSR DCACT=1B15 ;ACTIVE FLAG .DUSR DCACP=1B13 ;ACCEPT CHARACTER FLAG .DUSR DCKMD=1B12 ;TTY KEYBOARD MODE FLAG .DUSR DCTBS= 12 ; BUFFER SIZE ( BYTES ) .DUSR DCTBF= 13 ; BUFFER FIRST ADDRESS (BYTE ) .DUSR DCTBL= 14 ; BUFFER LAST ADDRESS .DUSR DCTIP= 15 ; BUFFER INPUT POINTER (BYTE ) .DUSR DCTOP= 16 ; BUFFER OUTPUT POINTER .DUSR DCTCN= 17 ; COUNT OF ACTIVE DATA .DUSR DCTTO= 20 ; TIMEOUT WORD (ALL INPUT DEVICES) .DUSR DCTCC= 20 ; COLUMN COUNTER (ALL OUTPUT DEVICES) .DUSR DCTRC= 21 ; RESTART CONSTANT (ALL INPUT DEVICES) .DUSR DCTLC= 21 ; LINE COUNTER (ALL OUTPUT DEVICES) .DUSR DCTS0= 22 ; DEVICE SPECIAL WORD 0 .DUSR DCTS1= 23 ; DEVICE SPECIAL WORD 1 .DUSR DCTTR= DCTS0 ; TRANSLATION ROUTINE ADDRESS ; COMMON TO BLOCK TRANSFER DEVICES .DUSR DCTRDB=7  ;READ A BLOCK .DUSR DCTPRD=10  ;PREREAD NEXT BLOCK .DUSR DCSTI=11  ;START INPUT .DUSR DCSTO=12  ;START OUTPUT .DUSR DCCRQ=13  ;CURRENT REQUEST BUFFER POINTER .DUSR DCDCL=14  ;DCT LINK .DUSR DCTRL=15  ;READ LAST BLOCK .DUSR DCTRN=16  ;READ NEXT BLOCK .DUSR DCTIN=17  ;DEVICE INITIALIZATION .DUSR DCTRS=20  ;DEVICE RELEASE .DUSR DCNBK=21  ;NUMBER OF BLOCKS ON DEVICE ; DEFINE THE CHARACTERISTICS .DUSR DCCPO= 1B15 ; DEVICE REQUIRING LEADER/TRAILER .DUSR DCCGN= 1B14 ; GRAPHICAL OUTPUT DEVICE WITHOUT TABBING   ; HARDWARE .DUSR DCIDI= 1B13 ; INPUT DEVICE REQUIRING OPERATOR INTERVENTION .DUSR DCCNF= 1B12 ; OUTPUT DEVICE WITHOUT FORM FEED HARDWARE .DUSR DCTO= 1B11 ; TELETYPE OUTPUT DEVICE .DUSR DCKEY= 1B10 ; KEYBOARD DEVICE .DUSR DCNAF= 1B9 ; OUTPUT DEVICE REQUIRING NULLS AFTER FORM FEEDS .DUSR DCRAT= 1B08 ; RUBOUTS AFTER TABS REQUIRED .DUSR DCPCK= 1B07 ; DEVICE REQUIRING PARITY CHECK .DUSR DCLAC= 1B06 ; REQUIRES LINE FEEDS AFTER CARRIAGE RTN .DUSR DCFWD= 1B04 ; FULL WORD DEVICE (ANYTHING GREATER THAN .DUSR DCDIR= 1B00 ; DIRECTORY DEVICE ; DEFINE THE DEVICE MASK BITS .DUSR MSTTO= 1B15 ; TTO .DUSR MSTTI= 1B14 ; TTI .DUSR MSPTP= 1B13 ; PTP, RTC .DUSR MSLPT= 1B12 ; LPT, PLT .DUSR MSPTR= 1B11 ; PTR .DUSR MSCDR= 1B10 ; CDR, MTA .DUSR MSDSK= 1B09 ; DSK .DUSR MSDKP= 1B7 ; DKP .EOT *U*U*U*Ux