.TITLE SBNDCN Dcnet leader processing .NLIST BEX .ENABL LC ; ; Pdp11/dcn - dcnet leader processing ; ; External symbols ; ; Entry symbols ; .GLOBL SBNDCN ;type dcn transfer vector .GLOBL SBNDMV ;type dmv transfer vector .GLOBL SBNKHV ;type khv transfer vector ; ; System definitions ; .ASECT .MCALL .COM,.PSA,.GAT ;dcnlib definitions .MCALL $DFIH ;moslib definitions .COM ;define common data .PSA ;define process storage areas .GAT ;define gateway/bridge storage areas $DFIH ;define internet header .PAGE ; ; Procedure segment ; ; Process-state procedure ; Dsects: r3 = par, r5 = psa ; .PSECT $SUPI,RO,I ; ; Initialize input ; Initialize output ; DCNINI: MOV PARVEC(R3),R0 ;initialize EMT INI+EXTBAS RTS PC ; ; Start input ; R2 = data area length, r4 = buffer pointer, returns c(cc) = c if reset ; DCNSIR: MOV R4,R1 ;shuffle registers ADD #BUFLDR,R1 MOV R2,R0 CCC EMT SIO+EXTBAS ;start i/o RTS PC ; ; Start output ; R2 = data area length, r4 = buffer pointer, returns c(cc) = c if reset ; DCNSIX: MOV R4,R1 ;shuffle registers ADD #BUFLDR,R1 MOV R2,R0 CCC EMT SIO+EXTBAS ;start i/o RTS PC ; ; Output reset ; DCNRST: EMT RSX+EXTBAS ;reset link RTS PC ; ; Process leader ; DCNSDR: CLC ;ignore RTS PC ; ; Process redirect ; DCNRDR: SEC ;suppress RTS PC ; ; Data segment ; .PSECT $SUPD,RO,D ; ; Transfer vector ; SBNKHV = . ;khv11 SBNDMV = . ;dmv11 SBNDCN: .WORD DCNINI ;0 initialize input .WORD DCNSIR ;1 start input .WORD DCNSDR ;2 process leader .WORD DCNRDR ;3 process redirect .WORD DCNINI ;4 initialize output .WORD DCNSIX ;5 start output .WORD DCNRST ;6 reset output ; .END