Google
 

Trailing-Edge - PDP-10 Archives - BB-H348C-RM_1982 - swskit-v21/listings/mcb/ntiklc.list
There are no other files named ntiklc.list in the archive.
NTIKLC	MACRO M1110  13-OCT-79 10:45
TABLE OF CONTENTS

     4-   35	DATA
     5-   73	INTERNAL MICRO-CODE TABLE
     6-   99	SCAN THROUGH KMC LOAD LIST
     7-  149	-- MAPPED SCAN
     9-  237	-- UNMAPPED SCAN
    11-  317	KMC LOADER
NTIKLC	MACRO M1110  13-OCT-79 10:45  PAGE 3


      1						.TITLE	NTIKLC
      2						.IDENT	/V01.00/
      3
      4					;
      5					; COPYRIGHT (C) 1978 BY
      6					; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
      7					;
      8					;
      9					; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND  COPIED
     10					; ONLY  IN  ACCORDANCE  WITH  THE  TERMS  OF  SUCH  LICENSE AND WITH THE
     11					; INCLUSION OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR  ANY  OTHER
     12					; COPIES  THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
     13					; OTHER PERSON.  NO TITLE TO AND OWNERSHIP OF  THE  SOFTWARE  IS  HEREBY
     14					; TRANSFERRED.
     15					;
     16					; THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT  NOTICE
     17					; AND  SHOULD  NOT  BE  CONSTRUED  AS  A COMMITMENT BY DIGITAL EQUIPMENT
     18					; CORPORATION.
     19					;
     20					; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR  RELIABILITY  OF  ITS
     21					; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.
     22					;
     23					; MODULE DESCRIPTION:
     24					;
     25					;	NTINIT - LOAD KMC DEVICE USING LOCAL COPY OF MICRO-CODE
     26					;
     27					; DISTRIBUTED SYSTEMS SOFTWARE ENGINEERING
     28					;
     29					; IDENT HISTORY:
     30					;
     31					; 1.00	27-FEB-78
     32					;	VERSION 2.0 RELEASE
     33					;
NTIKLC	MACRO M1110  13-OCT-79 10:45  PAGE 4
DATA

     35						.SBTTL	DATA
     36
     37					;
     38					; LIBRARY MACROS
     39					;
     40						.MCALL	ASL$,EMSG$,NTLER$,NHWDF$
     41
     42	000000					NHWDF$				;HARDWARE REGISTER DEFINITIONS
     43
     44
     45					;
     46					; LOCAL (IMPURE) DATA
     47					;
     48	000000					.PSECT	DATA,D
     49
     50					;
     51					; MAPPED CODE DATA WORDS
     52					;
     53						.IF	DF,M$$MGE
     54	000000				KMCMAP:	.BLKW	1			;SAVE CURRENT MAPPING
     55	000002				KMCPNT:	.BLKW	1			;SAVE CURRENT POINTER
     56	000004				KMCCNT:	.BLKW	1			;SAVE CURRENT COUNTER
     57	000006				KMCNAM:	.BLKW	1			;SAVE KMC DEVICE/PDV NAME
     58	000010				KMCNUM:	.BLKW	1			;SAVE KMC CONTROLLER NUMBER
     59						.ENDC
     60
     61					;
     62					; ERROR MESSAGES
     63					;
     64						.ENABL	LC
     65	000012				NTLER$	25,NONE,$NIERR,$NERON,,<Device * Micro-Code Load Failure>
     66						.DSABL	LC
     67
     68					;
     69					; INTERNAL (PURE) DATA AND CODE
     70					;
     71	000000					.PSECT
