Trailing-Edge
-
PDP-10 Archives
-
CFS_TSU04_19910205_1of1
-
update/ihssrc/s60.p11
There are 5 other files named s60.p11 in the archive. Click here to see a list.
.SBTTL S60 - various symbol and macro definitions...DN60
.REPT 0
COPYRIGHT (c) 1982,1981, 1980, 1979
DIGITAL EQUIPMENT CORPORATION, maynard, mass.
THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER
COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
OTHER PERSON. NO TITLE TO AND OWNERSHIP OF THE SOFTWARE IS HEREBY
TRANSFERRED.
THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE
AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
CORPORATION.
DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.
.ENDR
; VERSION 2(42): FEBRUARY 01, 1978 -- DMCC/EGF/JBS/KR/MM
;Revision history
; 1(27) 17-Aug-76 received from John Sauter
; 1(30) 05-Oct-76 added DZ11 symbols
; 1(31) 04-NOV-76 ADDED DTE20 SYMBOLS
; 1(32) 21-JAN-77 FIXED DTE20 SYMBOLS AND ADDED
; DUP11 SYMBOLS.
; 1(33) 14-FEB-77 UPDATED COPYRIGHT NOTICE
; 1(34) 17-FEB-77 CORRECTED SOME ERRORS IN DTE20
; SYMBOLS AND REMOVED SWITCH REG
; 1(35) 09-MAR-77 ADDED MORE DTE20 BITS
;
; 1(36) 18-MAR-77 REMOVED KGLOAD MACRO
;
; 1(37) 01-APR-77 CHANGED NAME TO "DN60".
;
; 1A(40) 27-JUN-77 ADDED KMC11, REMOVED PA611
;
; 2(41) 13-SEP-77 CORRECTED PRIORITY LEVEL FOR
; KW11-L AND REMOVED P=SP.
;
; 2(42) 01-FEB-78 ADDED HASP-MULTILEAVING STOPCODES
;
; 3(001) BS ADDED VERSION NUMBER
VS=001
VEDIT=VEDIT+VS
.SBTTL ASSEMBLY/LISTING CONTROLS
.IIF NDF DEBUG,DEBUG=0 ;LEVEL OF DEBUG CODE INCLUDED
; 0 = NONE = KEEP AS SMALL AS POSSIBLE
; 1 = SOME - KEEP TRACKS, DIE ON SOME ERRORS
; -1 = DIE ON ALL ERRORS
.ENABL LC ;LOWER CASE IS LOWER CASE
.ENABL ABS,AMA ;ABSOLUTE PROGRAM, ABS ADDRESSES
.IIF NDF,VISIBL,VISIBL=0 ;default is for invisible conditionals
.IF NE,VISIBL
.LIST CND
.IFF
.NLIST CND
.ENDC ;.IF NE,VISIBL
.IIF NE,DEBUG, .LIST MEB ;expand code macroes for debug listings
.IIF NDF FT.HLP,FT.HLP= 1 ;1 = type out stopcd information
.IIF NDF FT.CHK,FT.CHK= 0 ;1 equals check stuff on fly
.IIF NDF PASS,PASS=0 ;count assembler passes
PASS=PASS+1
.SBTTL STOPCD'S
; THESE STOP CODES ARE FOR ALL DEC SYSTEMS USING THIS PREFIX FILE.
; PART 1--STOP CODES COMMON TO DN60, DAS76, DAS80, DAS81,
; DAS82, DAS85 AND DAS87.
S..NXM= 1 ;BUS TRAPS'S, ADDRESS ERROR'S, ETC.
S..DL10=2 ;DL10 ERRORS
S..CNK= 3 ;CHUNKS ARE MESSED UP
S..ILS= 4 ;ILLEGAL INSTRUCTION
S..CTY= 5 ;NO CTY
S..MEM= 6 ;MEMORY ERROR (E.G. PARITY, OR CAN'T READ WRITE BITS)
S..KW11=7 ;KW11-L ERROR
S..CHK=10 ;CHK11-DETECTED ERROR
S..NCI=11 ;NOT ENOUGH CORE FOR INITIALIZATION
S..WDG=12 ;CLOCK STOPPED TICKING
S..LOP=13 ;LOOP IN LOW-PRIORITY CODE
S..DBG=14 ;DEBUGGING STOP
; STOP CODES 15 TO 23 ARE RESERVED FOR CODES COMMON TO
; ALL PRODUCTS.
; PART 2 -- STOP CODES FOR DAS80, DAS81, DAS82, DAS85 AND DAS87
S..NCN=24 ;NO CONNECTION FOR RECEIVED DATA
; OR CONNECTION NUMBER USED BY SOME OTHER NODE
S..BDT=25 ;BAD DATA TYPE REQUESTED BY 10
; STOP CODES 26 TO 37 ARE RESERVED FOR DAS80, DAS81, DAS82
; DAS85 AND DAS87.
; PART 3 -- STOP CODES FOR DN60 SERIES
S..BAF=40 ;BAD ADDRESS IN SUBROUTINE "FRECHK"
;S..QIE=41 ;DQ11 SUBROUTINE CALLED WITH INTERRUPTS ENABLED
S..UQR=42 ;UNKNOWN (DISABLED) DQ11 RECEIVER INTERRUPT
S..UQX=43 ;UNKNOWN (DISABLED) DQ11 TRANSMITTER INTERRUPT
S..QRN=44 ;DQ11 SUBROUTINE CALLED WITH DQ11 ALREADY RUNNING
S..NDQ=45 ;NO DQ11S ON DN60
S..QER=46 ;DQ11 ERROR
S..QXC=47 ;DQ11 TRANSMITTER CHUNK CONFUSION
S..QRC=50 ;DQ11 RECEIVER CHUNK CONFUSION
S..BCE=51 ;BCC ACCUMULATION ERROR
S..XMB=52 ;TRANSLATOR MESSAGE BUILDING ERROR
;S..QUE=53 ;QUEUEING ERROR
S..TEN=53 ;TENTSK TCB VANISHED AND WE GOT A TEN INTERRUPT
S..TER=54 ;"TEN ERROR" -- ERROR IN '10 PROTOCOL
S..HTS=55 ;ERROR IN HORIZONTAL TABULATION SETTING MESSAGE
; THE FOLLOWING STOPCODES ARE USED BY THE DTE DRIVER AND THE QUEUED
; PROTOCOL INTERFACE IN THE IMPLEMENTATION OF DN61-S(WITH DTE20).
.IF DF,FT2020 ;IF ON A 2020
S..DMA= 56 ;DMC INITIALIZATION ERROR
S..DMC= 57 ;DMC ERROR
S..DTB= 60
.ENDC ;END IF DF,FT2020
.IF NDF,FT2020 ;IF NOT ON A 2020
S..DTA= 56 ;INITIALIZATION ERROR
S..DTB= 57 ;TO TEN DONE ERROR
S..DTC= 60 ;TO ELEVEN DONE ERROR
S..DTD= 61 ;DOORBELL ERROR
S..DTE= 62 ;E-BUS PARITY ERROR
S..DTF= 63 ;QPR COUNT ERROR
S..DTG= 64 ;PROTOCOL BROKEN
S..DTH= 65 ;PROTOCOL BROKEN
S..DTI= 66 ;PROTOCOL BROKEN
.ENDC ;END IF NDF,FT2020
; THE FOLLOWING STOPCODES ARE USED BY THE KMC11 INTERFACE
S..KCQ=67 ;KMC11 COMPLETE ON AN IDLE LCB
S..KNA=70 ;KMC11 NOT FOLLOWING ACTIVE FLAG
S..KNR=71 ;KMC11 NOT RUNNING
S..KKS=72 ;KMC11 KEEP-ALIVE STOPPED.
S..KMM=73 ;KMC11 MISSING FOR A PRESENT DUP11
S..KKF=74 ;KMC11 KILL FAILED (TIMED OUT)
; THE FOLLOWING STOPCODES ARE USED BY DN65/62 FOR HASP-MULTILEAVING
S..HSA=75 ;TROUBLE BUIKDING HASP TRANSMISSION BLOCK
S..HSB=76 ;POINTER TO DEVICE MESSAGES WIPED OUT (ZERO)
S..HSC=77 ;POINTER TO BSC TCB IS ZERO
S..HSD=100 ;POINTER TO THE DEVICE'S XLATE TCB IS ZERO
S..HSE=101 ;RESERVED FOR HASP-MULTILEAVING
S..HSF=102 ;RESERVED FOR HASP-MULTILEAVING
S..BUG=105 ;software bug
S..HFR=106 ;FORMAT ERROR IN RECEIVE DATA
S..HDO=107 ;DEVICE REQUESTED BY REMOTE NON-EXISTANT
S..HMS=110 ;MESSAGE STUCK IN XLHASP, COULD NOT GO TO BSC
S..DTM=111 ;tcb missing from queue
;DTE service errors
S..S11=120 ;-11 logic error
S..RTC=S..S11+1 ;recursive TGHA call
S..INZ=S..RTC+1 ;interrupt conditions not zero
S..XTF=S..INZ+1 ;XTENCM tried to write too much
;-11 logic error
S..RTC=S..S11+1 ;recursive TGHA call
S..INZ=S..RTC+1 ;interrupt conditions not zero
S..XTF=S..INZ+1 ;XTENCM tried to write too much
; STOP CODES 120 TO 137 ARE RESERVED FOR FUTURE EXTENSIONS TO
; THE DN60 SERIES.
; STOP CODES 140 TO 377 ARE RESERVED FOR FUTURE ASSIGNMENT.
S..RNG=141
;STOP CODE MACRO: FORM IS "STOPCD <CODE>,<SEVERITY>"
.MACRO STOPCD CD,TYPE
Z=1
.IF NB TYPE
.IF IDN <TYPE><DEBUG>
.IIF EQ DEBUG,Z=0
.ENDC;.IF IDN <TYPE><DEBUG>
.ENDC;.IF NB TYPE
.IF NE Z
MFPS TRPPS ;uncleverly save condition codes
MOV SP,TRPSTK ;save current stack
MOV #TRPSTK,SP ;get special stack for trap processing
.IF NB CD
TRAP S..'CD
.IFF
TRAP
.ENDC;.IF NB CD
.IFF
NOP
.ENDC;.IF NE Z
.ENDM STOPCD
.SBTTL DEFINE REGISTERS AND PROCESSOR STATUS WORD LOCATION
; REGISTER DEFINITIONS
R0= %0
R1= %1
R2= %2
R3= %3
R4= %4
R5= %5
SP= %6 ;STACK POINTER
P= %6
PC= %7
.=177776
PS: .BLKW 1 ;PROCESSOR STATUS WORD
.SBTTL BIT DEFINES
B0= 1
B1= 2
B2= 4
B3= 10
B4= 20
B5= 40
B6= 100
B7= 200
B8= 400
B9= 1000
B10= 2000
B11= 4000
B12= 10000
B13= 20000
B14= 40000
B15= 100000
;DEFINE PROCESSOR LEVELS
BR0= 0
BR1= 1*40
BR2= 2*40
BR3= 3*40
BR4= 4*40
BR5= 5*40
BR6= 6*40
BR7= 7*40
.SBTTL VECTORS
.MACRO X TYP,VQ,LQ
.IIF NDF TYP'INT,TYP'INT= ERRINT
TYP'VEC= VQ ;VECTOR FOR TYP IS VQ
.IF B LQ
TYP'LVL= 7 ;DEFAULT LEVEL IS LEVEL 7
.IFF
TYP'LVL= LQ ;LEVEL OF TYP IS LQ
.ENDC
.ENDM X
X NXM,04 ;BUS-TIMEOUT INTERRUPT
X ILS,10 ;ILLEGAL INSTRUCTION INTERRUPT
X BPT,14 ;BPT
X IOT,20 ;IOT INSTRUCTION
X PWF,24 ;POWER FAIL INT'S
X EMT,30 ;EMT CALL'S
X TRP,34 ;TRAP INSTRUCTION
.SBTTL CR11 HARDWARE BITS
CR.LVL= 6 ; PROCESSOR LEVEL FOR CR11 INTERRUPTS
CR.VEC= 230
.=177160
CR0STS: .BLKW 1 ;CR11 STATUS REGISTER
CR0DAT: .BLKW 1
CR.STS= CR0STS ; CR11 STATUS REGISTER
CR.ERR= B15 ; ERROR
CR.DNE= B14 ; CARD DONE
CR.HCK= B13 ; HOPPER CHECK
CR.MCK= B12 ; MOTION CHECK
CR.TIM= B11 ; TIMING ERROR
CR.OLN= B10 ; BACK ONLINE AFTER BEING OFF
CR.BSY= B9 ; BUSY
CR.RDY= B8 ; NOT READY
CR.CDN= B7 ; COLUMN DONE
CR.INE= B6 ; INTERRUPT ENABLE
CR.EJT= B1 ; EJECT
CR.CFD= B0 ; CARD FEED
CR.DAT= CR0DAT ; 12 LOW ORDER BITS ARE DATA
.SBTTL CTY HARDWARE BITS
;CTY HARDWARE BITS
.=177560
CTISTS: .BLKW 1
CTICHR: .BLKW 1
CTIVEC= 60
CTILVL= 4 ; PRIORITY LEVEL
CI.INE= B6 ; CTY INPUT INTERRUPT ENABLE
CTOSTS: .BLKW 1
CTOCHR: .BLKW 1
CTOVEC= 64
CTOLVL= 4 ; PRIORITY LEVEL
CO.INE= B6 ; CTY OUTPUT INTERRUPT ENABLE
CO..MM= B2 ; CTY OUTPUT MAINT MODE
.SBTTL DH11 HARDWARE BITS
DHBASE= 160020 ;HARDWARE ADR OF FIRST DH11
DH.LVL= 7 ;DH11 INTERRUPT LEVEL
; 1ST WORD IS SYSTEM CONTROL REGISTER
DH.RIE= B6 ;RECEIVE INTERRUPT ENABLE
DH..RI= B7 ;RECEIVE INTERRUPT
DH.CNX= B8 ;CLEAR NON EX MEM INT
DH..MM= B9 ;MAINTANCE MODE
DH.NXM= B10 ;NON EXISTENCE MEMORY
DH..MC= B11 ;MASTER CLEAR
DH.SIE= B12 ;STORAGE INTERRUPT ENABLE
DH.TIE= B13 ;TRANSMIT INTERRUPT ENABLE
DH..SI= B14 ;STORAGE INTERRUPT
DH..TI= B15 ;TRANSMIT INTERRUPT
DH.NRC= 2 ; 2ND WORD IS NEXT RECEIVED CHAR REGISTER
DH.VDP= B15 ;VALID DATA PRESENT
DH.DOV= B14 ;DATA OVER RUN
DH..FE= B13 ;FRAMING ERROR
DH..PE= B12 ;PARITY ERROR
;BITS 11-8 LINE NUMBER
;BITS 7-0 CHARACTER
DH.LPR= 4 ; 3RD WORD IS LINE PARAMETER REGISTER
DH.AEE= B15 ;AUTO ECHO ENABLE
DH..HD= B14 ;HALF DUPLEX
DH..OP= B5 ;ODD PARITY
DH.PEN= B4 ;PARITY ENABLED
DH.2SB= B2 ;2 STOP BITS
DH.CL5= 0 ;5 BIT
DH.CL6= B0 ;6 BIT
DH.CL7= B1 ;7 BIT
DH.CL8= B1!B0 ;8 BIT
DH.CAR= 6 ; 4TH WORD IS CURRENT ADDRESS REGISTER
DH.BCR= 10 ; 5TH WORD IS BYTE COUNT REGISTER
DH.BAR= 12 ; 6TH WORD IS BUFFER ACTIVE REGISTER
DH.BRK= 14 ; 7TH WORD IS BREAK CONTROL REGISTER
DH.SSR= 16 ; 8TH WORD IS SILO STATUS REGISTER
;BITS 5-0 SILO ALARUM LEVEL
.SBTTL DL10 HARDWARE BITS
;DL10 - UNIBUS TO DECSYSTEM-10 MEMORY BUS INTERFACE
.IIF NDF,DLADDR,DLADDR=100000
.=DLADDR ;LOCATION OF CSR
DL.BAS: .BLKW 1 ;BASE ADDRESS FOR 10 MEMORY
DLBASE= DL.BAS ;
DL.VEC= 170 ;VECTOR ADR FOR DL10
DL.BRL= 5 ;(?) DL10 bus request level
DL.LVL= PR.TEN ;DL10 interrupt process level
DL.STS=DLBASE ;1ST WORD IS STATUS
DL.11I= B15 ; BIT 15 - 11 INT(INTERRUPTS IF 11-INT-ENB SET)
DL.11C= B14 ; BIT 14 - CLEAR 11 INT
DL.10I= B13 ; BIT 13 - 10 INT
DL.10C= B12 ; BIT 12 - CLEAR 10 INT
DL.NXM= B11 ; BIT 11 - NXM(INTERRUPTS IF ERR ENB SET)
DL.CNX= B10 ; BIT 10 - CLEAR NXM
DL.PAR= B9 ; BIT 09 - PAR ERR(INTERRUPTS IF ERR ENB SET)
DL.CPE= B8 ; BIT 08 - CLEAR PAR ERR
DL.WCO= B7 ; BIT 07 - WCOV(INTERRUPTS IF ERR ENB SET)
DL.CWC= B6 ; BIT 06 - CLEAR WCOV
DL.PEN= B5 ; BIT 05 - PORT ENABLE
DLPENB= DL.PEN ;
DL.B04= B4 ; BIT 04 - (GUESS !)
DL.ERE= B3 ; BIT 03 - ERR ENABLE
DL.INE= B2 ; BIT 02 - 11 INT ENB
DL.B01= B1 ; BITS 00 & 01 - PIA
DL.B00= B0 ;
.SBTTL DM11-BB HARDWARE BITS
.=170500
DMBASE: .BLKW 1 ;HDW ADR OF FIRST DM11
DM.LVL= 7 ;PROCESSOR LEVEL FOR DM11BB INTERRUPTS
B.DM11= DMBASE ;FIRST DM11 ADR
DM.SCN= B11 ;CLEAR SCANNER
DM.INI= B10 ;CLER MULTIPLEXER
DM..MM= B9 ;MAINTANCE MODE
DM.STP= B8 ;STEP TO NEXT LINE
DM.DNE= B7
DM.IEN= B6 ;INTERRUPT ENABLE
DM.ENB= B5 ;SCAN ENABLE
DM.BSY= B4 ;CLEAR SCAN STILL PERCOLATING
DM.ALI= B0!B1!B2!B3 ;LINE NUMBER FIELD
; EIA PIN DEFINITIONS:
; 1 PROTECTIVE GROUND
; 2 TRANSMITTED DATA
; 3 RECEIVED DATA
; 4 REQUEST TO SEND
; 5 CLEAR TO SEND
; 6 DATA SET READY
; 7 SIGNAL GROUND
; 8 RECEIVED LINE SIGNAL DECTECTOR
; 17 RECEIVED SIGNAL ELEMENT TIMING
; 20 DATA TERMINAL READY
; 21 SIGNAL QUALITY DETECTOR
; 22 RING INDICATOR
; 24 TRANSMIT SIGNAL ELEMENT TIMING
.SBTTL DN11 HARDWARE BITS
DN.LVL= 7 ;PROCESSOR LEVEL FOR DN INTERRUPTS
.=175200
DNBASE: .BLKW 1 ;CSR ADDRESS
DN.PWI= B15 ;POWER INDICATE
DN.ACR= B14 ;ABANDON CALL AND RETRY
DN.DLO= B13 ;DATA LINE OCCUPIED
DN.DNE= B7 ;DONE
DN..IE= B6 ;INTERRUPT ENABLE
DN.DSS= B5 ;DATA SET STATUS
DN.PND= B4 ;PRESENT NEXT DIGIT
DN..MM= B3 ;MAINTENANCE MODE
DN..ME= B2 ;MASTER ENABLE
DN..DP= B1 ;DIGIT PRESENT
DN..CR= B0 ;CALL REQUEST
DN.DGT=B8+B9+B10+B11 ;DIGIT BITS
.SBTTL DP11 HARDWARE BITS
DP.LVL= 7 ;PROCESSOR LEVEL FOR DP11 INTERRUPTS
;A) RECEIVER STATUS REGISTER (ADR = XXXXX0)
DP..CP= B12 ;CHARACTER PARITY; 1=ODD, 0=EVEN
DP..RA= B11 ;RECEIVE ACTIVE
DP..RD= B7 ;RECEIVE DONE
DP.RIE= B6 ;RECEIVE DONE INTERRUPT ENABLE
DP..MR= B3 ;MISCELLANEOUS RECEIVE
DP..MM= B2 ;MAINTENANCE MODE
DP..HD= B1 ;HALF DUPLEX
DP..SS= B0 ;STRIP SYNC
;B) TRANSMIT AND CONTROL STATUS REG (ADR = XXXXX2)
DP..CF= B15 ;CARRIER FLAG
DP.ROF= B14 ;RECEIVE OVERRUN FLAG
DP.RNG= B13 ;RING FLAG
DP.MRY= B12 ;MODEM READY
DP.CAR= B11 ;CARRIER
DP.CTS= B10 ;CLEAR TO SEND
DP.RTS= B9 ;REQUEST TO SEND
DP..TD= B7 ;TRANSMIT DONE
DP.TIE= B6 ;TRANSMIT DONE INTERRUPT ENABLE
DP.SIE= B5 ;STATUS INTERRUPT ENABLE
DP.MIS= B4 ;MISCELLANEOUS
DP..MT= B3 ;MISCELLANEOUS TRANSMIT
DP..IS= B1 ;IDLE SYNC
DP.DTR= B0 ;TERMINAL READY
.SBTTL DQ11 HARDWARE BITS
DQ.BRL= 5 ;DQ11 bus request level
DQ.LVL= PR.LIN ;DQ11 interrupt process level
; THE BASE ADR FOR THE DQ11 IS CONTAINED IN THE LINE BLOCK
; RECEIVE STATUS ( ADR =XXXXX0 )
DQ.RGO= B0 ; RECEIVE GO
DQ.SSY= B1 ; STRIP SYNC
DQ.SEC= B2 ; 0= PRIMARY,1=SECONDARY
DQ.HD= B3 ; HALF DUPLEX(= MASK INPUT WHEN XMT ACTIVE)
DQ.CIE= B4 ; CHAR INTERRUPT ENABLE
DQ.RIE= B5 ; RECEIVE DONE INTERRUPT ENABLE
DQ.RDS= B6 ; RECEIVE DONE (SECONDARY) FLAG
DQ.RDP= B7 ; RECEIVE DONE (PRIMARY) FLAG
DQ.CHR= 7400 ; CHAR DETECTED
DQ.ETB= B8 ; CHAR WAS AN ETB
DQ.ETX= B9 ; CHAR WAS AN ETX
DQ.ENQ= B10 ; CHAR WAS AN ENQ
DQ.SYN= B11 ; SPECIAL CHAR WAS A SYNC
DQ.RAC= B12 ; RECEIVE ACTIVE
; 060000 ; USER OPTION
DQ.VCH= B15 ; VCHAR FLAG
DQ.RKL= DQ.RAC!DQ.VCH!DQ.RGO!DQ.CIE ; BITS TO STOP RECEIVER
;
; TRANSMIT STATUS ( ADR = XXXXX2 )
DQ.XGO= B0 ; TRANSMIT GO
; B1 ; IDLE MODE
DQ.SEC= B2 ; 0= PRIMARY ACTIVE,1=SECONDARY ACTIVE
DQ.EIE= B3 ; ERR INTERRUPT ENABLE
DQ.DIE= B4 ; DATA SET INTERRUPT ENABLE
DQ.XIE= B5 ; TRANSMIT DONE INTERRUPT ENABLE
DQ.XDS= B6 ; TRANSMIT DONE(SECONDARY)
DQ.XDP= B7 ; TRANSMIT DONE(PRIMARY)
DQ.RTS= B8 ; REQUEST TO SEND
DQ.DTR= B9 ; DATA TERMINAL READY
DQ.DSR= B10 ; DATA SET READY
DQ.RNG= B11 ; RING
DQ.CAR= B12 ; CARRIER
DQ.CTS= B13 ; CLEAR TO SEND
; B14 ; USER OPTION
DQ.DSF= B15 ; DATA SET FLAG
; REG/ERR REGISTER ( ADR =XXXXX4 )
DQ.XCL= B0 ; TRANSMIT CLOCK LOSS
DQ.RCL= B1 ; RECEIVE CLOCK LOSS
DQ.XLE= B2 ; TRANSMIT LATENCY ERROR
DQ.RLE= B3 ; RECEIVE LATENCY ERROR
DQ.XNX= B4 ; TRANSMIT NONEX MEM
DQ.RNX= B5 ; RECEIVE NONEX MEM
DQ.BCC= B6 ; RECEIVE BCC ERROR
DQ.VRC= B7 ; RECEIVE VRC ERROR
; 007400 ; REG SELECT FOR REFERENCE TO XXXXX6
DQ.MEM= B12 ; WRENABLE 060000
DQ.MBM= 020 ; BYTE EQUIVALENT OF ABOVE
; 060000 ; MEM EXT OR ENTER T/EXIT T
; B15 ; ERROR INTERRUPT
; SECONDARY REGISTERS ( ADR = XXXXX6 )
RG.PRA= 0 ; PRIMARY RECEIVE BA
RG.PRC= 1 ; PRIMARY RECEIVE CC
RG.PTA= 2 ; PRIMARY TRANSMIT BA
RG.PTC= 3 ; PRIMARY TRANSMIT CC
RG.SRA= 4 ; SECONDARY RECEIVE BA
RG.SRC= 5 ; SECONDARY RECEIVE CC
RG.STA= 6 ; SECONDARY TRANSMIT BA
RG.STC= 7 ; SECONDARY TRANSMIT CC
; 10 ; CHAR DET REG
RG.SYN= 11 ; SYNC REG
RG.MSC= 12 ; MISC REG
DQ.MC= B5 ; MASTER CLEAR (SORT OF)
; 13 ; TRANSMIT BUF
; 14 ; SEQUENCE REGISTER
; 15 ; RECEIVE BCC
; 16 ; TRANSMIT BCC
; 17 ; RECEIVE/TRANSMIT POLYNOMIAL
; MACRO TO SELECT A PARTICULAR DQ11 "INTERNAL" REGISTER
.MACRO DQREGS REG,QQ
Z= RG.'REG
.IIF EQ <Z&10>,Z= Z+DQ.MBM
.IF B,QQ
MOVB #Z,5(DQ) ;SET TO ADDRESS SECONDARY REGISTER RG.'REG
.IFF
MOVB #Z,5QQ ;SET TO ADDRESS SECONDARY REGISTER RG.'REG
.ENDC
.ENDM DQREGS
.SBTTL DS11 HARDWARE BITS
;HARDWARE ADDRESSES
DS.AUX= 175600 ;AUXILLARY REGISTER
DS.DVA= 175400 ;BEGINNING OF LINE DEVICE REGISTERS
DS.VEC= 400 ;FIRST DS11 VECTOR
DS.LVL= 7 ;PROCESSOR LEVEL OR DS11 INTERRUPTS
;BITS IN AUXILLARY REGISTER
DS.AD3=B15 ;ADAPTER 3 IS PRRSENT IF SET
DS.AD2=B14 ;ADAPTER 2 IS PRESENT IF SET
DS.AD1=B13 ;ADAPTER 1 IS PRESENT IF SET
; B12 ;NOT USED
; B11 ;NOT USED
; B10 ;NOT USED
; B9 ;PROGRAM VECTOR 9
DS.IVA=B8 ;PROGRAM VECTOR 8 - INTERRUPTS START AT 400
; B7 ;DIAG MODE
; B6 ;PROGRAM CLOCK ALLOW
; B5 ;NOT USED
; B4 ;DIAG BIT CNTR CLEAR
; B3 ;DIAG BIT COUNTER 4
; B2 ;DIAG BIT COUNTER 3
; B1 ;DIAG BIT COUNTER 2
; B0 ;DIAG BIT COUNTER 1
;OFFSETS OF REGISTERS FROM LINE BASE ADDRESS
DS.XDR=6 ;TRANSMIT DATA REGISTER
DS.XST=4 ;TRANSMIT STATUS REGISTER
DS.RDR=2 ;RECEIVE DATA REGISTER
DS.RST=0 ;RECEIVE STATUS REGISTER
;PRIORITY INTERRUPT LEVELS
I.DSRD=7 ;RECEIVE DATA INTERRUPT
I.DSRS=6 ;RECEIVE STATUS INTERRUPT
I.DSXD=7 ;A TRANSMIT DATA INTERRUPT
I.DSXS=6 ;A TRANSMIT STATUS INTERRUPT
;BITS IN XMIT STATUS REGISTER & RECEIVE REG.
DS.DTR=000440 ;BOTH XMT & RCV REG.
DS.ZAP=170000 ;CLEAR ALL OVERRUN FLAGS
DS.XGO=DS.DTR+<<I.DSXD/2>*4>+1 ;REQUEST TO SEND
DS.RGO=B11!B10!DS.DTR!<<I.DSRD/2>*4>+1 ;RECEIVE
;BITS IN TRANSMIT STATUS REGISTER
; B15 ; NOT USED
; B14 ; XMIT BIT OVERRUN
; B13 ; XMIT CHAR OVERRUN
; B12 ; CLEAR TO SEND FLAG
; B11 ; NOT USED
; B10 ; NOT USED
; B9 ; CLEAR TO SEND
; B8 ; DATA TERM READY
; B7 ; XMIT CHAR DONE
; B6 ; DATA SET READY
; B5 ; CODE SIZE 2
; B4 ; CODE SIZE 1
; B3 ; PRIORITY REQUEST 2
; B2 ; PRIORITY REQUEST 1
; B1 ; IDLE
; B0 ; REQUEST TO SEND
;BITS IN RECEIVE STATUS REGISTER
;
; B15 ; RING FLAG
; B14 ; REC BIT OVERRUN
; B13 ; REC CHAR OVERRUN
; B12 ; LINE SIGNAL FLAG
; B11 ; SYN STATE 2
; B10 ; SYN STATE 1
; B9 ; LINE SIGNAL
; B8 ; DATA TERMINAL READY
; B7 ; REC CHAR DONE
; B6 ; DATA SET READY
; B5 ; CODE SIZE 2
; B4 ; CODE SIZE 1
; B3 ; PRIORITY REQUEST 2
; B2 ; PRIORITY REQUEST 1
; B1 ; RING ALLOW
; B0 ; RECEIVE
.SBTTL DUP11 HARDWARE BITS
UP.BRL= 5 ;DUP11 bus request level
UP.LVL= PR.LIN ;DUP11 interrupt process level
UP.RSR=0 ;RECEIVER STATUS REGISTER
UP.DCB=B0 ;DATA SET CHANGE B
UP.DTR=B1 ;DATA TERMINAL READY
UP.RTS=B2 ;REQUEST TO SEND
UP.STD=B3 ;SECONDARY TRANSMIT DATA
UP.REN=B4 ;RECEIVER ENABLE
UP.DIE=B5 ;DATASET INTERRUPT ENABLE
UP.RIE=B6 ;RECEIVER INTERRUPT ENABLE
UP.RDN=B7 ;RECEIVER DONE
UP.SSY=B8 ;STRIP SYNC
UP.DSR=B9 ;DATA SET READY
UP.SRD=B10 ;SECONDARY RECEIVED DATA
UP.RAT=B11 ;RECEIVE ACTIVE
UP.CAR=B12 ;CARRIER
UP.CTS=B13 ;CLEAR TO SEND
UP.RNG=B14 ;RING
UP.DCA=B15 ;DATA SET CHANGE A
UP.RBF=2 ;RECEIVER DATA BUFFER
; B0-B7 ;CHARACTER RECEIVED
UP.RSM=B8 ;RECEIVE START OF MESSAGE
UP.REM=B9 ;RECEIVE END OF MESSAGE
UP.RAB=B10 ;RECEIVE ABORT
UP.RCR=B12 ;CRC
UP.OVR=B14 ;OVERRUN
UP.ERR=B15 ;SUMMARY ERROR
UP.PAR=2 ;PARAMETER STATUS REGISTER
; B0-B7 ;SYNC CHARACTER
UP.CCI=B9 ;CRC INHIBIT
UP.SMS=B12 ;SECONDARY MODE SELECT
UP.DMD=B15 ;DEC (I.E., BYTE) MODE
UP.XSR=4 ;TRANSMITTER STATUS REGISTER
UP.HDX=B3 ;HALF DUPLEX
UP.SND=B4 ;SEND
UP.XIE=B6 ;TRANSMITTER INTERRUPT ENABLE
UP.XDN=B7 ;TRANSMITTER DONE
UP.INI=B8 ;INITIALIZE (DEVICE RESET)
UP.XAT=B9 ;TRANSMITTER ACTIVE
UP.XDL=B15 ;TRANSMITTER DATA LATE
UP.XBF=6 ;TRANSMITTER DATA BUFFER
; B0-B7 ;CHARACTER TO TRANSMIT
UP.XSM=B8 ;TRANSMIT START OF MESSAGE
UP.XEM=B9 ;TRANSMIT END OF MESSAGE
UP.XAB=B10 ;TRANSMIT ABORT
.SBTTL DZ11 Hardware Bits
DZ.LVL=5 ;DZ11 interrupt level
DZ.CSR=0 ;1st word is control and status register
DZ.MAI=B3 ;maintenance mode bit
DZ.CLR=B4 ;clears silo, all UARTs and CSR
DZ.MSE=B5 ;master scan enable
DZ.RIE=B6 ;receive interrupt enable
DZ..RI=B7 ;receive done (RO)
;causes interrupt if DZ.RIE=1 and
;DZ.SAE=0
DZ.TLN=B8!B9!b10 ;transmit line number (RO) when DZ..TI=1
DZ.SAE=B12 ;Silo alarm enable; if 1 prevents
;DZ..RI from interrupting and if
;DZ.RIE=1, allows DZ..SA to interrupt
DZ..SA=B13 ;Silo alarm (RO), set to 1 after 16 chars enter silo
DZ.TIE=B14 ;transmit interrupt enable
DZ..TI=B15 ;transmit ready (RO)
DZ.RBF=2 ;Receive buffer register (RO)
DZ.RCH=B0!B1!B2!B3!B4!B5!B6!B7 ;received character
DZ.RLN=B8!B9!B10 ;received line number
DZ..PE=B12 ;parity error
DZ..FE=B13 ;framing error
DZ.DOV=B14 ;overrun
DZ.VDP=B15 ;valid data
DZ.LPR=2 ;Line parameter register (WO)
DZ.PLN=B0!B1!B2 ;line number for parameter loading
DZ.CL5=0 ;5 bit characters
DZ.CL6=B3 ;6 bit characters
DZ.CL7=B4 ;7 bit characters
DZ.CL8=B3!B4 ;8 bit characters
DZ.2SB=B5 ;send 2 stop bits (or 1.5 for 5 bit chars)
DZ.PEN=B6 ;parity enabled on transmit and receive
DZ..OP=B7 ;1=odd parity, 0=even parity
DZ.SPD=B8!B9!B10!B11 ;code for transmit and receive speed
;0=50;1=75;2=110;3=134.5;4=150;5=300;6=600;7=1200
;10=1800;11=2000;12=2400;13=3600;14=4800;15=7200;16=9600
;17=unused
DZ.RON=B12 ;receiver on (setting to 1 turns on receiver clock)
DZ.TCR=4 ;transmit control register
; bits 0-7 are transmit enables for lines 0-7
; bits 8-15 are DTR for lines 0-7
DZ.MSR=6 ;modem status register (RO)
; bits 0-7 are ring indicators for lines 0-7
; bits 8-15 are carrier indicators for lines 0-7
DZ.TDR=6 ;transmit data register (WO)
DZ.TCH=B0!B1!B2!B3!B4!B5!B6!B7 ;character to be transmitted
; bits 8-15 are transmit break bits for lines 0-7
.SBTTL KG11 HARDWARE BITS
.=170700
KG.STS: .BLKW 1 ;STATUS REGISTER
KG.DNE=B7 ;CALCULATION DONE
KG.SEN=B6 ;NOT SINGLE CYCLE
KG.STP=B5 ;STEP
KG.CLR=B4 ;CLEAR
KG.DDB=B3 ;WORD MODE
; 007 ;TYPE OF CALCULATION
; 1 = CRC-16
; 3 = LRC-16
; 5 = CRC-CCITT
KG.INI=KG.SEN!KG.CLR!1 ;NOT SINGLE CYCLE, CLEAR, CRC-16
KG.BCC: .BLKW 1
KG.DTA: .BLKW 1
.SBTTL KW11-L HARDWARE BITS
;KW11-L LINE FREQUENCY CLOCK DEFINITIONS
CL.BRL= 6 ;KW11-L bus request level
CLKLVL= PR.CLK ;clock interrupt process level
CLKVEC= 100 ; CLOCK VECTOR
.=177546
CLKWRD: .BLKW 1 ; CLOCK STATUS WORD
KW.INE=B6 ; ENABLE INTERRUPTS
KW.TIC=B7 ;SET BY CLOCK AND CLEARED BY PROGRAM
.SBTTL LP11 HARDWARE BITS
LP.LVL= 4 ; PROCESSOR LEVEL FOR LP11 INTERRUPTS
LP.VEC= 200 ; VECTOR LOCATION
.=177514
LP0STS: .BLKW 1 ;STATUS REGISTER FOR 1ST LP11
LP.STS=LP0STS
LP.ERR= B15 ; ERROR BIT(POWER OFF, NO PAPER, GATE, TEMP, OFFLINE)
LP.DNE= B7 ; READY FOR NEXT CHARACTER
LP.INE= B6 ; INTERRUPT ENABLE
LP0DAT: .BLKW 1 ;DATA REGISTER
LP.DAT=LP0DAT
;FOR THE SECOND LP11
LP1STS: .BLKW 1
LP1DAT: .BLKW 1
.SBTTL LP20 HARDWARE BITS
; NOTATION:
; (R) ==> READ
; (W) ==> WRITE
; (RW) ==> READ/WRITE
LT.LVL= 4 ; INTERUPT AT LEVEL 4 (DEFAULT)
LT.VEC= 754 ; VECTOR FOR LP20
LT0STS= 175400 ; ADDRESS OF FIRST LP20
LT1STS= 175420 ; ADDRESS OF SECOND LP20
LT0CRA= 0 ; CONTROL REGISTER A FOR LP20
LT.ERR= 100000 ; (R) ERROR
LT.PZE= 40000 ; (R) PAGE COUNT WENT ZERO
LT.UCD= 20000 ; (R) UNDEFINED CHAR DETECTED
LT.DR= 10000 ; (R) DAVFU READY
LT.ONL= 4000 ; (R) ON LINE
LT.DH= 2000 ; (RW)DELIMIT HOLD
LT.ERE= 1000 ; (W) ERROR RESET
LT.INI= 400 ; (W) LOCAL INIT
LT.DON= 200 ; (R) DONE
LT.ENB= 100 ; (RW)INTERUPT ENABLE
LT.A17= 40 ; (RW)BAU ADDR BIT 17
LT.A16= 20 ; (RW)BUS ADDR BIT 16
LT.DL= 10 ; (RW)DAVFU LOAD
LT.TM= 4 ; (RW)TEST MODE
LT.PEN= 2 ; (RW)PARITY ENABLE
LT.GO= 1 ; (RW)THE GO BIT
LT0CRB= LT0CRA+2
LT.VD= 100000 ; (R) VALID DATA
LT.SPR= 40000 ; (R) SPARE
LT.PNR= 20000 ; (R) PRINTER NOT READY
LT.LDP= 10000 ; (R) LPT DATA PARITY
LT.OVF= 4000 ; (R) OPTICAL VFU ON LPT
LT.TB2= 2000 ; (RW)TEST BIT 2
LT.TB1= 1000 ; (RW)TEST BIT 1
LT.TB0= 400 ; (RW)TEST BIT 0
LT.POL= 200 ; (R) PRINTER OFF LINE
LT.DNR= 100 ; (R) DAVFU NOT READY
LT.LPE= 40 ; (R) LPT DATA PARITY ERROR
LT.MPE= 20 ; (R) MEMORY PARITY ERROR
LT.RPE= 10 ; (R) RAM PARITY ERROR
LT.MST= 4 ; (R) MASTER SYNC TIMEOUT
LT.DTE= 2 ; (R) DEMAND TIMEOUT ERROR
LT.GER= 1 ; (RW)GO ERROR
.SBTTL MF11-UP PARITY MEMORY
MP.VEC=114 ;INTERRUPT HERE ON PARITY ERROR
MP.LVL=7
.=172100
MP.REG: .BLKW 1 ;ADDR OF PARITY REGISTER FOR 16K
MP.ERR=B15 ;ERROR BIT
; BITS 11-5 ERROR ADDRESS
MP.WWP=B2 ;WRITE WRONG PARITY
MP.ENB=B0 ;ENABLE
.SBTTL KT11-D Memory Management Option
MM.SR0=177572 ; Memory management Status Register
KPAR0=172340
KPAR1=172342
KPAR2=172344
KPAR3=172346
KPAR4=172350
KPAR5=172352
KPAR6=172354
KPAR6=172356
MM.PDR=-40 ; difference to get PDR from PAR
.SBTTL KMC11 HARDWARE BITS
MD.BRL= 5 ;KMC11 bus request level
MD.LVL= PR.LIN ;KMC11 interrupt process level
; BIT ASSIGNMENTS FOR THE KMC11 MAINTENENCE REGISTER - BSEL 1
MD.RUN=B15 ;RUN THE MICROPROCESSOR
MD.CLR=B14 ;CLEAR THE KMC11
MD.CWR=B13 ;CRAM WRITE
MD.SLU=B12 ;STEP LINE UNIT
MD.LLU=B11 ;LOOP LINE UNIT
MD.RMO=B10 ;ROM OUTPUT
MD.RMI=B9 ;ROM INPUT
MD.SMP=B8 ;STEP MICROPROCESSOR
.SBTTL DMC11 Hardware Bits
MC.BRL= BR5 ;(?)DMC11 bus request level
MC.LVL= PR.LIN ; hardware level for DMC11 interrupts
MC.CSI=0 ; Input (i.e. to DMC11) control register
MC.TPI=B0+B1 ; Type of input transaction
; 00=BA/CC In; 01=Cntrl In; 11=Base In
MC.BCI=0
MC.CTI=1
MC.BSI=3
MC.IOI=B2 ; 1=Input, 0=Output Buffer
MC.RQI=B5 ; Request Input transaction
MC.IEI=B6 ; Input transaction interrupt enable
MC.RDI=B7 ; Input transaction ready
;Maintenance Bits
MC.SMP=B8 ;Step microprocessor
MC.RMI=B9 ;ROM in
MC.RMO=B10 ;ROM out
MC.MCL=B14 ; Master Clear
MC.RUN=B15 ; Run
MC.CSO=2 ; Output (i.e. from DMC11) control register
MC.TPO=B0+B1 ; type of output transaction
; 00=BA/CC Out; 01=Cntrl Out
MC.BCO=0
MC.CTO=1
MC.IOO=B2 ; 1=Input, 2=Output
MC.IEO=B6 ; Out transaction interrupt enable
MC.RDO=B7 ; Ready Out
MC.DT0=4 ; first data word
; For BA/CC I, BA/CC O, CNTL I, CNTL O and Base I formats
MC.BA=B0 ; 16 bit bus address
MC.DT2=6 ; second data word
; For BA/CC I, BA/CC O, BASE I, CNTL I and CNTL O formats
MC.HBA=B15 ; the two high order bits of bus address
; For BA/CC I and BA/CC O formats
MC.CC=B0 ; 14-bit positive character count
; For BASE I format
MC.RES=B14 ; resume bit: 0=clear base table, 1=use old base table
; For CNTL I format
MC.SCA=B0 ; 8-bit secondary address
MC.MAI=B8 ; maintenance bit: 1=go into maintenance mode
MC.HD=B10 ; 1=go into DDCMP half-duplex mode
MC.SEC=B11 ; 1=become a secondary station
; For CNTL O format
MC.DCK=B0 ; data check
MC.TMO=B1 ; time out
MC.OVR=B2 ; overrun
MC.RMA=B3 ; received maintenance message
MC.LOS=B4 ; lost data
MC.DSC=B6 ; disconnect
MC.RST=B7 ; received start mesage
MC.NXM=B8 ; non-existent memory
MC.ERR=B9 ; processor error
.SBTTL PC11 HARDWARE BITS
PR.LVL= 4 ; PROCESSOR LEVEL FOR PC11 READER INTERRUPTS
PR.VEC= 70 ; VECTOR FOR PC11 READER
PP.LVL= 4 ; PROCESSOR LEVEL FOR PC11 PUNCH INTERRUPTS
PP.VEC= 74 ; VECTOR FOR PC11 PUNCH
.=177550
PR0STS: .BLKW 1 ;STATUS REGISTER FOR 1ST PC11 READER
PR.STS= PR0STS ; READER STATUS REGISTER
PR.ERR= B15 ; ERROR BIT (NO TAPE, NO POWER, OR OFF-LINE)
PR.BSY= B11 ; SET WHEN A CHARACTER IS BEING READ
PR.DNE= B7 ; CHARACTER IS AVAILABLE IN THE READER BUFFER
PR.INE= B6 ; INTERRUPT ENABLE
PR..RE= B0 ; READER ENABLE
PR.DAT: .BLKW 1 ; READER BUFFER REGISTER
PP0STS: .BLKW 1 ;STATUS REGISTER FOR 1ST PC11 PUNCH
PP.STS= PP0STS ; PUNCH STATUS REGISTER
PP.ERR= B15 ; ERROR BIT (NO TAPE OR NO POWER)
PP.RDY= B7 ; SET WHEN READY TO PUNCH A CHARACTER
PP.INE= B6 ; INTERRUPT ENABLE
PP.DAT: .BLKW 1 ; PUNCH BUFFER REGISTER
.SBTTL TC11 HARDWARE BITS
TC.VEC= 214 ; TC11 INTERRUPT VECTOR ADDRESS
TC.LVL= 6 ; TC11 PRIORITY LEVEL
.=177340
TC.STS: .BLKW 1 ; TC11 CONTROL AND STATUS REGISTER
TC..EZ= B15 ; END ZONE
TC.PAR= B14 ; PARITY ERROR
TC.MTE= B13 ; MARK TRACK ERROR
TC.ILO= B12 ; ILLEGAL OPERATION
TC..SE= B11 ; SELECTION ERROR
TC..BM= B10 ; BLOCK MISSED
TC..DM= B9 ; DATA MISSED
TC.NXM= B8 ; NON-EX MEM
TC.UPS= B7 ; TAPE IS UP TO SPEED
TC.CLK= B6 ; USED TO SIMULATE TIMING TRACK
TC.MMT= B5 ; MAINT MARK TRACK
TC.DT0= B4 ; DATA TRACK 0
TC.DT1= B3 ; DATA TRACK 1
TC.DT2= B2 ; DATA TRACK 2
TC.D17= B1 ; EXTENDED DATA 17
TC.D16= B0 ; EXTENDED DATA 16
TC.CMD: .BLKW 1 ; TC11 COMMAND REGISTER
TC.ERR= B15 ; ERROR
TC..MM= B13 ; MAINT MODE
TC..DI= B12 ; DELAY INHIBIT
TC.REV= B11 ; SET = REVERSE MOTION; CLEAR = FORWARD MOTION
TC.US0= 0 ; SELECT UNIT 0
TC.US1= B8 ; SELECT UNIT 1
TC.US2= B9 ; SELECT UNIT 2
TC.US3= B9!B8 ; SELECT UNIT 3
TC.US4= B10 ; SELECT UNIT 4
TC.US5= B10!B8 ; SELECT UNIT 5
TC.US6= B10!B9 ; SELECT UNIT 6
TC.US7= B10!B9!B8 ; SELECT UNIT 7
TC.RDY= B7 ; READY
TC.INE= B6 ; INTERRUPT ENABLE
TC.A17= B5 ; EXTENDED MEM BIT BA17
TC.A16= B4 ; EXTENDED MEM BIT BA16
TC.SAT= 0 ; STOP ALL TAPE MOTION
TC.RMT= B1 ; FINDS MARK TRACK CODE
TC..RD= B2 ; READ
TC.RDA= B2!B1 ; READ ALL
TC.SST= B3 ; STOP ALL TAPE MOTION IN SELECTED TRANSPORT ONLY
TC.WTM= B3!B1 ; WRITE TIMING AND MARK TRACK
TC..WR= B3!B2 ; WRITE
TC.WRA= B3!B2!B1 ; WRITE ALL
TC.WCR: .BLKW 1 ; TC11 WORD COUNT REGISTER
TC.BAR: .BLKW 1 ; TC11 BUS ADDRESS REGISTER
TC.DAT: .BLKW 1 ; TC11 DATA REGISTER
.SBTTL TM11 HARDWARE BITS
TM.VEC= 224 ; TM11 VECTOR ADDRESS
TM.LVL= 5 ; TM11 PRIORITY LEVEL
.=172520
TM.STS: .BLKW 1 ; STATUS REGISTER
TM..IC= B15 ; ILLEGAL COMMAND
TM.EOF= B14 ; END OF FILE
TM.CRE= B13 ; CYCLICAL REDUNDANCY
TM.PAE= B12 ; PARITY ERROR
TM.BGL= B11 ; BUS GRANT LATE
TM.EOT= B10 ; END OF TAPE
TM.RLE= B9 ; RECORD LENGTH ERROR
TM.BTE= B8 ; BAD TAPE ERROR
TM.NXM= B7 ; NON-EXISTENT MEMORY
TM.SLR= B6 ; SELECT REMOTE
TM.BOT= B5 ; BEGINNING OF TAPE
TM.7CH= B4 ; SEVEN CHANNEL
TM.TSD= B3 ; TAPE SETTLE DOWN
TM.WRL= B2 ; WRITE LOCK
TM.RWS= B1 ; REWIND STATUS
TM.TUR= B0 ; TAPE UNIT READY
TM.MTC: .BLKW 1 ; COMMAND REGISTER
TM.ERR= B15 ; ERROR
TM.D72= 0 ; 200 BPI 7 CHANNEL
TM.D75= B13 ; 556 BPI 7 CHANNEL
TM.D78= B14 ; 800 PBI 7 CHANNEL
TM.D98= B14!B13 ; 800 BPI 9 CHANNEL
TM..PC= B12 ; POWER CLEAR
TM..LP= B11 ; LATERAL PARITY
TM..US= B10!B9!B8 ; UNIT SELECT FIELD
TM.US0= 0 ; SELECT UNIT 0
TM.US1= B8 ; SELECT UNIT 1
TM.US2= B9 ; SELECT UNIT 2
TM.US3= B8!B9 ; SELECT UNIT 3
TM.US4= B10 ; SELECT UNIT 4
TM.US5= B10!B8 ; SELECT UNIT 5
TM.US6= B10!B9 ; SELECT UNIT 6
TM.US7= B10!B9!B8 ; SELECT UNIT 7
TM.CUR= B7 ; CU READY
TM.INE= B6 ; INTERRUPT ENABLE
TM.A17= B5 ; EXTENDED MEM BIT BA17
TM.A16= B4 ; EXTENDED MEM BIT BA16
TM.OFL= 0 ; OFF-LINE
TM..RD= B1 ; READ
TM..WR= B2 ; WRITE
TM.WEF= B1!B2 ; WRITE EOF
TM..SF= B3 ; SPACE FORWARD
TM..SR= B3!B1 ; SPACE REVERSE
TM.WEG= B3!B2 ; WRITE WITH EXTENDED GAP
TM.REW= B3!B2!B1 ; REWIND
TM..GO= B0 ; GO
TM.BCR: .BLKW 1 ; BYTE COUNT REGISTER
TM.BAR: .BLKW 1 ; BYTE ADDRESS REGISTER
TM.DAT: .BLKW 1 ; DATA BUFFER
TM.RDL: .BLKW 1 ; TU 10 READ LINES