File CCB.PA (PAL assembler source file)

Directory of image this file is from
This file as a plain text file

/DECNET/8 V1A CONNECT CONTROL BLOCK FORMAT
	IFDEF DDCMP <XLIST>
/
/
/
/
/
/
/
/
/COPYRIGHT  (C)  1976,1977 BY DIGITAL EQUIPMENT CORPORATION
/
/
/
/
/
/
/
/
/
/
/THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE
/AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
/CORPORATION.  DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY
/FOR ANY ERRORS THAT MAY APPEAR IN THIS DOCUMENT.
/
/THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FURNISHED TO THE PURCHASER
/UNDER A LICENSE FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED
/(WITH INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH
/SYSTEM, EXCEPT AS MAY OTHERWISE BE PROVIDED IN WRITING BY DIGITAL.
/
/DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR THE USE
/OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY
/DIGITAL.
/
/
/
/
/
/
/ DECNET/8 RELEASE VERSION 1
/ DECNET/8 PATCH LEVEL A
/ APRIL 8, 1977
/
/
/
/
	IFDEF DDCMP <
	XLIST
	EJECT
	>
	/PRELIMINARY DEFINITIONS
	/THESE SHOULD NORMALLY BE DEFINED IN USER'S TASK

/CHANNL=		/SET TO CCB REFERENCE NUMBER
/CCB=			/SET TO CCB ORIGIN (CCB MUST LIE WITHIN A PAGE)
/USRAST=		/SET TO ENTRY POINT OF DECNET DERAIL ROUTINE


	FIELD	NSPFLD%10

	IFDEF CHANNL <
	*CHANNL^2+CCBTAB-2	/SETUP CCB TABLE ENTRY FOR THIS CCB
	CDF	CUR
	CCB
	>

	FIELD	CUR%10

	/CCB STATE BIT DEFINES

CHNCON=	2000		/SET IF CCB CONNECTED
CHNCIS=	1000		/SET IF CI WAS SENT
CHNCIR=	400		/SET IF CI WAS RECEIVED
CHNCCS=	200		/SET IF CC WAS SENT
CHNDIS=	100		/SET IF DI WAS SENT
CHNNLL=	40		/SET IF NORMAL LOGICAL LINK
CHNOFL=	4		/SET IF CCB IN OFF LINE MODE

	/MSGFLG DEFINES

RTHBIT=	1		/SET IF ROUTING HEADER PRESENT
CMBIT=	2		/SET IF THIS IS A CONTROL MESSAGE
INTBIT=	4		/SET IF THIS IS AN INTERRUPT MESSAGE

	/DDCMP FUNCTION CODES

SNDFUN=	0		/SEND MESSAGE ON LINE
STRFUN=	1		/START SEQUENCE
HLTFUN=	2		/HALT LINE AND RETURN MESSAGES
OFLFUN=	3		/SEND MESSAGE OFF LINE

	/DERAIL REASON CODES

INTRSN=	0		/INTERRUPT SEMAPHORE FROM PARTNER
CONRSN=	1		/CONNECT INIT RECEIVED
DISRSN=	2		/DISCONNECT FROM PARTNER
DABRSN=	3		/DISCONNECT ABORT
ERRRSN=	10		/NSP ERROR CAUSED LINK TO BREAK
LDNRSN=	11		/PHYSICAL LINK CAUSED LINK TO BREAK

	/NSP FUNCTION CODES

CONINI=	10+7000		/CONNECT INITIATE (NLL+FC DEFAULT)
CONCNF=	11+7000		/CONNECT CONFIRM (NLL+FC DEFAULT)
CONREJ=	12		/CONNECT REJECT
DISCON=	13		/DISCONNECT
TRNSMT=	14+4000		/TRANSMIT MESSAGE (EOM DEFAULT)
INTRPT=	15		/SEND INTERRUPT MESSAGE
RCVMSG=	16+4000		/RECEIVE MESSAGE (NEW MSG DEFAULT)
RCNMSG=	16+6000		/RECEIVE MESSAGE WITH NO LINK STATUS TRANSMISSION
RCVSM=	17		/RECEIVE SINGLE MESSAGE
TRNSM=	20		/TRANSMIT SINGLE MESSAGE

/STATUS WORD DEFINES (LOW 6 BITS) SUCST= 0 /SUCCESS DISST= 1 /DISCONNECT PREEMPTED DABST= 2 /ABORT PREEMPTED DRJST= 3 /DISCONNECT REJECT BY NSP CRJST= 4 /CONNECT REJECT BY TARGET TASK ILLST= 5 /ILLOGICAL REQUEST (IGNORED) LSTST= 6 /DATA LOST WARNING NODST= 7 /NODE NAME NOT FOUND ERRST= 10 /NSP ERROR PREEMPTED LDNST= 11 /LINE DROPPED PREEMPTING THIS REQ /NSP MESSAGE TYPE AND SUBTYP CODES CONTYP= 1 /CONNECT TYPE DISTYP= 2 /DISCONNECT TYPE LSTYPE= 3 /LINK STATUS ERRTYP= 4 /ERROR MESSAGE CISUBT= 0 /CONNECT INITIATE CCSUBT= 1 /CONNECT CONFIRM CRSUBT= 2 /CONNECT REJECT DRSUBT= 3 /DISCONNECT REJECT DISUBT= 4 /DISCONNECT INITIATE DCSUBT= 5 /DISCONNECT CONFIRM DASUBT= 6 /DISCONNECT ABORT
IFDEF CHANNL < /CONNECT CONTROL BLOCK AREA /THOSE ENTRIES FLAGGED "/*" IN THE COMMENT MUST BE INITIALIZED /PRIOR TO USE *CCB CCBSTA, 0 /STATE WORD CCBDOT, 0 /DEST OBJECT TYPE CCBDN1, 0 /DEST NAME CCBDN2, 0 /(SIXBIT) CCBDN3, 0 CCBDN4, 0 CCBDN5, 0 CCBDN6, 0 CCBDG, 0 /DEST GROUP CCBDU, 0 /DEST USER NOPUNCH CCBSOT, 0 /* SOURCE OBJECT TYPE CCBSN1, 0 /* SOURCE NAME CCBSN2, 0 /* CCBSN3, 0 /* CCBSN4, 0 /* CCBSN5, 0 /* CCBSN6, 0 /* CCBSG, 0 /* SOURCE GROUP CCBSU, 0 /* SOURCE USER [P,PN]... ENPUNCH *. CCBTSK, TASK /* TASK BOUND TO THIS CCB CCBDNO, 0 /DEST NODE (RESERVED) CCBLIN, 0 /PHYSICAL LINK NUMBER (DDCMP LINE) CCBND1, 0 /CONTAINS NODE NAME DURING CONNECTION CCBND2, 0 CCBND3, 0 CCBDST, 0 /DSTADR THIS CONNECTION CCBDS2, 0 CCBSRC, 0 /SRCADR THIS CONNECTION CCBSR2, 0 CCBPH, 0 /HEAD OF TRANS REQS WAITING FOR POST CCBTH, 0 /HEAD OF TRANS REQS WAITING FOR TRANS CCBTT, 0 /TAIL OF TRANS/POST QUEUE (NEWEST REQST) CCBRH, 0 /HEAD RECV Q CCBRT, 0 /TAIL RECV Q CCBTRQ, 0 /TRANSMIT REQCNT (FROM USER RECEIVES) CCBTSG, 0 /TRANSMIT SEGCNT FROM USER RECEIVES CCBRRQ, 0 /RECEIVED REQCNT (FROM LINE) CCBRSG, 0 /RECEIVED SEGCNT CCBCON, 0 /POINTS TO CONNECT PACKET CCBDIS, 0 /POINTS TO DISCONNECT PACKET CCBINT, 0 /POINTS TO INTERRUPT PACKET (ONLY 1 ALLOWED) CCBIH, 0 /INTERRUPT Q HEAD CCBIT, 0 /INTERRUPT Q TAIL CCBIC, 0 /INTERRUPT QUEUE SIZE LIMITER CCBSMT, 0 /HEAD OF SINGLE MESSAGE TRANSMIT QUEUE CCBSMR, 0 /HEAD OF SINGLE MESSAGE RECEIVE QUEUE CCBRSN, 0 /GETS REASON CODE FOR INTERRUPT CCBDRL, USRAST /* DERAIL ADDR (PSEUDO AST) CCBOPL, 0 /-BYTE COUNT OF OPTIONAL DATA CCBAC, 0 /MAIN LINE AC CCBPC, 0 /MAIN LINE PC CCBXDF, 0 /CDF MAIN LINE DF /IF NONZERO INDICATES AT AST LEVEL /IF ZERO INDICATES AT TASK LEVEL CCBGLK, 0 /SET LINK INSTR (ENTRY OF AST EXIT CODE) DCA CCBXDF /CLEAR XDF FLAG NOW TAD CCBAC /GET THE AC ION /RE ENABLE INTERRUPTS NOW JMP I CCBPC /RETURN TO MAINLINE CCBRTN, IOF /USER AST RETURN ROUTINE TAD CCBIH /SEE IF ANY MORE PACKETS WAITING SNA CLA JMP CCBXDF /EXIT IF NO TAD CCBCHN /ELSE SET AC TO CHANNL NUMBER CIF CDF NSPFLD /GET SET TO ENTER NSP JMP I CCBDXT /GET ANOTHER REQUEST CCBDXT, DRLXIT CCBTSW, TSWFLG CCBCHN, CHANNL /*USER CHANNL NUMBER CCBAST, ISZ I CCBTSW /COME HERE FROM AST DEQ ROUTINE JMP .+3 /SKIP TASK SWITCH IF NO INTERRUPTS CAL RESCHD /OTHERWISE RESCHEDULE CDF CUR JMP I CCBDRL /ENTER USER AST NOW CCBOPT=. /THE NEXT 16. WORDS IN THE CCBTAB HAVE LAST OPTDATA GOT CCBSIZ= CCBOPT+20-CCBSTA /TALLY ALL WORDS IN ACTUAL CCB >



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search