.TITLE CMTBL .IDENT /V3.4/ ;15-APR-78 ;DBC4.0 .IDENT /V4.0/ ;20-APR-78 ;DBC4.0 ; ;**-1 ;+ ; CMDRV TABLES ; ;- .MCALL DEVDF$,HWDDF$ DEVDF$ ;DEFINE DEVICE OFFSETS AND VALUES HWDDF$ ;AND HARDWARE REGISTERS ; ; ;LOCAL MACROS ; .MACRO WORD,ARG1,ARG2 .WORD ARG1'ARG2 .ENDM WORD ; .MACRO BYTE,ARG1,ARG2,ARG3 .BYTE ARG1'ARG2'ARG3' .ENDM BYTE ; .MACRO LABLE,ARG1,ARG2,ARG3 ARG1'ARG2'ARG3 .ENDM LABLE ; .MACRO DEFUCB CMST=. .IIF DF M$$MUP .WORD 0 LABLE .CM,\UNITN,:: .WORD CMDCB,.-2 .BYTE UC.ALG!UC.QUE!UC.PWF!,0 ;DBC4.0 .BYTE UNITN,US.RED ;**-1 .WORD 0,0,0,50. WORD CMSCB,\ .WORD 0 .BLKW 2 .BLKW 1 .WORD 0,0,0 .IF DF LSTPDV .WORD 0,0,0,0,0,0,0,0,0,0,0 ;DBC4.0 .ENDC ;**-1 CMND=. UNITN=UNITN+1 .IIF DF M$$MUP .WORD 0 LABLE .CM,\UNITN,:: .WORD CMDCB,.-2 .BYTE UC.ALG!UC.QUE!UC.PWF!UC.NPR!,0 ;DBC4.0 .BYTE UNITN,US.RED ;**-1 .WORD 0,0,0,50. WORD CMSCB,\ .WORD 0 .BLKW 2 .BLKW 1 .WORD 0,0,0 .IF DF LSTPDV .WORD 0,0,0,0,0,0,0,0,0,0,0 ;DBC4.0 .ENDC ;**-1 UNITN=UNITN+1 .ENDM DEFUCB ; .MACRO DEFSCB LABLE CMSCB,\TMP,: .WORD 0,.-2 .BYTE PR4 BYTE CMINT,\TMP,/4 .BYTE 0,2 .BYTE 2*TMP,0 WORD CMCSR,\TMP .BLKW 1 .BLKW 4 .IIF DF LD$CM .WORD 0 TMP=TMP+1 .ENDM DEFSCB ; .MACRO INTDF,ARG1 .=CMINT'ARG1 .WORD $CMINT,PR7!'ARG1 .ENDM ; ; ; .IIF NDF CMINT0 CMINT0=274 .IIF NDF CMCSR0 CMCSR0=166000 ; ; .IF DF LD$CM ;IF DEFIED, LOADABLE DRIVER $CMTBL=0 $CMDAT:: .IFF $USRTB:: .IFTF .LIST MEB ; ; CMDCB: .WORD 0,.CM0 .ASCII /CM/ .BYTE 0,<2*C$$M11>-1 .WORD CMND-CMST,$CMTBL .WORD 137,33,0,0 .WORD 0,0,0,0 .IFT .WORD 0 .IFTF ; ;DEFINE UNIT CONTROL BLOCKS ; UNITN=0 .REPT C$$M11 DEFUCB .ENDR ; ;DEFINE SCB ; TMP=0 .REPT C$$M11 DEFSCB .ENDR .IF NDF LD$CM .ASECT TMP=0 .REPT C$$M11 INTDF \TMP TMP=TMP+1 .ENDR .PSECT .ENDC ;NONLOADABLE DRIVER .IFT $CMEND:: .IFTF .ENDC ;LD$CM .END