NTIKLC	MACRO M1110  13-OCT-79 10:45  PAGE 5
INTERNAL MICRO-CODE TABLE

     73						.SBTTL	INTERNAL MICRO-CODE TABLE
     74
     75
     76					;
     77					; TABLE OF KMC PDV/DEVICE NAMES, INTERNAL MICRO-CODE ADDRESSES,
     78					; MICRO-CODE LENGTHS IN NUMBER OF 32. WORD BLOCKS, AND
     79					; THE ADDRESSES OF ROUTINES WHICH PULL IN THE OVERLAY
     80					; WHERE THE MICRO-CODE RESIDES (SIMPLE "RETURN", NOT
     81					; ON RSX11-S SYSTEMS)
     82					;
     83	000000	042572 			KMCTB:	.RAD50	/KDZ/			;KMC DEVICE NAME (KMC-DZ)
     84	000002	000000G				.WORD	$KDZMC			;ADDRESS OF INTERNAL COPY (0 IF NONE)
     85	000004	000000G				.WORD	$KDZML			;NUMBER OF 32. WORD BLOCKS IN COPY
     86						.IF	NDF,R$$11S		;RSX11-S SYSTEMS CANNOT OVERLAY TASKS
     87	000006	000000G				.WORD	$KDZMO			;MICRO-CODE OVERLAY ADDRESS
     88						.ENDC
     89
     90	000010	042560 				.RAD50	/KDP/			;KMC DEVICE NAME (KMC-DUP)
     91	000012	000000G				.WORD	$KDPMC			;ADDRESS OF INTERNAL COPY (0 IF NONE)
     92	000014	000000G				.WORD	$KDPML			;NUMBER OF 32. WORD BLOCKS IN COPY
     93						.IF	NDF,R$$11S		;RSX11-S SYSTEMS CANNOT OVERLAY TASKS
     94	000016	000000G				.WORD	$KDPMO			;MICRO-CODE OVERLAY ADDRESS
     95						.ENDC
     96
     97	000020	000000 				.WORD	0			;END OF LIST
NTIKLC	MACRO M1110  13-OCT-79 10:45  PAGE 6
SCAN THROUGH KMC LOAD LIST

     99						.SBTTL	SCAN THROUGH KMC LOAD LIST
    100
    101					;+
    102					; $NIKMC - LOAD ALL KMC'S MICRO-CODE FROM EITHER TEMPORARY OR INTERNAL COPY
    103					;
    104					; THE KMC DATA BASE (KMC LOADED LIST) IS A LIST OF ALL KMC'S WHICH
    105					; HAVE HAD THEIR MICRO-CODE LOADED, OR WHICH ARE TO HAVE THEIR
    106					; MICRO-CODE LOADED ON POWER-FAIL OR SYSTEM STARTUP.
    107					;
    108					; THIS LIST CONSISTS OF A SERIES OF LIST ENTRIES, COLLECTED INTO
    109					; 32. WORD BLOCKS.  THE FIRST BLOCK IS POINTED TO BY THE WORD AT
    110					; THE OFFSET ".CXKMC" INTO THE NTL CONTROL DATA BLOCK (POINTED
    111					; TO BY "$NTLPT").  THE FIRST WORD OF EACH BLOCK IS A POINTER
    112					; TO THE NEXT BLOCK (IF ANY).  THERE ARE 7 ENTRIES PER BLOCK,
    113					; AND 4 WORDS PER ENTRY.  THIS LEAVES 3 UNUSED WORDS AT THE
    114					; END OF EACH BLOCK.
    115					;
    116					; THE FORMAT FOR EACH ENTRY IS AS FOLLOWS:
    117					;
    118					;	.RAD50	/NAM/	- THE PDV/DEVICE NAME FOR THE PARTICULAR KMC
    119					;	.WORD	CSR	- THE CSR ADDRESS FOR THE PARTICULAR KMC
    120					;	.BYTE	NUM	- THE CONTROLLER NUMBER FOR THE KMC
    121					;	.BYTE	LEN	- LENGTH OF LOCAL MICRO-CODE COPY IN 32. WORD BLOCKS
    122					;	.WORD	PNT	- ADDRESS (BIAS) OF LOCAL MICRO-CODE COPY
    123					;
    124					; THE LAST TWO PIECES OF DATA IN THE ENTRY (LEN AND PNT) ARE APPLICABLE
    125					; ONLY WHEN FIRST INITIALIZING THE SYSTEM, SINCE THIS COPY IS TEMPORARY.
    126					; AT ALL OTHER TIMES, THEY SHOULD BE ZERO.
    127					;
    128					; INPUTS:
    129					;	R1 = ADDRESS (OR BIAS) OF FIRST KMC LOAD LIST BLOCK (ZERO IF NONE)
    130					;	THE KMC "LOAD" LIST IS PROPERLY UPDATED
    131					;
    132					; OUTPUTS:
    133					;	THE "LOAD" LIST IS STEPPED THROUGH, AND, FOR EACH NON-ZERO
    134					;	  ENTRY, THE CORRESPONDING KMC IS LOADED FROM ITS LOCAL
    135					;	  MICRO-CODE COPY.  IF THE ADDRESS OF THE TEMPORARY COPY
    136					;	  (IN THE KMC LOAD LIST ENTRY) IS NON-ZERO, THAT IS USED
    137					;	  AS THE MICRO-CODE ADDRESS AND THE WORD IS ZEROED, ELSE
    138					;	  THE INTERNAL COPY (IN THE KMC MICRO-CODE TABLE "KMCTB")
    139					;	  IS USED.
    140					;	R1 IS DESTROYED.
    141					;	C-BIT=SUCCESS/FAILURE.
    142					;-
    143
    144	000022	005701 			$NIKMC::TST	R1			;CLEAR CARRY, ANY KMC'S TO LOAD?
    145	000024	001552 				BEQ	65$			;BR IF NO, FAST EXIT
    146
    147	000026	010046 				MOV	R0,-(SP)		;SAVE R0
