DataMuseum.dk

Presents historical artifacts from the history of:

Philips Data Systems

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

See our Wiki for more about Philips Data Systems

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦7713af9bb⟧

    Length: 7978 (0x1f2a)
    Notes: pts_type(SC)
    Names: »TIMER.SC«

Derivation

└─⟦726a6c4ca⟧ Bits:30009685 Philips computer tape "600309"
    └─⟦this⟧ »M:PTB/TIMER.SC« 
    └─⟦this⟧ »M:PTD/TIMER.SC« 

PTS(SC)

	IDENT TIMER 	REL 9.2 79-11-16  870105040920

* 
* 
*************************************************** 
* 
*   PHILIPS TERMINAL SYSTEM PTS 
* 
*   TIMER = TIMER FUNCTIONS 
* 
* 
* 
* 
* 
* 
*************************************************** 
* 
* 
*   THIS MODULE CONTAINS TIMER LKM PROCESSORS AND 
*   THE FOLLOWING SUBROUTINES:
* 
*   -SETIME:  SET BLOCK IN TIMER QUEUE
*   -SETIMP:  SETIME + STORE TIMER POINTER
* 
* 
	EJECT			TIMER
* 
* 
*********** 
* ENTRIES * 
*********** 
* 
* 
	ENTRY	TIMER	LKM PROCESSOR
	ENTRY	SETIME	SET BLOCK IN TIMER QUEUE
	ENTRY	SETIMP	SETIME + STORE TIMER POINTER



* 
* 
*********** 
* EXTRNALS *
************
* 
* 
	EXTRN	TDISP	DISPATCHER 
	EXTRN	LKMQDI	QUEUE TERMINAL AND DISPATCH 
	EXTRN	LKMRQE	LKM REQUEST ERROR 
	EXTRN	GETBLK	GET A FREE BLOCK
	EXTRN	FREBLK	SET A BLOCK FREE
	EXTRN	FNDTID	FIND TTAB ADDRESS 
	EXTRN	ACTOT	ACTIVATE A TERMINAL
	EXTRN	SAVE8	SAVE 8 REGISTERS ON STACK
	EXTRN	TIMQUE	POINTER TO FIRST BLOCK IN TIMER QUEUE 
	EXTRN	IHRET8	RESTORE 8 REGISTERS FROM STACK
	EJECT			TIMER
* 
* 
***************************************** 
* 
*	CONDITIONAL ASSEMBLY
* 
***************************************** 
* 
*	A PROGRAM VERSION USING THE EXTENDED INSTRUCTION
*	SET IS OBTAINED BY SETTING CPU852 EQU 0.
* 
CPU852	EQU	0
* 
	EJECT			TIMER
* 
* 
*   T I M E R 
* 
*   THIS IS THE TIMER LKM PROCESSOR.
*   IT IS ENTERED FROM THE LKM HANDLER WITH THE FOLLOWING 
*   PARAMETERS: 
* 
*   1. PROGRAM DELAY
* 
*   A4 = 0
*   A5 = TTAB ADDRESS 
*   A8 = DELAY
* 
* 
*   2. TIMING AND ACTIVATION
* 
*   A1 = PARAMETER
*   A4 = DISPATCH ADDRESS OF PROGRAM TO BE ACTIVATED
*   A5 = TTAB ADDRESS OF CALLING PROGRAM
*   A7 = TERMINAL IDENTIFICATION OF PROGRAM TO BE ACTIVATED 
*   A8 = DELAY
* 
* 
TIMER	EQU	* 
	ADK	A4,0	SET CR
	RF(NZ)	TIM010	TIMING AND ACTIVATION? 
* 
	EJECT			TIMER
* 
*   PROGRAM DELAY 
* 
	LDR	A1,A5	SET PARAMETER
	ST	A8,PAR1+2	SET TIME
	CF	A15,SETIME
PAR1	DATA	DELAY,0 
TTDIS	ABL	TDISP	GO TO DISPATCHER
* 
	EJECT			TIMER
* 
*   TIMING AND ACTIVATION 
* 
TIM010	EQU	*
	CF	A15,FNDTID	FIND TTAB ADDRESS
	ADK	A2,0	SET CR
	ABL(Z)	LKMRQE	TTAB NOT FOUND?
	LDR	A3,A2	IN BLOCK: A3=TTAB ADDRESS
	LDR	A2,A4	         A2=DISPATCH ADDRESS 
	CF	A15,GETBLK	         A1=PARAMETER
	LDR	A1,A4	SET BLOCK ADDRESS AS PARAMETER 
	ST	A8,PAR2+2	SET TIME
	CF	A15,SETIME
PAR2	DATA	TIMACT,0
* 
QUEDIS	EQU	*
	ABL	LKMQDI 
* 
	EJECT			TIMER
* 
* 
*   RETURN AFTER TIME OUT 
* 
*   1.PROGRAM DELAY 
* 
DELAY	EQU	* 
	LDR	A5,A1	SET TTAB ADDRESS 
	RB	QUEDIS	QUEUE TASK FOR DISPATCHING 
* 
*   2. TIMING AND ACTIVATION
* 
TIMACT	EQU	*
	LDR	A4,A1	GET BLOCK ADDRESS
	CF	A15,FREBLK	AND SET IT FREE
	LDR	A5,A3	SET TTAB ADDRESS 
	LDK	A7,0	MONITOR ACTIVATION PARAMETER
	CF	A15,ACTOT	AND ACTIVATE TERMINAL 
	RB	TTDIS 
* 
	EJECT			TIMER
* 
* 
*   S E T I M E , S E T I M P 
* 
*   SUBROUTINE TO SET BLOCK IN TIMER QUEUE
*   AND IF SETIMP, STORE TIMER POINTER. 
* 
*   ENTRY PARAMETERS:-
* 
*   A1 = PARAMETER
*   A4 = IF SETIMP: TIMER POINTER ADDRESS 
*   P1 = DISPATCH ADDRESS AFTER TIME OUT
*   P2 = DELAY
* 
*   P1 AND P2 ARE STORED AFTER THE SUBROUTINE REQUEST.
* 
*   EXIT PARAMETER:-
* 
*   A4 = ADDRESS TO TIMER 
* 
* 
SETIME	EQU	*
	LDK	A4,0 
* 
SETIMP	EQU	*
	IFT	CPU852=1 
	CF	A15,SAVE8	SAVE A1-A8 ON STACK 
	XIF
* 
	IFT	CPU852=0 
	INH
	MSR	8,A15	SAVE A1-A8 ON STACK
	XIF
* 
	EJECT			TIMER
