DataMuseum.dk

Presents historical artifacts from the history of:

Intel ISIS Floppy Disks

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Intel ISIS Floppy Disks

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦0467310d0⟧ TextFile

    Length: 14529 (0x38c1)
    Types: TextFile
    Names: »TLF1.SRC«

Derivation

└─⟦af81bc460⟧ Bits:30005550 8" CR80 Floppy CR80FD_0034 ( MATRIX Source and Abs-files )
└─⟦af81bc460⟧ Intel_ISIS_II
    └─ ⟦this⟧ »TLF1.SRC« 

TextFile

	\r
	NLIST	S\r
PASSIVATE	MACRO	#ID,#NO\r
					;DESRIP: THE MODULE PASSIVATES\r
					;	SPECIFIED PROCES.\r
					;	IF LINK IS SET AND ACTIV\r
					;	SPECIAL PROCESS IS PASSIVATED\r
					;	THE LINK-ELEMENT IS \r
					;	DECREMENTED\r
					;DESTR:	REG F,H,L\r
	IF	'#ID'.EQ.'S'\r
	LD	HL,SYSRAM+200H+#NO*10H+5\r
					;IMPLEMENT ADD OF STATUS-BIT\r
	IF	LINK.EQ.1\r
	BIT	7,(HL)			;\r
	JR	Z,O#$YM		;IF PROCESS WAS NOT PASSIVE THEN\r
	LD	HL,SYSRAM+0FBH	;BEGIN\r
	DEC	(HL)			;DEC LINK-ELEMENT\r
	LD	HL,SYSRAM+200H+#NO*10H+5\r
					;END\r
O#$YM:	ENDIF\r
	ENDIF\r
	IF	'#ID'.EQ.'N'\r
	LD	HL,SYSRAM+200H+S*10H+#NO*20H+5\r
					;IMPLEMENT ADD OF STATUS-BIT\r
	ENDIF\r
	RES	7,(HL)			;PASSIVATE\r
	ENDM\r
ACTIVATE	MACRO	#ID,#NO\r
					;DESRIP: THE MODULE ACTIVATES\r
					;	SPECIFIED PROCES.\r
					;	IF LINK IS SET AND PASSIV\r
					;	SPECIAL PROCESS IS ACTIVATED\r
					;	THE LINK-ELEMENT IS \r
					;	INCREMENTED\r
					;DESTR:	REG F,H,L\r
	IF	'#ID'.EQ.'S'\r
	LD	HL,SYSRAM+200H+#NO*10H+5\r
					;IMPLEMENT ADD OF STATUS-BIT\r
	IF	LINK.EQ.1\r
	BIT	7,(HL)			;\r
	JR	NZ,O#$YM		;IF PROCESS WAS NOT ACTIVE THEN\r
	LD	HL,SYSRAM+0FBH	;BEGIN\r
	INC	(HL)			;INC LINK-ELEMENT\r
	LD	HL,SYSRAM+200H+#NO*10H+5\r
					;END\r
O#$YM:	ENDIF\r
	ENDIF\r
	IF	'#ID'.EQ.'N'\r
	LD	HL,SYSRAM+200H+S*10H+#NO*20H+5\r
					;IMPLEMENT ADD OF STATUS-BIT\r
	ENDIF\r
	SET	7,(HL)			;ACTIVATE\r
	ENDM\r