NTIKLC	MACRO M1110  13-OCT-79 10:45  PAGE 7
-- MAPPED SCAN

    149						.SBTTL	-- MAPPED SCAN
    150
    151						.IF	DF,M$$MGE		;*-THE FOLLOWING IS MAPPED CODE-*
    152
    153	000030	005046 				CLR	-(SP)			;M-INDICATION THAT ANY KMC IS BAD
    154
    155	000032	005000 			3$:	CLR	R0			;M-R0 WILL RETURN A CARRY INDICATOR
    156	000034					SWSTK$	55$			;M-SWITCH STACKS, RETURN TO 55$
    157	000040	010167 	172354 			MOV	R1,BUFUMP		;M-MAP TO FIRST LIST BLOCK
    158	000044	001014 				BNE	10$			;M-BR IF FIRST TIME THROUGH
    159	000046	016767 	000000'	172354 		MOV	KMCMAP,BUFUMP		;M-GOT AT LEAST ONE PREVIOUS ERROR
    160	000054	016700 	000002'			MOV	KMCPNT,R0		;M-RESET STATUS OF LIST SCAN
    161	000060	016702 	000004'			MOV	KMCCNT,R2		;M-AS IF ERROR DID NOT OCCUR
    162	000064	000463 				BR	35$			;M-AND PROCEED
    163
    164	000066	016767 	140000 	172354 	5$:	MOV	.BASEB,BUFUMP		;M-MAP TO NEXT LIST
    165	000074	001504 				BEQ	45$			;M-BR IF DONE
    166
    167	000076	012700 	140002 		10$:	MOV	#.BASEB+2,R0		;M-POINT AT FIRST ENTRY IN LIST
    168	000102	012702 	000007 			MOV	#7,R2			;M-LIST HOLDS 7 SLOTS
    169
    170	000106	005710 			15$:	TST	(R0)			;M-IS THIS A REAL ENTRY
    171	000110	001451 				BEQ	35$			;M-BR IF SLOT IS EMPTY
    172	000112	016005 	000002 			MOV	2(R0),R5		;M-GET THE CSR ADDRESS
    173
    174	000116	016003 	000006 			MOV	6(R0),R3		;M-GET POINTER TO THE MICRO-CODE
    175	000122	001422 				BEQ	20$			;M-BR IF NOT DEFINED HERE
    176	000124	005060 	000006 			CLR	6(R0)			;M-CAN ONLY BE USED ONCE
    177	000130	005004 				CLR	R4			;M-ZERO OUT COUNT
    178	000132	156004 	000005 			BISB	5(R0),R4		;M-GET NUMBER OF 32. WORD BLOCKS
    179	000136	001436 				BEQ	35$			;M-BR IF NOTHING TO LOAD
    180	000140	016746 	172354 			MOV	BUFUMP,-(SP)		;M-SAVE CURRENT MAPPING
    181	000144	010367 	172354 			MOV	R3,BUFUMP		;M-MAP TO MICRO-CODE
    182	000150	012703 	140000 			MOV	#.BASEB,R3		;M-GET ADDRESS
    183	000154					CALL	KMCLD			;M-LOAD THE MICRO-CODE
    184	000160	012667 	172354 			MOV	(SP)+,BUFUMP		;M-RECOVER MAPPING
    185	000164	103430 				BCS	40$			;M-BR IF AN ERROR OCCURED
    186	000166	000422 				BR	35$			;M-GET NEXT ENTRY
    187
    188	000170	012704 	000000'		20$:	MOV	#KMCTB,R4		;M-POINT AT LOCAL KMC TABLE
    189	000174	005714 			25$:	TST	(R4)			;M-END OF TABLE YET?
    190	000176	001423 				BEQ	40$			;M-BR IF YES, NO AVAILABLE MICRO-CODE
    191	000200	022410 				CMP	(R4)+,(R0)		;M-DO NAMES MATCH?
    192	000202	001403 				BEQ	30$			;M-BR IF YES
    193	000204	022424 				CMP	(R4)+,(R4)+		;M-SKIP ADDRESS AND LENGTH
    194						.IF	NDF,R$$11S
    195	000206	005724 				TST	(R4)+			;M-SKIP OVERLAY ADDRESS
    196						.ENDC
    197	000210	000771 				BR	25$			;M-AND CHECK NEXT ENTRY
