|
|
DataMuseum.dkPresents historical artifacts from the history of: CR80 Hard and Floppy Disks |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CR80 Hard and Floppy Disks Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 14529 (0x38c1)
Types: TextFile
Names: »TLF1.SRC«
└─⟦af81bc460⟧ Bits:30005550 8" CR80 Floppy CR80FD_0034 ( MATRIX Source and Abs-files )
└─⟦af81bc460⟧ Intel_ISIS_II
└─⟦this⟧ »TLF1.SRC«
\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