CREATE	MACRO	#ID,#NO,#NAME,#PRIO\r
				;DESCRIP: THE MODULE CREATES SPECIFIED\r
				;	PROCESS IE LOADS STARTADDRESS\r
				;	(#NAME) IN PROCESS-DESCRIPTION\r
				;	BYTE 6,7. IF NORMAL PROCESS IS\r
				;	ENCOUNTERED PRIORITY IS LOADED\r
				;	TO BYTE 5 IN PROCESS-DESCRIPTION\r
				;	AND THE PROCESS IS ENQUEUED IN\r
				;	APPROPRIATE PRIO-QUEUE.\r
				;	FINALLY THE SPECIFIED PROCESS\r
				;	IS ACTIVATED\r
				;DESTR:	IF NORMAL PROCESS\r
				;	REG. A,F,B,C,D,E,H,L\r
				;	IF SPECIAL PROCESS\r
				;	REG. F,H,L\r
	LD	HL,#NAME	;\r
	IF	'#ID'.EQ.'S'\r
	LD	(SYSRAM+200H+#NO*10H+6),HL\r
				;STARTADD TO PROCESS-DESCRIP\r
	ENDIF\r
	IF	'#ID'.EQ.'N'\r
	LD	(SYSRAM+200H+S*10H+#NO*20H+6),HL\r
				;STARTADD TO PROCESS-DESCRIP\r
	LD	HL,SYSRAM+200H+S*10H+#NO*20H+5\r
	LD	(HL),#PRIO			;PRIORTY TO PROCESS\r
	LD	HL,SYSRAM+#PRIO*8		;ADDRESS OF PRIO-QUEUE\r
	LD	DE,SYSRAM+200H+S*10H+#NO*20H	;ADDRESS OF PROCESS-DESCRIP\r
	CALL	SUBENQ\r
	ENDIF\r
	ACTIVATE	#ID,#NO			;ACTIVATE PROCESS\r
	ENDM\r
\r
\r
LESTAB	MACRO	#PRNUM\r
	LD	BC,#PRNUM\r
	CALL	ESTABR\r
	ENDM\r
\r
LSUSPN	MACRO	#PRNUM\r
	LD	BC,#PRNUM\r
	CALL	SUSPND\r
	ENDM\r
\r
GESTAM	MACRO\r
	LD	HL,ONOFF\r
	LD	(HL),0FFH\r
	ENDM\r
\r
GSUSPM	MACRO\r
	LD	HL,ONOFF\r
	LD	(HL),0\r
        ENDM\r
\r
UPDATM	MACRO	#PRNUM,#NO\r
	LD	HL,DELAY+#PRNUM\r
	LD	(HL),#NO\r
	ENDM\r
\r
IDEPAS	MACRO\r
	NOP\r
	ENDM\r
\r
OGEPAS	MACRO	#NO\r
	NOP\r
	ENDM\r
\r
ODEPAS	MACRO	#NO\r
	NOP\r
	ENDM\r
\r
OGEPAC	MACRO	\r
	NOP\r
	ENDM\r
\r
ODEPAC	MACRO\r
	NOP\r
	ENDM\r
\r
OGEPA	MACRO	#NO\r
	NOP\r
	ENDM\r
\r
ODEPA	MACRO	#NO\r
	NOP\r
	ENDM\r
\r
	LIST	S\r
;******************************************************************************\r
;*                                                                            *\r
;* D O R A     A P P L I C A T I O N     S / W                                *\r
;*                                                                            *\r
;* DEVICE: MATRIX                                                             *\r
;*                                                                            *\r
;* MODULE: TFK MATRIX PROCESS                                                 *\r
;*                                                                            *\r
;******************************************************************************\r
\r
LINK	DEFL	0\r
SIO2C	DEFL	0E3H\r
SIO2D	DEFL	0E1H\r
\r
SIOXCMD	MACRO	#N\r
			;THE SIOXCMD MACRO TRANSMITS THE CONTENTS OF THE REG\r
			;TO REG NIMBER N IN THE SIO, THE SIO ADDRESS IS \r
			;SITUATED IN THE C REG\r
	LD	A,#N\r
	OUT	(C),A	;POINT AT TEG\r
	OUT	(C),E	;OUTPUT COMMAND\r
	ENDM\r
\r
	PUBLIC	TLFQH,EA,TRXPNT,TRXBUF,RECPNT,RECBUF,QELM\r
	PUBLIC	TFMINI,TRXINT,RECINT,SALOUT,TABTFK\r
	EXTRN	SCOMMON,SUBDEQ,SUBENQ,SYSRAM,ESTABR,SUSPND\r
	EXTRN	QEA,QME,QUEST,QAQEST,DELAY,CONDIT\r
\r
	CSEG\r
TFMINI:	LD	SP,PSTACK	;INITIALIZE STACKPOINTER\r
	LD	HL,TRXBUF	;INIT TRXBUF POINTER\r
	LD	(TRXPNT),HL\r
	LD	HL,RECBUF	;INIT RECBUF POINTER\r
	LD	A,0\r
	LD	(HL),A\r
	LD	(RECPNT),HL\r
	UPDATM	5,100		;UPDATE TIMEOUT-DELAY = 0.8 SEC.\r
\r
*******************************************************************************\r
*                             TRANSMITTER  PART                               *\r
*******************************************************************************\r
GETELM:	PASSIVATE S,11\r
	CALL	SCOMMON\r
	EI\r
GET0:	LD	HL,QEA\r
	CALL	SUBDEQ\r
	JR	NC,GET1		;IF BUFFER IN QEA THEN\r
	LD	(EA),DE		;BEGIN\r
	PUSH	DE		;\r
	POP	IX		;\r
	LD	HL,QME		;\r
	PUSH	HL		;  SAVE OUTG.Q-HEAD ADDRESS(QME)\r
	LD	HL,CONDIT	;\r
	BIT	6,(HL)		;\r
	JR	Z,CASE2		;  IF INITIALIZATION IN PROGRESS\r
	LD	A,(IX+3)	;\r
	CP	30		;  AND\r
	JR	NZ,CASE2	;  SOURCE = TEST THEN\r
	LD	(IX+2),00	;  INSERT RELEASE COMMAND CODE\r
	JR	CASE2		;END\r
GET1:	LD	HL,QAQEST\r
	CALL	SUBDEQ\r
	JR	NC,GETELM	;IF BUFFER IN QAQEST THEN\r
	LD	(EA),DE		;BEGIN\r
	PUSH	DE		;\r
	POP	IX		;\r
	LD	HL,QUEST	;\r
	PUSH	HL		;  SAVE OUTG.Q-HEAD ADDRESS(QUEST)\r
	LD	A,(IX+2)	;\r
	CP	02H		;  IF A QUESTION COMMAND THEN\r
	JR	Z,CASE1		;  DO CASE1 ELSE\r
	JR	CASE2		;  DO CASE2\r
				;END\r
\r
;--------------------------------------------------------------------------\r
CASE1:				;QUESTION COMMAND\r
	LD	IY,TRXBUF\r
	LD	(IY),'Q'	;INSERT ASCII COMMAND CODE\r
	INC	IY\r
	LD	B,0\r
	LD	C,(IX+4)	;GET DESTINATION NO.\r
	LD	HL,DSTTAB\r
	ADD	HL,BC\r
	CALL	PAIR		;CONVERT DEST.NO. TO ASCII AND INSERT\r
	LD	(IY),0		;INSERT STOP\r
	JP	TRANSM\r
\r
;-----------------------------------------------------------------------------\r
CASE2:				;EXECUTION COMMAND\r
	LD	A,(IX+2)	;GET COMMAND CODE\r
	CP	00\r
	JR	NZ,Q		;IF COMMAND CODE = RELEASE THEN\r
				;BEGIN\r
	LD	(IX+2),01	;\r
	LD	(IX+3),38	;  INSERT RELEASE CODE(MTC)\r
	LD	A,01		;END\r
Q:	LD	HL,CMDTAB\r
	LD	BC,3\r
	CPIR\r
	JR	Z,Q2		;IF COMMAND ERROR THEN\r
	RES	0,(IX+2)	;RESET ACK-BIT IN BUFFER AND\r
	JP	CNTRL		;RETURN\r
\r
Q2:	LD	HL,CODTAB\r
	ADD	HL,BC\r
	LD	A,(HL)		;GET ASCII COMMAND CODE\r
	LD	IY,TRXBUF\r
	LD	(IY),A		;INSERT ASCII COMMAND CODE\r
	INC	IY\r
	LD	B,0\r
	LD	C,(IX+3)	;GET SOURCE NO.\r
	CP	'L'\r
	JR	Z,Q21		;IF ORDINARY CP THEN\r
	LD	HL,SRCTAB	;USE SRCTAB\r
	JR	Q22		;ELSE\r
Q21:	LD	HL,LSTTAB	;USE LSTTAB\r
Q22:	ADD	HL,BC\r
	CALL	PAIR		;CONVERT SOURCE NO. TO ASCII AND INSERT\r
	LD	(IY),'D'\r
	INC	IY\r
\r
	LD	B,0\r
	LD	C,(IX+4)	;GET DESTINATION NO.\r
	LD	HL,DSTTAB\r
	ADD	HL,BC\r
	CALL	PAIR		;CONVERT DEST.NO. TO ASCII AND INSERT\r
	LD	HL,TRXBUF\r
	LD	A,(HL)\r
	CP	'L'\r
	JR	Z,TRANSM	;IF NOT A "LISTEN"-COMMAND THEN\r
				;BEGIN\r
	LD	(IY),'G'	;\r
	INC	IY		;  INSERT "GO"\r
	LD	(IY),'O'	;\r
	INC	IY		;\r
	LD	HL,TABTFK	;\r
	LD	B,0		;\r
	LD	C,(IX+4)	;\r
	ADD	HL,BC		;\r
	LD	A,(IX+3)	;\r
	CP	31		;\r
	JR	Z,Q31		;  IF SOURCE = 31,32,33,34,35 OR MTC THEN\r
	CP	32		;  SET (A) = 0\r
	JR	Z,Q31		;\r
	CP	33		;\r
	JR	Z,Q31		;\r
	CP	34		;\r
	JR	Z,Q31		;\r
	CP	35		;\r
	JR	Z,Q31		;\r
	CP	38		;\r
	JR	NZ,Q32		;\r
Q31:	LD	A,0		;\r
Q32:	LD	B,A		;\r
	LD	A,58		;  BEGIN\r
	CP	C		;\r
	JR	Z,Q33		;\r
	INC	A		;\r
	CP	C		;\r
	JR	NZ,Q34		;    IF DESTIN. = 58 OR 59 THEN\r
Q33:	LD	A,0		;    SKIP IF SOURCE IS NOT ONE OF 1-12\r
	CP	B		;\r
	JR	Z,TRANSM	;\r
	LD	A,12		;\r
	CP	B		;\r
	JR	C,TRANSM	;\r
				;  END ELSE\r
Q34:	LD	(HL),B		;  UPDATE LOCAL STATUS TABLE\r
	JR	TRANSM		;END\r
\r
\r
;-----------------------------------------------------------------------------\r
TRANSM:	LD	(IY),0		;INSERT STOP\r
        LD	HL,TRXBUF\r
	LD	(TRXPNT),HL	;RESET TRX POINTER\r
    	DI\r
	CALL	TRX		;TRANSMIT FIRST CHAR.\r
	EI\r
	LESTAB	5		;RESTART TIMEOUT-TIMER\r
\r
******************************************************************************\r
*                           RECEIVER  PART                                   *\r
******************************************************************************\r
WAIT:	PASSIVATE S,11		;\r
	CALL	SCOMMON		;\r
	EI			;\r
	LD	HL,RECBUF	;WAIT FOR REPLY\r
	LD	A,0FFH		;\r
	CP	(HL)		;\r
	JR	NZ,WAIT		;\r
	LSUSPN	5		;SUSPEND TIMEOUT-TIMER\r
\r
AVL:	LD	IX,(EA)\r
	LD	IY,RECBUF\r
	LD	(IY),0		;RESET BUFFER AVAILABLE FLAG\r
	LD	A,'M'\r
	CP	(IY+1)\r
	JR	NZ,AVL1		;IF THE COMMAND HAS NOT BEEN EXECUTED THEN\r
	RES	0,(IX+2)	;RESET ACK-BIT IN BUFFER AND\r
	JR	CNTRL		;RETURN\r
				;ELSE\r
AVL1:	SET	0,(IX+2)	;SET ACK-BIT IN BUFFER\r
	BIT	1,(IX+2)\r
	JR	Z,CNTRL		;IF QUESTION COMMAND THEN\r
				;BEGIN\r
	INC	IY		;\r
	INC	IY		;  ADDRESS OF FIRST ASCII CHAR. OF SOURCE\r
	PUSH	IX		;\r
	POP	HL		;\r
	LD	BC,3		;\r
	ADD	HL,BC		;  ADDRESS OF SOURCE BYTE IN BUFFER\r
				;\r
	LD	BC,39		;\r
	LD	DE,SRCTAB	;\r
	CALL	TWOASC		;  CONVERT ASCII SOURCE TO LOGIC SOURCE NO.\r
				;\r
	INC	IY		;\r
	INC	HL		;\r
	LD	BC,86		;\r
	LD	DE,DSTTAB	;\r
	CALL	TWOASC		;  CONVERT ASCII DESTIN. TO LOGIC DESTIN. NO.\r
				;END\r
CNTRL:	POP	HL		;GET OUTGOING Q-HEAD ADDRESS\r
	PUSH	HL\r
	LD	A,QME.LOW.\r
	CP	L\r
	JR	NZ,CNT1\r
	LD	A,QME.HIGH.\r
	CP	H\r
	JR	NZ,CNT1\r
	ACTIVATE S,9\r
CNT1:	POP	HL\r
      	LD	DE,(EA)\r
	CALL	SUBENQ		;ENQUE BUFFER IN OUTGOING Q-HEAD\r
	JP	GET0\r
\r
\r
*****************************************************************************\r
; TRANSMITTER INTERRUPT :\r
\r
TRXINT:	EXX			;SAVE REGISTERS\r
	EX	AF,AF'		;\r
	CALL	TRX		;TRANSMIT CHAR.\r
	EXX			;\r
	EX	AF,AF'		;\r
	EI			;\r
	RETI			;\r
\r
\r
TRX:	LD	HL,(TRXPNT)	;IF CHAR = EOT THEN\r
	LD	A,(HL)		;\r
	CP	00		;\r
	JR	NZ,PRCED	;\r
EOT:	LD	C,SIO2C		;RESET TRANSMITTER INTERRUPT PENDING\r
	LD	E,28H		;\r
	SIOXCMD	0		;\r
	LD	HL,TRXBUF	;\r
	LD	(TRXPNT),HL	;\r
	RET			;\r
PRCED:	OUT	(SIO2D),A	;OUTPUT CHAR\r
	INC	HL		;UPDATE TRXPNT\r
	LD	(TRXPNT),HL	;\r
	RET			;\r
\r
*****************************************************************************\r
; RECEIVER INTERRUPT :\r
\r
RECINT:	EXX			;SAVE REGISTERS\r
	EX	AF,AF'		;\r
	CALL	REC		;\r
	EXX			;RESTORE REGISTERS\r
	EX	AF,AF'		;\r
	EI			;\r
	RETI			;\r
\r
\r
REC:	IN	A,(SIO2D)	;GET CHAR.\r
	AND	7FH		;\r
	CP	'R'		;IF CHAR'S NOT END OF MESSAGE\r
	JR	Z,EOR		;THEN\r
	LD	HL,(RECPNT)	;PUT CHAR INTO REC BUFFER\r
	LD	(HL),A		;\r
	INC	HL		;UPDATE BUFFER POINTER\r
	LD	(RECPNT),HL	;\r
	RET			;\r
EOR:	LD	HL,RECBUF	;\r
	LD	A,0FFH		;PUT BUFFER AVAILABLE\r
	LD	(HL),A		;\r
	LD	(RECPNT),HL	;RE-INITIALIZE RECEIVER POINTER\r
	ACTIVATE S,11		;ACTIVATE TFK PROCESS\r
	RET			;\r
\r
\r
****************************************************************************\r
; TIMEOUT ROUTINE :\r
\r
SALOUT:	LD	IX,RECBUF\r
	LD	(IX),0FFH	;PUT BUFFER AVAILABLE\r
	LD	(IX+1),'M'	;INSERT "MISSING"-CHAR.\r
	LD	(RECPNT),IX	;RE-INITIALIZE RECEIVER POINTER\r
	ACTIVATE S,11		;ACTIVATE TFK PROCESS\r
	RET\r
\r
\r
;----------------------------------------------------------------------------\r
; PAIR - CONVERTS 1 BYTE TO ASCII :\r
\r
PAIR:	LD	A,(HL)\r
	AND	0F0H\r
	RRC	A\r
	RRC	A\r
	RRC	A\r
	RRC	A\r
	CALL	CONV		;CONVERT MSB NIBBLE TO ASCII\r
	LD	(IY),A\r
	LD	A,(HL)\r
	AND	0FH\r
	INC	IY\r
	CALL	CONV		;CONVERT LSB NIBBLE TO ASCII\r
	LD	(IY),A\r
	INC	HL\r
	INC	IY\r
	RET\r
\r
;----------------------------------------------------------------------\r
; CONV - CONVERTS 4 BIT TO ONE ASCII CHAR. :\r
\r
CONV:	AND	0FH\r
	OR	30H\r
	CP	3AH\r
	RET	M		;RETURN IF CIFFER 0-9\r
	ADD	A,7\r
	RET\r
\r
\r
;-----------------------------------------------------------------------------\r
; TWOASC - CONVERTS TWO ASCII HEX CHAR. TO BINARY LOGIC NO.'S :\r
;\r
; ENTRY : 'IY' POINTER TO FIRST ASCII CHAR\r
;         'HL' POINTER TO PLACE RESULT\r
;\r
; EXIT  : 'IY' = 'IY' + 2\r
\r
TWOASC:	LD	A,(IY)\r
	SUB	30H\r
	CP	0AH\r
	JP	M,TWO00\r
	SUB	07\r
TWO00:	RLD\r
	INC	IY\r
	LD	A,(IY)\r
	SUB	30H\r
	CP	0AH\r
	JP	M,TWO01\r
	SUB	07\r
TWO01:	RLD\r
	INC	IY\r
\r
	PUSH	HL		;SAVE PLACE RESULT POINTER\r
	LD	A,(HL)\r
	EX	DE,HL		;STARTADDR. OF TABLE IN (HL)\r
	PUSH	BC\r
	POP	DE\r
	CPIR\r
	JR	NZ,N1\r
	EX	DE,HL\r
	DEC	HL\r
	AND	A\r
	SBC	HL,BC\r
	LD	A,L\r
	JR	N2\r
N1:	LD	A,0\r
N2:	POP	HL\r
	LD	(HL),A\r
	RET\r
\r
\r
*****************************************************************************\r
*                              TABLES :                                     *\r
*****************************************************************************\r
\r
CMDTAB:	DB	01H		;INPUT CMND CODES TO THE INTERFACE\r
	DB	80H		;\r
	DB	02H		;\r
\r
CODTAB:	DB	'Q'		;ASCII CODED CMNDS\r
	DB	'L'		;\r
	DB	'S'		;\r
\r
\r
\r
SRCTAB:			;DECODE TABLE FOR SOURCE ADDRESSES\r
	DB	00H	;\r
	DB	01H	;\r
	DB	02H	;\r
	DB	03H	;\r
	DB	04H	;\r
	DB	05H	;\r
	DB	06H	;\r
	DB	07H	;\r
	DB	08H	;\r
	DB	09H	;\r
	DB	10H	;\r
	DB	11H	;\r
	DB	12H	;\r
	DB	13H	;\r
	DB	14H	;\r
	DB	15H	;\r
	DB	16H	;\r
	DB	17H	;\r
	DB	18H	;\r
	DB	19H	;\r
	DB	20H	;\r
	DB	21H	;\r
	DB	22H	;\r
	DB	23H	;\r
	DB	24H	;\r
	DB	25H	;\r
	DB	26H	;\r
	DB	27H	;\r
	DB	28H	;\r
	DB	29H	;\r
	DB	30H	;\r
	DB	40H	;\r
	DB	40H	;\r
	DB	40H	;\r
	DB	40H	;\r
	DB	40H	;\r
	DB	36H	;\r
	DB	37H	;\r
	DB	40H	;\r
\r
\r
LSTTAB:			;DECODE TABLE FOR LISTEN ADDRESSES\r
	DB	00H	;\r
	DB	01H	;\r
	DB	02H	;\r
	DB	03H	;\r
	DB	04H	;\r
	DB	05H	;\r
	DB	06H	;\r
	DB	07H	;\r
	DB	08H	;\r
	DB	09H	;\r
	DB	10H	;\r
	DB	11H	;\r
	DB	12H	;\r
	DB	13H	;\r
	DB	14H	;\r
	DB	15H	;\r
	DB	16H	;\r
	DB	17H	;\r
	DB	18H	;\r
	DB	19H	;\r
	DB	20H	;\r
	DB	21H	;\r
	DB	22H	;\r
	DB	23H	;\r
	DB	24H	;\r
	DB	25H	;\r
	DB	26H	;\r
	DB	27H	;\r
	DB	28H	;\r
	DB	29H	;\r
	DB	33H	;\r
	DB	34H	;\r
	DB	57H	;\r
	DB	58H	;\r
	DB	59H	;\r
	DB	60H	;\r
	DB	38H	;\r
	DB	39H	;\r
	DB	0	;\r
	DB	0	;\r
	DB	51H	;\r
	DB	30H	;\r
	DB	31H	;\r
	DB	32H	;\r
	DB	35H	;\r
	DB	36H	;\r
	DB	37H	;\r
	DB	40H	;\r
	DB	41H	;\r
	DB	0	;\r
	DB	0	;\r
	DB	42H	;\r
	DB	43H	;\r
	DB	44H	;\r
	DB	45H	;\r
	DB	46H	;\r
	DB	47H	;\r
	DB	48H	;\r
	DB	49H	;\r
	DB	50H	;\r
	DB	0	;\r
	DB	52H	;\r
	DB	53H	;\r
	DB	54H	;\r
	DB	55H	;\r
	DB	56H	;\r
\r
\r
DSTTAB:			;DECODE TABLE FOR DESTINATION ADDRESSES\r
	DB	00H	;\r
	DB	01H	;\r
	DB	02H	;\r
	DB	03H	;\r
	DB	04H	;\r
	DB	05H	;\r
	DB	06H	;\r
	DB	07H	;\r
	DB	08H	;\r
	DB	09H	;\r
	DB	10H	;\r
	DB	11H	;\r
	DB	12H	;\r
	DB	13H	;\r
	DB	14H	;\r
	DB	15H	;\r
	DB	16H	;\r
	DB	17H	;\r
	DB	18H	;\r
	DB	19H	;\r
	DB	20H	;\r
	DB	21H	;\r
	DB	22H	;\r
	DB	23H	;\r
	DB	24H	;\r
	DB	25H	;\r
	DB	26H	;\r
	DB	27H	;\r
	DB	28H	;\r
	DB	29H	;\r
	DB	30H	;\r
	DB	31H	;\r
	DB	32H	;\r
	DB	33H	;\r
	DB	34H	;\r
	DB	35H	;\r
	DB	36H	;\r
	DB	37H	;\r
	DB	38H	;\r
	DB	39H	;\r
	DB	40H	;\r
	DB	41H	;\r
	DB	42H	;\r
	DB	43H	;\r
	DB	44H	;\r
	DB	45H	;\r
	DB	46H	;\r
	DB	47H	;\r
	DB	48H	;\r
	DB	49H	;\r
	DB	50H	;\r
	DB	51H	;\r
	DB	52H	;\r
	DB	53H	;\r
	DB	54H	;\r
	DB	55H	;\r
	DB	56H	;\r
	DB	57H	;\r
	DB	58H	;\r
	DB	59H	;\r
	DB	60H	;\r
	DB	65H	;\r
	DB	66H	;\r
	DB	67H	;\r
	DB	68H	;\r
	DB	69H	;\r
	DB	70H	;\r
	DB	71H	;\r
	DB	72H	;\r
	DB	73H	;\r
	DB	74H	;\r
	DB	75H	;\r
	DB	77H	;\r
	DB	78H	;\r
	DB	79H	;\r
	DB	80H	;\r
	DB	81H	;\r
	DB	82H	;\r
	DB	83H	;\r
	DB	84H	;\r
	DB	85H	;\r
	DB	86H	;\r
	DB	88H	;\r
	DB	89H	;\r
	DB	90H	;\r
	DB	91H	;\r
\r
\r
\r
	DSEG\r
	ORG	430H\r
TABTFK	DS	86	;DYNAMIC DESTINATION TABLE\r
TLFQH	DS	6	;COMMAND BUFFER\r
EA	DS	2	;SAVE LOCATION FOR THE COMMAND BUFFER ADDRESS\r
TRXPNT	DS	2	;POINTER TO THE INT ROUT INPUT BUFFER\r
TRXBUF	DS	10	;INPUT BUFFER TO THE INT ROUT\r
RECPNT	DS	2	;POINTER TO THE INT ROUT OUTPUT BUFFER\r
RECBUF	DS	10	;OUTPUT BUFFER FROM THE INT ROUT\r
QELM	DS	5	;TEST ELEMENT\r
	DS	63\r
PSTACK	DS	1	;PRIVAT STACK\r
\r
	END\r