NTIKLC	MACRO M1110  13-OCT-79 10:45  PAGE 8
-- MAPPED SCAN

    199
    200	000212	012403 			30$:	MOV	(R4)+,R3		;M-GET MICRO-CODE ADDRESS
    201	000214	001414 				BEQ	40$			;M-BR IF NO MICRO-CODE, ERROR
    202						.IF	NDF,R$$11S
    203	000216					CALL	@2(R4)			;M-PULL IN MICRO-CODE OVERLAY
    204						.ENDC
    205	000222	011404 				MOV	(R4),R4			;M-GET NUMBER OF 32. WORD BLOCKS
    206	000224	001403 				BEQ	35$			;M-BR IF NOTHING TO LOAD
    207	000226					CALL	KMCLD			;M-LOAD THE MICRO-CODE
    208	000232	103405 				BCS	40$			;M-BR IF ERROR OCCURED
    209
    210	000234	062700 	000010 		35$:	ADD	#10,R0			;M-POINT AT NEXT ENTRY (4 WORDS/ENTRY)
    211	000240	005302 				DEC	R2			;M-COUNT SLOTS
    212	000242	003321 				BGT	15$			;M-GO CHECK THIS SLOT
    213	000244	000710 				BR	5$			;M-GO GET NEXT BLOCK IN LIST
    214
    215	000246	005266 	000002 		40$:	INC	2(SP)			;M-INDICATE AN ERROR OCCURED
    216	000252	011067 	000006'			MOV	(R0),KMCNAM		;M-SAVE THE KMC NAME
    217	000256	116067 	000004 	000010'		MOVB	4(R0),KMCNUM		;M-SAVE THE CONTROLLER NUMBER
    218	000264	105067 	000011'			CLRB	KMCNUM+1		;M-ONLY ONE BYTE
    219	000270	016767 	172354 	000000'		MOV	BUFUMP,KMCMAP		;M-SAVE CURRENT MAPPING
    220	000276	010067 	000002'			MOV	R0,KMCPNT		;M-SAVE CURRENT POINTER
    221	000302	010267 	000004'			MOV	R2,KMCCNT		;M-SAVE CURRENT COUNTER
    222
    223	000306				45$:	RETURN				;M-RETURN TO NORMAL AT 55$
    224
    225	000310	006000 			55$:	ROR	R0			;M-SET THE CARRY
    226	000312	103015 				BCC	60$			;M-BR IF CARRY CLEAR, FINISHED
    227
    228	000314	016767 	000006'	000000G		MOV	KMCNAM,$NIERA		;M-SET THE DEVICE NAME
    229	000322	016767 	000010'	000002G		MOV	KMCNUM,$NIERA+2		;M-SET THE CONTROLLER NUMBER
    230	000330					EMSG$	25			;M-KMC LOAD FAIL "DEV_NUM"
    231	000336	005001 				CLR	R1			;M-USE SAVED INFO AFTER SWSTK$
    232	000340	012716 	000001 			MOV	#1,(SP)			;M-AN ERROR OCCURED
    233	000344	000632 				BR	3$			;M-START AGAIN WHERE WE STOPPED
    234
    235	000346	006026 			60$:	ROR	(SP)+			;M-INDICATE IF ANY ERROR OCCURED