* 
* 
	LDR	A6,A4	SAVE TIMER POINTER ADDRESS 
	LDR	A3,A4
	LD	A5,20,A15	LOAD FIRST PARAMETER ADDRESS
	LDR*	A2,A5	DISPATCH ADDRESS IN A2
	ADK	A5,2 
	LDR*	A8,A5	TIME IN A8
	ADK	A5,2 
	ST	A5,20,A15	ADJUST PROGRAM COUNTER
	CF	A15,GETBLK	GET A FREE BLOCK 
	LDR	A2,A4
	C1R	A1,A8
	CF	A15,GETBLK	GET TIMER BLOCK
	LD	A1,TIMQUE 
	STR	A1,A4	SET BLOCK IN QUEUE 
	ST	A4,TIMQUE 
	ADK	A4,4 
	ST	A4,10,A15	SET TIMER ADDRESS A4 ON STACK 
	LDR	A6,A6
	RF(Z)	SETEND	-SETIME?
	STR	A4,A6	-SETIMP. STORE TIMER POINTER 
* 
	EJECT			TIMER
* 
* 
SETEND	EQU	*
	IFT	CPU852=1 
	ABL	IHRET8	RESTORE A1-A8 AND RETURN
	XIF
* 
	IFT	CPU852=0 
	MLR	8,A15	RESTORE A1-A8 FROM STACK...
	RTN	A15	...AND RETURN
	XIF
* 
* 
* 
	END

HexDump