NTIKLC	MACRO M1110  13-OCT-79 10:45  PAGE 9
-- UNMAPPED SCAN

    237						.SBTTL	-- UNMAPPED SCAN
    238						.IFF				;*-THE FOLLOWING IS UNMAPPED CODE-*
    239						.SBTTL	-- UNMAPPED SCAN
    240
    241						MOV	R2,-(SP)		;U-SAVE R2
    242						MOV	R3,-(SP)		;U-SAVE R3
    243						MOV	R4,-(SP)		;U-SAVE R4
    244						MOV	R5,-(SP)		;U-SAVE R5
    245						CLR	-(SP)			;U-SHOVE AN ERROR INDICATOR ON STACK
    246						MOV	R1,R0			;U-SAVE POINTER TO TOP OF BLOCK
    247						BR	8$			;U-GO STEP THROUGH BLOCK
    248
    249					5$:	MOV	(R0),R0			;U-GET POINTER TO LIST BLOCK
    250						BEQ	40$			;U-BR IF NO MORE BLOCKS
    251						MOV	R0,R1			;U-COPY POINTER TO BLOCK
    252
    253					8$:	TST	(R1)+			;U-SET POINTER TO FIRST ENTRY
    254						MOV	#7,R2			;U-THERE ARE 7 ENTRIES PER BLOCK
    255
    256					10$:	TST	(R1)			;U-IS THIS A VALID ENTRY?
    257						BEQ	35$			;U-BR IF EMPTY SLOT
    258						MOV	2(R1),R5		;U-GET CSR ADDRESS
    259
    260						MOV	6(R1),R3		;U-GET ADDRESS OF LOCAL MICRO-CODE
    261						BEQ	15$			;U-BR IF NOT DEFINED HERE
    262						CLR	6(R1)			;U-SHOULD ONLY USE THIS COPY ONCE
    263						CLR	R4			;U-ZERO INITIAL COUNT
    264						BISB	5(R1),R4		;U-NUMBER OF 32. WORD BLOCKS
    265						BEQ	35$			;U-BR IF NOTHING TO LOAD
    266						BR	30$			;U-GO LOAD IT
    267
    268					15$:	MOV	#KMCTB,R4		;U-GET ADDRESS OF KMC TABLE
    269					20$:	TST	(R4)			;U-END OF TABLE YET?
    270						BEQ	33$			;U-BR IF YES, NO MICRO-CODE FOR KMC
    271						CMP	(R4)+,(R1)		;U-GOT CORRECT NAME?
    272						BEQ	25$			;U-BR IF YES
    273						CMP	(R4)+,(R4)+		;U-SKIP MICRO-CODE ADDRESS AND LENGTH
    274						.IF	NDF,R$$11S
    275						TST	(R4)+			;U-SKIP OVERLAY ADDRESS
    276						.ENDC
    277						BR	20$			;U-AND CHECK NEXT ENTRY
    278					25$:	MOV	(R4)+,R3		;U-GET ADDRESS OF MICRO-CODE
    279						BEQ	33$			;U-BR IF NO MICRO-CODE, ERROR
    280						.IF	NDF,R$$11S
    281						CALL	@2(R4)			;U-PULL IN OVERLAY
    282						.ENDC
    283						MOV	(R4),R4			;U-NUMBER OF 32. WORD BLOCKS
    284						BEQ	35$			;U-BR IF NOTHING TO LOAD
NTIKLC	MACRO M1110  13-OCT-79 10:45  PAGE 10
-- UNMAPPED SCAN

    286
    287					30$:	CALL	KMCLD			;U-LOAD THE MICRO-CODE
    288						BCC	35$			;U-BR IF LOAD WORKED
    289
    290					33$:	MOV	R0,-(SP)		;U-SAVE R0
    291						CLR	$NIERA+2		;U-MAKE A NULL
    292						MOVB	4(R1),$NIERA+2		;U-SET CONTROLLER NUMBER
    293						MOV	(R1),$NIERA		;U-SET DEVICE NAME
    294						EMSG$	25			;U-LOAD FAIL ON "DEV_NUM"
    295						MOV	(SP)+,R0		;U-RECOVER R0
    296						MOV	#1,(SP)			;U-INDICATE AN ERROR OCCURED
    297
    298					35$:	ADD	#10,R1			;U-POINT AT NEXT LIST ENTRY
    299						DEC	R2			;U-COUNT DOWN
    300						BGT	10$			;U-BR IF MORE
    301						BR	5$			;U-GO CHECK NEXT BLOCK
    302
    303					40$:	ROR	(SP)+			;U-SET THE CARRY
    304						MOV	(SP)+,R5		;U-RECOVER R5
    305						MOV	(SP)+,R4		;U-RECOVER R4
    306						MOV	(SP)+,R3		;U-RECOVER R3
    307						MOV	(SP)+,R2		;U-RECOVER R2
    308
    309						.ENDC				;*-MAPPED AND UNMAPPED TAKE SAME EXIT-*
    310
    311					;
    312					; FINISHED
    313					;
    314	000350	012600 				MOV	(SP)+,R0		;RECOVER R0
    315	000352				65$:	RETURN				;AND LEAVE
NTIKLC	MACRO M1110  13-OCT-79 10:45  PAGE 11
KMC LOADER

    317						.SBTTL	KMC LOADER
    318
    319					;+
    320					; KMCLD - LOAD MICRO-CODE FROM LOCAL COPY
    321					;
    322					; INPUTS:
    323					;	R3 = ADDRESS OF LOCAL COPY OF MICRO-CODE
    324					;	R4 = LENGTH OF MICRO-CODE COPY IN 32. WORD BLOCKS
    325					;	R5 = KMC CSR ADDRESS
    326					;	R3, R4, AND R5 DO NOT HAVE TO BE SAVED
    327					;
    328					; OUTPUTS:
    329					;	KMC RAM LOADED FROM LOCAL MICRO-CODE COPY
    330					;	C-BIT=SUCCESS/FAILURE
    331					;-
    332
    333	000354	010046 			KMCLD:	MOV	R0,-(SP)		;SAVE R0
    334	000356	022704 	000040 			CMP	#32.,R4			;MORE THAN 32.*32. WORDS?
    335	000362	002450 				BLT	30$			;BR IF YES, TOO MANY
    336	000364					ASL$	5,R4			;CONVERT TO NUMBER OF WORDS
    337
    338	000376	010500 				MOV	R5,R0			;COPY KMC CSR ADDRESS
    339	000400	005020 				CLR	(R0)+			;INITIALIZE KMC
    340	000402	005020 				CLR	(R0)+			; BY CLEARING
    341	000404	005020 				CLR	(R0)+			; ALL OF ITS
    342	000406	005010 				CLR	(R0)			; CSR'S
    343	000410	005000 				CLR	R0			;INITIAL KMC RAM ADDRESS
    344
    345	000412	012715 	002000 		20$:	MOV	#2000,(R5)		;SELECT CRAM
    346	000416	010065 	000004 			MOV	R0,4(R5)		;LOAD ADDRESS ON KMC RAM
    347	000422	011365 	000006 			MOV	(R3),6(R5)		;LOAD WORD OF MICRO-CODE
    348	000426	052715 	020000 			BIS	#20000,(R5)		;PLACE DATA IN KMC RAM
    349	000432	005015 				CLR	(R5)			;CLEAR KMC CSR
    350	000434	005065 	000004 			CLR	4(R5)			;CLEAR RAM ADDRESS
    351	000440	005065 	000006 			CLR	6(R5)			;CLEAR DATA
    352	000444	012715 	002000 			MOV	#2000,(R5)		;READ CONTENTS OF ADDRESS
    353	000450	010065 	000004 			MOV	R0,4(R5)		;LOAD RAM ADDRESS AGAIN
    354	000454	022365 	000006 			CMP	(R3)+,6(R5)		;EQUAL TO WHAT WAS JUST WRITTEN?
    355	000460	001011 				BNE	30$			;BR IF NOT, BAD ERROR
    356	000462	005200 				INC	R0			;SET TO NEXT RAM ADDRESS
    357	000464	005304 				DEC	R4			;ONE LESS WORD IN BUFFER
    358	000466	003351 				BGT	20$			;BR IF MORE IN BUFFER
    359
    360	000470	005025 				CLR	(R5)+			;CLEAR ALL KMC REGISTERS AGAIN
    361	000472	005025 				CLR	(R5)+
    362	000474	005025 				CLR	(R5)+
    363	000476	005015 				CLR	(R5)
    364	000500	000241 				CLC				;NO ERRORS
    365	000502	000401 				BR	40$			;EXIT
    366
    367	000504	000261 			30$:	SEC				;RETURN CARRY SET
    368
    369	000506	012600 			40$:	MOV	(SP)+,R0		;RESTORE R0
    370	000510					RETURN