0x0000…0034 (0, 0, 400)  Head {h00=0x0030, h01=0x0050, text=» IDENT TIMER  REL 9.2 79-11-16  870105040920«, t00=0x0000, t01=0x0004}
0x0034…003c              Head {h00=0x0004, h01=0x0050, t00=0x0000, t01=0x0038}
0x003c…0046              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0000, t01=0x0040}
0x0046…0050              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0000, t01=0x004a}
0x0050…008c              Head {h00=0x0038, h01=0x0050, text=»*************************************************** «, t00=0x0000, t01=0x0054}
0x008c…0096              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0000, t01=0x0090}
0x0096…00be              Head {h00=0x0024, h01=0x0050, text=»*   PHILIPS TERMINAL SYSTEM PTS «, t00=0x0000, t01=0x009a}
0x00be…00c8              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0000, t01=0x00c2}
0x00c8…00ec              Head {h00=0x0020, h01=0x0050, text=»*   TIMER = TIMER FUNCTIONS «, t00=0x0000, t01=0x00cc}
0x00ec…00f6              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0000, t01=0x00f0}
0x00f6…0100              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0000, t01=0x00fa}
0x0100…010a              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0000, t01=0x0104}
0x010a…0114              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0000, t01=0x010e}
0x0114…011e              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0000, t01=0x0118}
0x011e…0128              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0000, t01=0x0122}
0x0128…0164              Head {h00=0x0038, h01=0x0050, text=»*************************************************** «, t00=0x0000, t01=0x012c}
0x0164…016e              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0000, t01=0x0168}
0x016e…0178              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0000, t01=0x0172}
0x0178…01b2              Head {h00=0x0036, h01=0x0050, text=»*   THIS MODULE CONTAINS TIMER LKM PROCESSORS AND «, t00=0x0000, t01=0x017c}
0x01b2…01d8              Head {h00=0x0022, h01=0x0050, text=»*   THE FOLLOWING SUBROUTINES:«, t00=0x0001, t01=0x0026}
0x01d8…01e2              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0001, t01=0x004c}
0x01e2…0210              Head {h00=0x002a, h01=0x0050, text=»*   -SETIME:  SET BLOCK IN TIMER QUEUE«, t00=0x0001, t01=0x0056}
0x0210…0242              Head {h00=0x002e, h01=0x0050, text=»*   -SETIMP:  SETIME + STORE TIMER POINTER«, t00=0x0001, t01=0x0084}
0x0242…024c              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0001, t01=0x00b6}
0x024c…0256              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0001, t01=0x00c0}
0x0256…026c              Head {h00=0x0012, h01=0x0050, text=» EJECT   TIMER«, t00=0x0001, t01=0x00ca}
0x026c…0276              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0001, t01=0x00e0}
0x0276…0280              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0001, t01=0x00ea}
0x0280…0294              Head {h00=0x0010, h01=0x0050, text=»*********** «, t00=0x0001, t01=0x00f4}
0x0294…02a8              Head {h00=0x0010, h01=0x0050, text=»* ENTRIES * «, t00=0x0001, t01=0x0108}
0x02a8…02bc              Head {h00=0x0010, h01=0x0050, text=»*********** «, t00=0x0001, t01=0x011c}
0x02bc…02c6              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0001, t01=0x0130}
0x02c6…02d0              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0001, t01=0x013a}
0x02d0…02f2              Head {h00=0x001e, h01=0x0050, text=» ENTRY TIMER LKM PROCESSOR«, t00=0x0001, t01=0x0144}
0x02f2…0320              Head {h00=0x002a, h01=0x0050, text=» ENTRY SETIME SET BLOCK IN TIMER QUEUE«, t00=0x0001, t01=0x0166}
0x0320…0352 (2, 0, 400)  Head {h00=0x002e, h01=0x0050, text=» ENTRY SETIMP SETIME + STORE TIMER POINTER«, t00=0x0002, t01=0x0004}
0x0352…035a              Head {h00=0x0004, h01=0x0050, t00=0x0002, t01=0x0036}
0x035a…0362              Head {h00=0x0004, h01=0x0050, t00=0x0002, t01=0x003e}
0x0362…036a              Head {h00=0x0004, h01=0x0050, t00=0x0002, t01=0x0046}
0x036a…0374              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0002, t01=0x004e}
0x0374…037e              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0002, t01=0x0058}
0x037e…0392              Head {h00=0x0010, h01=0x0050, text=»*********** «, t00=0x0002, t01=0x0062}
0x0392…03a6              Head {h00=0x0010, h01=0x0050, text=»* EXTRNALS *«, t00=0x0002, t01=0x0076}
0x03a6…03ba              Head {h00=0x0010, h01=0x0050, text=»************«, t00=0x0002, t01=0x008a}
0x03ba…03c4              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0002, t01=0x009e}
0x03c4…03ce              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0002, t01=0x00a8}
0x03ce…03ee              Head {h00=0x001c, h01=0x0050, text=» EXTRN TDISP DISPATCHER «, t00=0x0002, t01=0x00b2}
0x03ee…0420              Head {h00=0x002e, h01=0x0050, text=» EXTRN LKMQDI QUEUE TERMINAL AND DISPATCH «, t00=0x0002, t01=0x00d2}
0x0420…0448              Head {h00=0x0024, h01=0x0050, text=» EXTRN LKMRQE LKM REQUEST ERROR «, t00=0x0002, t01=0x0104}
0x0448…046e              Head {h00=0x0022, h01=0x0050, text=» EXTRN GETBLK GET A FREE BLOCK«, t00=0x0002, t01=0x012c}
0x046e…0494              Head {h00=0x0022, h01=0x0050, text=» EXTRN FREBLK SET A BLOCK FREE«, t00=0x0002, t01=0x0152}
0x0494…04bc              Head {h00=0x0024, h01=0x0050, text=» EXTRN FNDTID FIND TTAB ADDRESS «, t00=0x0002, t01=0x0178}
0x04bc…04e4              Head {h00=0x0024, h01=0x0050, text=» EXTRN ACTOT ACTIVATE A TERMINAL«, t00=0x0003, t01=0x0010}
0x04e4…0512              Head {h00=0x002a, h01=0x0050, text=» EXTRN SAVE8 SAVE 8 REGISTERS ON STACK«, t00=0x0003, t01=0x0038}
0x0512…054e              Head {h00=0x0038, h01=0x0050, text=» EXTRN TIMQUE POINTER TO FIRST BLOCK IN TIMER QUEUE «, t00=0x0003, t01=0x0066}
0x054e…0582              Head {h00=0x0030, h01=0x0050, text=» EXTRN IHRET8 RESTORE 8 REGISTERS FROM STACK«, t00=0x0003, t01=0x00a2}
0x0582…0598              Head {h00=0x0012, h01=0x0050, text=» EJECT   TIMER«, t00=0x0003, t01=0x00d6}
0x0598…05a2              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0003, t01=0x00ec}
0x05a2…05ac              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0003, t01=0x00f6}
0x05ac…05de              Head {h00=0x002e, h01=0x0050, text=»***************************************** «, t00=0x0003, t01=0x0100}
0x05de…05e8              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0003, t01=0x0132}
0x05e8…0606              Head {h00=0x001a, h01=0x0050, text=»* CONDITIONAL ASSEMBLY«, t00=0x0003, t01=0x013c}
0x0606…0610              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0003, t01=0x015a}
0x0610…0642              Head {h00=0x002e, h01=0x0050, text=»***************************************** «, t00=0x0003, t01=0x0164}
0x0642…064c              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0004, t01=0x0008}
0x064c…0686              Head {h00=0x0036, h01=0x0050, text=»* A PROGRAM VERSION USING THE EXTENDED INSTRUCTION«, t00=0x0004, t01=0x0012}
0x0686…06b8              Head {h00=0x002e, h01=0x0050, text=»* SET IS OBTAINED BY SETTING CPU852 EQU 0.«, t00=0x0004, t01=0x004c}
0x06b8…06c2              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0004, t01=0x007e}
0x06c2…06d6              Head {h00=0x0010, h01=0x0050, text=»CPU852 EQU 0«, t00=0x0004, t01=0x0088}
0x06d6…06e0              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0004, t01=0x009c}
0x06e0…06f6              Head {h00=0x0012, h01=0x0050, text=» EJECT   TIMER«, t00=0x0004, t01=0x00a6}
0x06f6…0700              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0004, t01=0x00bc}
0x0700…070a              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0004, t01=0x00c6}
0x070a…0720              Head {h00=0x0012, h01=0x0050, text=»*   T I M E R «, t00=0x0004, t01=0x00d0}
0x0720…072a              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0004, t01=0x00e6}
0x072a…0756              Head {h00=0x0028, h01=0x0050, text=»*   THIS IS THE TIMER LKM PROCESSOR.«, t00=0x0004, t01=0x00f0}
0x0756…0798              Head {h00=0x003e, h01=0x0050, text=»*   IT IS ENTERED FROM THE LKM HANDLER WITH THE FOLLOWING «, t00=0x0004, t01=0x011c}
0x0798…07b0              Head {h00=0x0014, h01=0x0050, text=»*   PARAMETERS: «, t00=0x0004, t01=0x015e}
0x07b0…07ba              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0004, t01=0x0176}
0x07ba…07d6              Head {h00=0x0018, h01=0x0050, text=»*   1. PROGRAM DELAY«, t00=0x0004, t01=0x0180}
0x07d6…07e0              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0005, t01=0x000c}
0x07e0…07f2              Head {h00=0x000e, h01=0x0050, text=»*   A4 = 0«, t00=0x0005, t01=0x0016}
0x07f2…0810              Head {h00=0x001a, h01=0x0050, text=»*   A5 = TTAB ADDRESS «, t00=0x0005, t01=0x0028}
0x0810…0826              Head {h00=0x0012, h01=0x0050, text=»*   A8 = DELAY«, t00=0x0005, t01=0x0046}
0x0826…0830              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0005, t01=0x005c}
0x0830…083a              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0005, t01=0x0066}
0x083a…085e              Head {h00=0x0020, h01=0x0050, text=»*   2. TIMING AND ACTIVATION«, t00=0x0005, t01=0x0070}
0x085e…0868              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0005, t01=0x0094}
0x0868…0882              Head {h00=0x0016, h01=0x0050, text=»*   A1 = PARAMETER«, t00=0x0005, t01=0x009e}
0x0882…08be              Head {h00=0x0038, h01=0x0050, text=»*   A4 = DISPATCH ADDRESS OF PROGRAM TO BE ACTIVATED«, t00=0x0005, t01=0x00b8}
0x08be…08ee              Head {h00=0x002c, h01=0x0050, text=»*   A5 = TTAB ADDRESS OF CALLING PROGRAM«, t00=0x0005, t01=0x00f4}
0x08ee…0932              Head {h00=0x0040, h01=0x0050, text=»*   A7 = TERMINAL IDENTIFICATION OF PROGRAM TO BE ACTIVATED «, t00=0x0005, t01=0x0124}
0x0932…0948              Head {h00=0x0012, h01=0x0050, text=»*   A8 = DELAY«, t00=0x0005, t01=0x0168}
0x0948…0952              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0005, t01=0x017e}
0x0952…095c              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0005, t01=0x0188}
0x095c…0970 (6, 0, 400)  Head {h00=0x0010, h01=0x0050, text=»TIMER EQU * «, t00=0x0006, t01=0x0004}
0x0970…0988              Head {h00=0x0014, h01=0x0050, text=» ADK A4,0 SET CR«, t00=0x0006, t01=0x0018}
0x0988…09b6              Head {h00=0x002a, h01=0x0050, text=» RF(NZ) TIM010 TIMING AND ACTIVATION? «, t00=0x0006, t01=0x0030}
0x09b6…09c0              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0006, t01=0x005e}
0x09c0…09d6              Head {h00=0x0012, h01=0x0050, text=» EJECT   TIMER«, t00=0x0006, t01=0x0068}
0x09d6…09e0              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0006, t01=0x007e}
0x09e0…09fa              Head {h00=0x0016, h01=0x0050, text=»*   PROGRAM DELAY «, t00=0x0006, t01=0x0088}
0x09fa…0a04              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0006, t01=0x00a2}
0x0a04…0a24              Head {h00=0x001c, h01=0x0050, text=» LDR A1,A5 SET PARAMETER«, t00=0x0006, t01=0x00ac}
0x0a24…0a42              Head {h00=0x001a, h01=0x0050, text=» ST A8,PAR1+2 SET TIME«, t00=0x0006, t01=0x00cc}
0x0a42…0a58              Head {h00=0x0012, h01=0x0050, text=» CF A15,SETIME«, t00=0x0006, t01=0x00ea}
0x0a58…0a72              Head {h00=0x0016, h01=0x0050, text=»PAR1 DATA DELAY,0 «, t00=0x0006, t01=0x0100}
0x0a72…0a9a              Head {h00=0x0024, h01=0x0050, text=»TTDIS ABL TDISP GO TO DISPATCHER«, t00=0x0006, t01=0x011a}
0x0a9a…0aa4              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0006, t01=0x0142}
0x0aa4…0aba              Head {h00=0x0012, h01=0x0050, text=» EJECT   TIMER«, t00=0x0006, t01=0x014c}
0x0aba…0ac4              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0006, t01=0x0162}
0x0ac4…0ae6              Head {h00=0x001e, h01=0x0050, text=»*   TIMING AND ACTIVATION «, t00=0x0006, t01=0x016c}
0x0ae6…0af0              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0006, t01=0x018e}
0x0af0…0b04              Head {h00=0x0010, h01=0x0050, text=»TIM010 EQU *«, t00=0x0007, t01=0x0008}
0x0b04…0b2c              Head {h00=0x0024, h01=0x0050, text=» CF A15,FNDTID FIND TTAB ADDRESS«, t00=0x0007, t01=0x001c}
0x0b2c…0b44              Head {h00=0x0014, h01=0x0050, text=» ADK A2,0 SET CR«, t00=0x0007, t01=0x0044}
0x0b44…0b6a              Head {h00=0x0022, h01=0x0050, text=» ABL(Z) LKMRQE TTAB NOT FOUND?«, t00=0x0007, t01=0x005c}
0x0b6a…0b96              Head {h00=0x0028, h01=0x0050, text=» LDR A3,A2 IN BLOCK: A3=TTAB ADDRESS«, t00=0x0007, t01=0x0082}
0x0b96…0bc6              Head {h00=0x002c, h01=0x0050, text=» LDR A2,A4          A2=DISPATCH ADDRESS «, t00=0x0007, t01=0x00ae}
0x0bc6…0bf2              Head {h00=0x0028, h01=0x0050, text=» CF A15,GETBLK          A1=PARAMETER«, t00=0x0007, t01=0x00de}
0x0bf2…0c24              Head {h00=0x002e, h01=0x0050, text=» LDR A1,A4 SET BLOCK ADDRESS AS PARAMETER «, t00=0x0007, t01=0x010a}
0x0c24…0c42              Head {h00=0x001a, h01=0x0050, text=» ST A8,PAR2+2 SET TIME«, t00=0x0007, t01=0x013c}
0x0c42…0c58              Head {h00=0x0012, h01=0x0050, text=» CF A15,SETIME«, t00=0x0007, t01=0x015a}
0x0c58…0c72              Head {h00=0x0016, h01=0x0050, text=»PAR2 DATA TIMACT,0«, t00=0x0007, t01=0x0170}
0x0c72…0c7c              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0007, t01=0x018a}
0x0c7c…0c90 (8, 0, 400)  Head {h00=0x0010, h01=0x0050, text=»QUEDIS EQU *«, t00=0x0008, t01=0x0004}
0x0c90…0ca4              Head {h00=0x0010, h01=0x0050, text=» ABL LKMQDI «, t00=0x0008, t01=0x0018}
0x0ca4…0cae              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0008, t01=0x002c}
0x0cae…0cc4              Head {h00=0x0012, h01=0x0050, text=» EJECT   TIMER«, t00=0x0008, t01=0x0036}
0x0cc4…0cce              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0008, t01=0x004c}
0x0cce…0cd8              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0008, t01=0x0056}
0x0cd8…0cfa              Head {h00=0x001e, h01=0x0050, text=»*   RETURN AFTER TIME OUT «, t00=0x0008, t01=0x0060}
0x0cfa…0d04              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0008, t01=0x0082}
0x0d04…0d20              Head {h00=0x0018, h01=0x0050, text=»*   1.PROGRAM DELAY «, t00=0x0008, t01=0x008c}
0x0d20…0d2a              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0008, t01=0x00a8}
0x0d2a…0d3e              Head {h00=0x0010, h01=0x0050, text=»DELAY EQU * «, t00=0x0008, t01=0x00b2}
0x0d3e…0d62              Head {h00=0x0020, h01=0x0050, text=» LDR A5,A1 SET TTAB ADDRESS «, t00=0x0008, t01=0x00c6}
0x0d62…0d90              Head {h00=0x002a, h01=0x0050, text=» RB QUEDIS QUEUE TASK FOR DISPATCHING «, t00=0x0008, t01=0x00ea}
0x0d90…0d9a              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0008, t01=0x0118}
0x0d9a…0dbe              Head {h00=0x0020, h01=0x0050, text=»*   2. TIMING AND ACTIVATION«, t00=0x0008, t01=0x0122}
0x0dbe…0dc8              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0008, t01=0x0146}
0x0dc8…0ddc              Head {h00=0x0010, h01=0x0050, text=»TIMACT EQU *«, t00=0x0008, t01=0x0150}
0x0ddc…0e00              Head {h00=0x0020, h01=0x0050, text=» LDR A4,A1 GET BLOCK ADDRESS«, t00=0x0008, t01=0x0164}
0x0e00…0e26              Head {h00=0x0022, h01=0x0050, text=» CF A15,FREBLK AND SET IT FREE«, t00=0x0008, t01=0x0188}
0x0e26…0e4a              Head {h00=0x0020, h01=0x0050, text=» LDR A5,A3 SET TTAB ADDRESS «, t00=0x0009, t01=0x001e}
0x0e4a…0e78              Head {h00=0x002a, h01=0x0050, text=» LDK A7,0 MONITOR ACTIVATION PARAMETER«, t00=0x0009, t01=0x0042}
0x0e78…0ea4              Head {h00=0x0028, h01=0x0050, text=» CF A15,ACTOT AND ACTIVATE TERMINAL «, t00=0x0009, t01=0x0070}
0x0ea4…0eb6              Head {h00=0x000e, h01=0x0050, text=» RB TTDIS «, t00=0x0009, t01=0x009c}
0x0eb6…0ec0              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0009, t01=0x00ae}
0x0ec0…0ed6              Head {h00=0x0012, h01=0x0050, text=» EJECT   TIMER«, t00=0x0009, t01=0x00b8}
0x0ed6…0ee0              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0009, t01=0x00ce}
0x0ee0…0eea              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0009, t01=0x00d8}
0x0eea…0f10              Head {h00=0x0022, h01=0x0050, text=»*   S E T I M E , S E T I M P «, t00=0x0009, t01=0x00e2}
0x0f10…0f1a              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0009, t01=0x0108}
0x0f1a…0f4c              Head {h00=0x002e, h01=0x0050, text=»*   SUBROUTINE TO SET BLOCK IN TIMER QUEUE«, t00=0x0009, t01=0x0112}
0x0f4c…0f7c              Head {h00=0x002c, h01=0x0050, text=»*   AND IF SETIMP, STORE TIMER POINTER. «, t00=0x0009, t01=0x0144}
0x0f7c…0f86              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0009, t01=0x0174}
0x0f86…0fa4              Head {h00=0x001a, h01=0x0050, text=»*   ENTRY PARAMETERS:-«, t00=0x0009, t01=0x017e}
0x0fa4…0fae              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x000a, t01=0x000c}
0x0fae…0fc8              Head {h00=0x0016, h01=0x0050, text=»*   A1 = PARAMETER«, t00=0x000a, t01=0x0016}
0x0fc8…0ffa              Head {h00=0x002e, h01=0x0050, text=»*   A4 = IF SETIMP: TIMER POINTER ADDRESS «, t00=0x000a, t01=0x0030}
0x0ffa…102a              Head {h00=0x002c, h01=0x0050, text=»*   P1 = DISPATCH ADDRESS AFTER TIME OUT«, t00=0x000a, t01=0x0062}
0x102a…1040              Head {h00=0x0012, h01=0x0050, text=»*   P2 = DELAY«, t00=0x000a, t01=0x0092}
0x1040…104a              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x000a, t01=0x00a8}
0x104a…1088              Head {h00=0x003a, h01=0x0050, text=»*   P1 AND P2 ARE STORED AFTER THE SUBROUTINE REQUEST.«, t00=0x000a, t01=0x00b2}
0x1088…1092              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x000a, t01=0x00f0}
0x1092…10ae              Head {h00=0x0018, h01=0x0050, text=»*   EXIT PARAMETER:-«, t00=0x000a, t01=0x00fa}
0x10ae…10b8              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x000a, t01=0x0116}
0x10b8…10da              Head {h00=0x001e, h01=0x0050, text=»*   A4 = ADDRESS TO TIMER «, t00=0x000a, t01=0x0120}
0x10da…10e4              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x000a, t01=0x0142}
0x10e4…10ee              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x000a, t01=0x014c}
0x10ee…1102              Head {h00=0x0010, h01=0x0050, text=»SETIME EQU *«, t00=0x000a, t01=0x0156}
0x1102…1114              Head {h00=0x000e, h01=0x0050, text=» LDK A4,0 «, t00=0x000a, t01=0x016a}
0x1114…111e              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x000a, t01=0x017c}
0x111e…1132              Head {h00=0x0010, h01=0x0050, text=»SETIMP EQU *«, t00=0x000a, t01=0x0186}
0x1132…1148              Head {h00=0x0012, h01=0x0050, text=» IFT CPU852=1 «, t00=0x000b, t01=0x000a}
0x1148…1172              Head {h00=0x0026, h01=0x0050, text=» CF A15,SAVE8 SAVE A1-A8 ON STACK «, t00=0x000b, t01=0x0020}
0x1172…117e              Head {h00=0x0008, h01=0x0050, text=» XIF«, t00=0x000b, t01=0x004a}
0x117e…1188              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x000b, t01=0x0056}
0x1188…119e              Head {h00=0x0012, h01=0x0050, text=» IFT CPU852=0 «, t00=0x000b, t01=0x0060}
0x119e…11aa              Head {h00=0x0008, h01=0x0050, text=» INH«, t00=0x000b, t01=0x0076}
0x11aa…11d0              Head {h00=0x0022, h01=0x0050, text=» MSR 8,A15 SAVE A1-A8 ON STACK«, t00=0x000b, t01=0x0082}
0x11d0…11dc              Head {h00=0x0008, h01=0x0050, text=» XIF«, t00=0x000b, t01=0x00a8}
0x11dc…11e6              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x000b, t01=0x00b4}
0x11e6…11fc              Head {h00=0x0012, h01=0x0050, text=» EJECT   TIMER«, t00=0x000b, t01=0x00be}
0x11fc…1206              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x000b, t01=0x00d4}
0x1206…1210              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x000b, t01=0x00de}
0x1210…123e              Head {h00=0x002a, h01=0x0050, text=» LDR A6,A4 SAVE TIMER POINTER ADDRESS «, t00=0x000b, t01=0x00e8}
0x123e…1250              Head {h00=0x000e, h01=0x0050, text=» LDR A3,A4«, t00=0x000b, t01=0x0116}
0x1250…1282              Head {h00=0x002e, h01=0x0050, text=» LD A5,20,A15 LOAD FIRST PARAMETER ADDRESS«, t00=0x000b, t01=0x0128}
0x1282…12ac              Head {h00=0x0026, h01=0x0050, text=» LDR* A2,A5 DISPATCH ADDRESS IN A2«, t00=0x000b, t01=0x015a}
0x12ac…12be              Head {h00=0x000e, h01=0x0050, text=» ADK A5,2 «, t00=0x000b, t01=0x0184}
0x12be…12dc              Head {h00=0x001a, h01=0x0050, text=» LDR* A8,A5 TIME IN A8«, t00=0x000c, t01=0x0008}
0x12dc…12ee              Head {h00=0x000e, h01=0x0050, text=» ADK A5,2 «, t00=0x000c, t01=0x0026}
0x12ee…131a              Head {h00=0x0028, h01=0x0050, text=» ST A5,20,A15 ADJUST PROGRAM COUNTER«, t00=0x000c, t01=0x0038}
0x131a…1342              Head {h00=0x0024, h01=0x0050, text=» CF A15,GETBLK GET A FREE BLOCK «, t00=0x000c, t01=0x0064}
0x1342…1354              Head {h00=0x000e, h01=0x0050, text=» LDR A2,A4«, t00=0x000c, t01=0x008c}
0x1354…1366              Head {h00=0x000e, h01=0x0050, text=» C1R A1,A8«, t00=0x000c, t01=0x009e}
0x1366…138c              Head {h00=0x0022, h01=0x0050, text=» CF A15,GETBLK GET TIMER BLOCK«, t00=0x000c, t01=0x00b0}
0x138c…13a2              Head {h00=0x0012, h01=0x0050, text=» LD A1,TIMQUE «, t00=0x000c, t01=0x00d6}
0x13a2…13c8              Head {h00=0x0022, h01=0x0050, text=» STR A1,A4 SET BLOCK IN QUEUE «, t00=0x000c, t01=0x00ec}
0x13c8…13de              Head {h00=0x0012, h01=0x0050, text=» ST A4,TIMQUE «, t00=0x000c, t01=0x0112}
0x13de…13f0              Head {h00=0x000e, h01=0x0050, text=» ADK A4,4 «, t00=0x000c, t01=0x0128}
0x13f0…1424              Head {h00=0x0030, h01=0x0050, text=» ST A4,10,A15 SET TIMER ADDRESS A4 ON STACK «, t00=0x000c, t01=0x013a}
0x1424…1436              Head {h00=0x000e, h01=0x0050, text=» LDR A6,A6«, t00=0x000c, t01=0x016e}
0x1436…1454              Head {h00=0x001a, h01=0x0050, text=» RF(Z) SETEND -SETIME?«, t00=0x000c, t01=0x0180}
0x1454…1484              Head {h00=0x002c, h01=0x0050, text=» STR A4,A6 -SETIMP. STORE TIMER POINTER «, t00=0x000d, t01=0x000e}
0x1484…148e              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x000d, t01=0x003e}
0x148e…14a4              Head {h00=0x0012, h01=0x0050, text=» EJECT   TIMER«, t00=0x000d, t01=0x0048}
0x14a4…14ae              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x000d, t01=0x005e}
0x14ae…14b8              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x000d, t01=0x0068}
0x14b8…14cc              Head {h00=0x0010, h01=0x0050, text=»SETEND EQU *«, t00=0x000d, t01=0x0072}
0x14cc…14e2              Head {h00=0x0012, h01=0x0050, text=» IFT CPU852=1 «, t00=0x000d, t01=0x0086}
0x14e2…150e              Head {h00=0x0028, h01=0x0050, text=» ABL IHRET8 RESTORE A1-A8 AND RETURN«, t00=0x000d, t01=0x009c}
0x150e…151a              Head {h00=0x0008, h01=0x0050, text=» XIF«, t00=0x000d, t01=0x00c8}
0x151a…1524              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x000d, t01=0x00d4}
0x1524…153a              Head {h00=0x0012, h01=0x0050, text=» IFT CPU852=0 «, t00=0x000d, t01=0x00de}
0x153a…1568              Head {h00=0x002a, h01=0x0050, text=» MLR 8,A15 RESTORE A1-A8 FROM STACK...«, t00=0x000d, t01=0x00f4}
0x1568…1586              Head {h00=0x001a, h01=0x0050, text=» RTN A15 ...AND RETURN«, t00=0x000d, t01=0x0122}
0x1586…1592              Head {h00=0x0008, h01=0x0050, text=» XIF«, t00=0x000d, t01=0x0140}
0x1592…159c              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x000d, t01=0x014c}
0x159c…15a6              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x000d, t01=0x0156}
0x15a6…15b0              Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x000d, t01=0x0160}
0x15b0…15bc              Head {h00=0x0008, h01=0x0050, text=» END«, t00=0x000d, t01=0x016a}
0x15bc…15c0              Head {h00=0x4004, h01=0x0000}
0x15c0…15c4              00 0d 01 76                                                                                                                                                                                                                                       ┆   v┆
0x15c4…15cc (14, 1, 8)   20 04 00 00 00 0e 00 04                                                                                                                                                                                                                           ┆        ┆
0x15cc…161c (15, 0, 400) 58 49 20 41 53 53 45 4d 42 4c 45 53 20 54 48 45 20 46 55 4c 4c 20 31 38 20 42 49 54 20 42 55 46 46 45 52 20 41 44 44 52 45 53 53 20 57 48 49 43 48 20 49 53 00 4e 01 8a 00 2c 00 50 2a 20 54 52 41 4e 53 46 45 52 52 45 44 20 54 4f 20 54 48 45   ┆XI ASSEMBLES THE FULL 18 BIT BUFFER ADDRESS WHICH IS N   , P* TRANSFERRED TO THE┆
0x161c…166c              20 4d 55 58 20 42 59 20 54 48 45 20 44 52 49 56 45 52 2e 20 00 4f 00 3c 00 34 00 50 2a 20 54 48 45 20 43 4f 52 52 45 53 50 4f 4e 44 49 4e 47 20 4d 4f 44 55 4c 45 20 43 41 4c 4c 45 44 20 42 59 20 27 54 45 4e 44 49 4f 27 20 41 54 00 4f 00 6c   ┆ MUX BY THE DRIVER.  O < 4 P* THE CORRESPONDING MODULE CALLED BY 'TENDIO' AT O l┆
0x166c…16bc              00 2c 00 50 2a 20 43 4f 4d 50 4c 45 54 49 4f 4e 20 4f 46 20 54 48 45 20 52 45 51 55 45 53 54 20 49 53 20 27 54 45 4e 4d 58 49 27 2e 00 4f 00 a4 00 36 00 50 2a 20 4e 4f 54 49 43 45 20 54 48 41 54 20 4d 4f 44 55 4c 45 20 27 54 49 4f 4d 58 4f   ┆ , P* COMPLETION OF THE REQUEST IS 'TENMXI'. O   6 P* NOTICE THAT MODULE 'TIOMXO┆
0x16bc…170c              27 20 49 53 20 45 51 55 41 4c 20 54 4f 20 54 49 4f 4d 58 49 2e 20 00 4f 00 d4 00 06 00 50 2a 20 00 4f 01 0e 00 20 00 50 2a 20 49 4e 50 55 54 3a 20 20 41 35 20 3d 20 54 54 41 42 20 41 44 44 52 45 53 53 20 00 4f 01 18 00 22 00 50 2a 20 20 20   ┆' IS EQUAL TO TIOMXI.  O     P*  O     P* INPUT:  A5 = TTAB ADDRESS  O   " P*   ┆
0x170c…175c              20 20 20 20 20 20 41 38 20 3d 20 44 57 54 20 45 43 42 20 41 44 44 52 45 53 53 00 4f 01 3c 00 1c 00 50 2a 5c 20 41 39 20 3d 20 55 53 45 52 20 45 43 42 20 41 44 44 52 45 53 53 00 4f 01 62 00 06 00 50 2a 20 00 4f 01 82 00 22 00 50 2a 20 4f 55   ┆      A8 = DWT ECB ADDRESS O <   P*  A9 = USER ECB ADDRESS O b   P*  O   " P* OU┆
0x175c…17ac (16, 0, 400) 54 50 55 54 3a 20 41 31 2d 41 32 20 41 52 45 20 44 45 53 54 52 4f 59 45 44 20 00 4f 01 8c 00 42 00 50 2a 20 20 20 20 20 20 20 20 20 31 38 20 42 49 54 20 55 53 45 52 20 42 55 46 46 45 52 20 41 44 44 52 45 53 53 20 49 53 20 54 52 41 4e 53 46   ┆TPUT: A1-A2 ARE DESTROYED  O   B P*         18 BIT USER BUFFER ADDRESS IS TRANSF┆
0x17ac…17fc              45 52 52 45 44 20 54 4f 20 44 57 54 20 45 43 42 00 50 00 22 00 06 00 50 2a 20 00 50 00 68 00 1c 00 50 54 49 4f 4d 58 49 5c 45 51 55 5c 2a 5c 4d 55 58 2c 20 49 4e 50 55 54 20 00 50 00 72 00 2c 00 50 5c 45 4c 5c 41 31 2c 45 43 42 42 41 2c 41   ┆ERRED TO DWT ECB P "   P*  P h   PTIOMXI EQU * MUX, INPUT  P r , P EL A1,ECBBA,A┆
0x17fc…184c              39 5c 47 45 54 20 55 53 45 52 20 42 55 46 46 45 52 20 41 44 44 52 45 53 53 20 00 50 00 92 00 0e 00 50 5c 45 43 52 5c 41 32 2c 41 31 00 50 00 c2 00 26 00 50 5c 41 4e 4b 4c 5c 41 31 2c 2f 46 46 46 5c 53 4b 49 50 20 34 20 4c 45 46 54 4d 4f 53   ┆9 GET USER BUFFER ADDRESS  P     P ECR A2,A1 P   & P ANKL A1,/FFF SKIP 4 LEFTMOS┆
0x184c…189c              54 20 42 49 54 53 00 50 00 d4 00 0e 00 50 5c 53 52 4c 5c 41 32 2c 33 20 00 50 00 fe 00 26 00 50 5c 41 4e 4b 5c 41 32 2c 2f 31 45 5c 4d 4d 55 54 41 42 20 49 4e 44 45 58 20 28 35 20 42 49 54 53 29 20 00 50 01 10 00 20 00 50 5c 41 44 52 5c 41   ┆T BITS P     P SRL A2,3  P   & P ANK A2,/1E MMUTAB INDEX (5 BITS)  P     P ADR A┆
0x189c…18ec              32 2c 41 35 5c 41 44 44 20 54 54 41 42 20 41 44 44 52 45 53 53 20 00 50 01 3a 00 2e 00 50 5c 4c 43 5c 41 32 2c 54 54 42 3a 4d 54 2c 41 32 5c 47 45 54 20 50 48 59 53 49 43 41 4c 20 50 41 47 45 20 41 44 44 52 45 53 53 00 50 01 5e 00 0e 00 50   ┆2,A5 ADD TTAB ADDRESS  P : . P LC A2,TTB:MT,A2 GET PHYSICAL PAGE ADDRESS P ^   P┆
0x18ec…193c (17, 0, 400) 5c 53 52 4c 5c 41 32 2c 32 20 00 50 01 90 00 10 00 50 5c 41 4e 4b 5c 41 32 2c 2f 33 46 20 00 51 00 12 00 34 00 50 5c 53 43 52 5c 41 32 2c 41 38 5c 53 54 4f 52 45 20 42 49 54 53 20 31 36 2d 31 37 20 49 4e 20 44 57 54 20 45 43 42 20 31 53 54   ┆ SRL A2,2  P     P ANK A2,/3F  Q   4 P SCR A2,A8 STORE BITS 16-17 IN DWT ECB 1ST┆
0x193c…198c              20 57 4f 52 44 20 00 51 00 26 00 10 00 50 5c 41 4e 4b 5c 41 32 2c 2f 30 46 20 00 51 00 5e 00 0e 00 50 5c 53 52 43 5c 41 32 2c 34 20 00 51 00 72 00 0e 00 50 5c 4f 52 52 5c 41 31 2c 41 32 00 51 00 84 00 32 00 50 5c 53 54 5c 41 31 2c 45 43 42   ┆ WORD  Q &   P ANK A2,/0F  Q ^   P SRC A2,4  Q r   P ORR A1,A2 Q   2 P ST A1,ECB┆
0x198c…19dc              42 41 2c 41 38 5c 53 54 4f 52 45 20 4d 4f 44 49 46 49 45 44 20 42 55 46 46 45 52 20 41 44 44 52 45 53 53 20 00 51 00 96 00 0c 00 50 5c 52 54 4e 5c 41 31 35 00 51 00 cc 00 06 00 50 2a 20 00 51 00 dc 00 14 00 50 5c 45 4a 45 43 54 5c 5c 5c 54   ┆BA,A8 STORE MODIFIED BUFFER ADDRESS  Q     P RTN A15 Q     P*  Q     P EJECT   T┆
0x19dc…1a2c              4f 53 53 49 4f 20 00 51 00 e6 00 06 00 50 2a 20 00 51 00 fe 00 12 00 50 2a 5c 54 20 49 20 4f 20 4b 20 42 20 49 20 00 51 01 08 00 06 00 50 2a 20 00 51 01 1e 00 42 00 50 2a 20 54 48 49 53 20 4d 4f 44 55 4c 45 20 49 53 20 43 41 4c 4c 45 44 20   ┆OSSIO  Q     P*  Q     P* T I O K B I  Q     P*  Q   B P* THIS MODULE IS CALLED ┆
0x1a2c…1a7c              42 59 20 27 54 49 4f 27 20 57 48 45 4e 20 41 20 52 45 41 44 20 52 45 51 55 45 53 54 20 48 41 53 20 42 45 45 4e 20 00 51 01 28 00 4e 00 50 2a 20 49 53 53 55 45 44 20 41 4e 44 20 54 48 45 20 44 45 56 49 43 45 20 49 53 20 4b 45 59 42 4f 41 52   ┆BY 'TIO' WHEN A READ REQUEST HAS BEEN  Q ( N P* ISSUED AND THE DEVICE IS KEYBOAR┆
0x1a7c…1acc (18, 0, 398) 44 2f 43 54 57 2e 20 54 49 4f 4b 42 49 20 57 49 4c 4c 20 53 45 54 20 42 55 46 46 45 52 20 41 44 44 52 45 53 53 45 53 20 00 51 01 6e 00 36 00 50 2a 20 41 4e 44 20 4d 4f 56 45 20 4b 45 59 54 41 42 4c 45 20 28 49 46 20 41 4e 59 29 20 42 59 20   ┆D/CTW. TIOKBI WILL SET BUFFER ADDRESSES  Q n 6 P* AND MOVE KEYTABLE (IF ANY) BY ┆
0x1acc…1b1c              55 53 49 4e 47 20 45 4e 54 52 59 20 54 49 50 49 30 35 00 52 00 30 00 30 00 50 2a 20 49 4e 20 27 54 49 4f 50 43 49 27 20 41 4e 44 20 45 4e 54 52 59 20 54 49 50 4f 30 35 20 49 4e 20 27 54 49 4f 50 43 4f 27 2e 20 00 52 00 6a 00 34 00 50 2a 20   ┆USING ENTRY TIPI05 R 0 0 P* IN 'TIOPCI' AND ENTRY TIPO05 IN 'TIOPCO'.  R j 4 P* ┆
0x1b1c…1b6c              54 48 45 20 43 4f 52 52 45 53 50 4f 4e 44 49 4e 47 20 4d 4f 44 55 4c 45 20 43 41 4c 4c 45 44 20 42 59 20 27 54 45 4e 44 49 4f 27 20 41 54 00 52 00 9e 00 2c 00 50 2a 20 43 4f 4d 50 4c 45 54 49 4f 4e 20 4f 46 20 54 48 45 20 52 45 51 55 45 53   ┆THE CORRESPONDING MODULE CALLED BY 'TENDIO' AT R   , P* COMPLETION OF THE REQUES┆
0x1b6c…1bbc              54 20 49 53 20 27 54 45 4e 4b 42 49 27 2e 00 52 00 d6 00 06 00 50 2a 20 00 52 01 06 00 1e 00 50 2a 20 49 4e 50 55 54 3a 20 20 41 36 20 3d 20 44 57 54 20 41 44 44 52 45 53 53 00 52 01 10 00 16 00 50 2a 5c 20 41 37 20 3d 20 4f 52 44 45 52 20   ┆T IS 'TENKBI'. R     P*  R     P* INPUT:  A6 = DWT ADDRESS R     P*  A7 = ORDER ┆
0x1bbc…1c0a              43 4f 44 45 00 52 01 32 00 22 00 50 2a 20 20 20 20 20 20 20 20 20 41 38 20 3d 20 44 57 54 20 45 43 42 20 41 44 44 52 45 53 53 00 52 01 4c 00 1c 00 50 2a 5c 20 41 39 20 3d 20 55 53 45 52 20 45 43 42 20 41 44 44 52 45 53 53 00 52 01 72         ┆CODE R 2 " P*         A8 = DWT ECB ADDRESS R L   P*  A9 = USER ECB ADDRESS R r┆
0x1c0a…1c5a (19, 0, 400) 00 2c 00 50 2a 5c 41 31 32 20 3d 20 41 44 44 52 45 53 53 20 54 4f 20 44 52 49 56 45 52 20 41 44 44 52 45 53 53 20 42 4c 4f 43 4b 20 00 53 00 04 00 06 00 50 2a 20 00 53 00 34 00 22 00 50 2a 20 4f 55 54 50 55 54 3a 20 41 31 2d 41 34 20 41 52   ┆ , P* A12 = ADDRESS TO DRIVER ADDRESS BLOCK  S     P*  S 4 " P* OUTPUT: A1-A4 AR┆
0x1c5a…1caa              45 20 44 45 53 54 52 4f 59 45 44 20 00 53 00 3e 00 06 00 50 2a 20 00 53 00 64 00 1e 00 50 54 49 4f 4b 42 49 5c 45 51 55 5c 2a 5c 4b 45 59 42 4f 41 52 44 2f 43 54 57 20 00 53 00 6e 00 28 00 50 5c 4c 44 5c 41 31 2c 45 43 42 52 4c 2c 41 38 5c   ┆E DESTROYED  S >   P*  S d   PTIOKBI EQU * KEYBOARD/CTW  S n ( P LD A1,ECBRL,A8 ┆
0x1caa…1cfa              47 45 54 20 52 45 51 55 45 53 54 45 44 20 4c 45 4e 47 54 48 00 53 00 90 00 32 00 50 5c 43 57 5c 41 31 2c 42 55 46 4c 45 4e 2c 41 31 32 5c 43 4f 4d 50 41 52 45 20 57 49 54 48 20 44 57 54 20 42 55 46 46 45 52 20 53 49 5a 45 00 53 00 bc 00 36   ┆GET REQUESTED LENGTH S   2 P CW A1,BUFLEN,A12 COMPARE WITH DWT BUFFER SIZE S   6┆
0x1cfa…1d4a              00 50 5c 52 46 28 47 29 5c 49 4f 3a 45 52 52 5c 52 45 51 2e 20 4c 45 4e 47 54 48 20 45 58 43 45 45 44 53 20 44 57 54 20 42 55 46 46 45 52 20 53 49 5a 45 3f 00 53 00 f2 00 36 00 50 5c 43 46 5c 41 31 35 2c 54 49 50 49 30 35 5c 43 48 45 43 4b   ┆ P RF(G) IO:ERR REQ. LENGTH EXCEEDS DWT BUFFER SIZE? S   6 P CF A15,TIPI05 CHECK┆
0x1d4a…1d9a              20 41 4e 44 20 43 4f 52 52 45 43 54 20 42 55 46 46 45 52 20 41 44 44 52 45 53 53 45 53 20 00 53 01 2c 00 1e 00 50 5c 43 57 4b 5c 41 37 2c 31 5c 43 48 45 43 4b 20 4f 52 44 45 52 20 43 4f 44 45 00 53 01 66 00 2c 00 50 5c 52 46 28 45 29 5c 54   ┆ AND CORRECT BUFFER ADDRESSES  S ,   P CWK A7,1 CHECK ORDER CODE S f , P RF(E) T┆
0x1d9a…1dea (20, 0, 400) 49 4b 42 32 30 5c 4e 4f 20 4b 45 59 54 41 42 4c 45 20 49 46 20 42 41 53 49 43 20 52 45 41 44 20 00 53 01 88 00 2e 00 50 5c 4c 44 5c 41 34 2c 45 43 42 43 57 2c 41 38 5c 47 45 54 20 55 53 45 52 20 4b 45 59 54 41 42 4c 45 20 41 44 44 52 45 53   ┆IKB20 NO KEYTABLE IF BASIC READ  S   . P LD A4,ECBCW,A8 GET USER KEYTABLE ADDRES┆
0x1dea…1e3a              53 20 00 54 00 28 00 1e 00 50 5c 52 46 28 5a 29 5c 54 49 4b 42 32 30 5c 4e 4f 20 4b 45 59 54 41 42 4c 45 3f 00 54 00 5a 00 06 00 50 2a 20 00 54 00 7c 00 14 00 50 5c 45 4a 45 43 54 5c 5c 5c 54 4f 53 53 49 4f 20 00 54 00 86 00 06 00 50 2a 20   ┆S  T (   P RF(Z) TIKB20 NO KEYTABLE? T Z   P*  T |   P EJECT   TOSSIO  T     P* ┆
0x1e3a…1e8a              00 54 00 9e 00 06 00 50 2a 20 00 54 00 a8 00 0e 00 50 5c 4c 44 52 5c 41 31 2c 41 39 00 54 00 b2 00 0e 00 50 5c 41 44 4b 5c 41 31 2c 38 20 00 54 00 c4 00 10 00 50 5c 41 44 4b 4c 5c 41 38 2c 31 32 20 00 54 00 d6 00 2a 00 50 5c 53 54 5c 41 38   ┆ T     P*  T     P LDR A1,A9 T     P ADK A1,8  T     P ADKL A8,12  T   * P ST A8┆
0x1e8a…1eda              2c 2d 32 2c 41 38 5c 53 45 54 20 44 57 54 20 4b 45 59 54 41 42 4c 45 20 41 44 44 52 45 53 53 20 00 54 00 ea 00 0e 00 50 5c 53 55 4b 4c 5c 41 38 2c 34 00 54 01 18 00 2e 00 50 5c 45 4c 52 5c 41 33 2c 41 34 5c 47 45 54 20 46 49 52 53 54 20 57   ┆,-2,A8 SET DWT KEYTABLE ADDRESS  T     P SUKL A8,4 T   . P ELR A3,A4 GET FIRST W┆
0x1eda…1f2a              4f 52 44 20 4f 46 20 55 53 45 52 20 4b 45 59 54 41 42 4c 45 00 54 01 2a 00 0e 00 50 5c 41 4e 4b 5c 41 34 2c 31 20 00 54 01 5c 00 2c 00 50 5c 52 46 28 4e 5a 29 5c 54 49 4b 42 31 30 5c 4b 45 59 54 41 42 4c 45 20 41 44 44 52 45 53 53 20 55 4e   ┆ORD OF USER KEYTABLE T *   P ANK A4,1  T   , P RF(NZ) TIKB10 KEYTABLE ADDRESS UN┆

Reduced view