NTIKLC	MACRO M1110  13-OCT-79 10:45  PAGE 12
KMC LOADER

    372		000001 				.END
NTIKLC	MACRO M1110  13-OCT-79 10:45  PAGE 12-1
SYMBOL TABLE

A$$CHK= 000000   	G$$WRD= 000000   	L$$P11= 000001   	PR3   = 000140   	T$$MIN= 000000
A$$CPS= 000000   	I$$RAR= 000000   	L$$11R= 000000   	PR4   = 000200   	UBMPR = 170200
A$$PRI= 000000   	I$$RDN= 000000   	MPAR  = 172100   	PR5   = 000240   	UISAR0= 177640
A$$TRP= 000000   	KISAR0= 172340   	MPCSR = 177746   	PR6   = 000300   	UISAR1= 177642
BUFUMP= 172354   	KISAR6= 172354   	M$$CRB= 000124   	PR7   = 000340   	V$$CTR= 001000
CMODE = 140000   	KMCCNT  000004R     002	M$$CRX= 000000   	PS    = 177776   	X$$DBT= 000000
C$$CKP= 000000   	KMCLD   000354R  	M$$EXT= 000000   	P$$P45= 000000   	$ERR25  000012RG    002
C$$ORE= 000400   	KMCMAP  000000R     002	M$$FCS= 000000   	P$$WRD= 000000   	$KDPMC= ****** GX
C$$RSH= 177564   	KMCNAM  000006R     002	M$$MGE= 000000   	Q$$OPT= 000010   	$KDPML= ****** GX
D$$BUG= 177514   	KMCNUM  000010R     002	M$$OVR= 000000   	R$$DER= 000000   	$KDPMO= ****** GX
D$$ISK= 000000   	KMCPNT  000002R     002	N$$LDV= 000001   	R$$K11= 000001   	$KDZMC= ****** GX
D$$L11= 000001   	KMCTB   000000R  	N$$MOV= 000010   	R$$SND= 000000   	$KDZML= ****** GX
D$$YNC= 000000   	K$$CNT= 177546   	N$$SYS= 000001   	R$$11M= 000000   	$KDZMO= ****** GX
D$$YNM= 000000   	K$$CSR= 177546   	N$$USR= 000001   	SWR   = 177570   	$NERON= ****** GX
E$$XPR= 000000   	K$$LDC= 000000   	PIRQ  = 177772   	S$$WRG= 000000   	$NIERA= ****** GX
F$$LVL= 000001   	K$$TPS= 000074   	PMODE = 030000   	S$$YSZ= 007600   	$NIERR= ****** GX
G$$TPP= 000000   	LD$LP = 000000   	PR0   = 000000   	TPS   = 177564   	$NIKMC  000022RG
G$$TSS= 000000   	L$$ASG= 000000   	PR1   = 000040   	T$$KMG= 000000   	.BASEB= 140000
G$$TTK= 000000   	L$$DRV= 000000   	PR2   = 000100

. ABS.	000000	   000
      	000512	   001
DATA  	000064	   002
ERRORS DETECTED:  0

VIRTUAL MEMORY USED:  3528 WORDS  ( 14 PAGES)
DYNAMIC MEMORY:  4780 WORDS  ( 18 PAGES)
ELAPSED TIME:  00:00:19
NTIKLC,[132,34]NTIKLC/CR/-SP=[130,10]NETLIB/ML,RSXMC7/PA:1,[132,10]NTIKLC
NTIKLC     CREATED BY  MACRO  ON 13-OCT-79 AT 10:45	PAGE 1

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

BUFUMP	= 172354	#4-42      *7-157     *7-159     *7-164      7-180     *7-181     *7-184      8-219     
CMODE 	= 140000	#4-42      
I$$AS 	= ******	 4-42       11-336    
KISAR0	= 172340	#4-42      
KISAR6	= 172354	#4-42      
KMCCNT	  000004 R	#4-56       7-161     *8-221     
KMCLD 	  000354 R	 7-183      8-207     #11-333    
KMCMAP	  000000 R	#4-54       7-159     *8-219     
KMCNAM	  000006 R	#4-57      *8-216      8-228     
KMCNUM	  000010 R	#4-58      *8-217     *8-218      8-229     
KMCPNT	  000002 R	#4-55       7-160     *8-220     
KMCTB 	  000000 R	#5-83       7-188     
MPAR  	= 172100	#4-42      
MPCSR 	= 177746	#4-42      
M$$MGE	= 000000	 4-42       4-53       7-151     
PIRQ  	= 177772	#4-42      
PMODE 	= 030000	#4-42      
PR0   	= 000000	#4-42      
PR1   	= 000040	#4-42      
PR2   	= 000100	#4-42      
PR3   	= 000140	#4-42      
PR4   	= 000200	#4-42      
PR5   	= 000240	#4-42      
PR6   	= 000300	#4-42      
PR7   	= 000340	#4-42      
PS    	= 177776	#4-42      
R$$EIS	= ******	 11-336    
R$$11D	= ******	 4-42       11-336    
R$$11S	= ******	 5-86       5-93       7-194      8-202     
SWR   	= 177570	#4-42      
TPS   	= 177564	#4-42      
UBMPR 	= 170200	#4-42      
UISAR0	= 177640	#4-42      
UISAR1	= 177642	#4-42      
$ERR25	  000012 RG	#4-65       8-230     
$KDPMC	= ******  GX	 5-91      
$KDPML	= ******  GX	 5-92      
$KDPMO	= ******  GX	 5-94      
$KDZMC	= ******  GX	 5-84      
$KDZML	= ******  GX	 5-85      
$KDZMO	= ******  GX	 5-87      
$NERON	= ******  GX	 4-65      
$NIERA	= ******  GX	*8-228     *8-229     
$NIERR	= ******  GX	 4-65      
$NIKMC	  000022 RG	#6-144     
.BASEB	= 140000	#4-42       7-164      7-167      7-182     
NTIKLC     CREATED BY  MACRO  ON 13-OCT-79 AT 10:45	PAGE 2

MACRO CROSS REFERENCE                                   CREF         

MACRO NAME	REFERENCES

ASL$  		#4-40      #11-336    
CALL  		 7-156      7-183      8-203      8-207      8-230     
EMSG$ 		#4-40       8-230     
NHWDF$		#4-40       4-42      
NTLER$		#4-40       4-65      
RETURN		#8-223     #10-315    #11-370    
SWSTK$		#7-156