The DH Multi-tasker's entry point - PAUSE

  Some parts of this page/site are currently incomplete & will be updated asap
Other parts will change continually so use “Refresh” in your browser !!
  There is extensive use of “Tooltips” text to support learning which do not seem to render on a Smartphone. This site is best viewed via a computer’s HD monitor


0002AE F3                PAUSE: DI
0002AF F5                       PUSH AF
0002B0 C5                   	PUSH BC
0002B1 D5                    	PUSH DE
0002B2 E5                     	PUSH HL
0002B3 DDE5                   	PUSH IX
0002B5 FDE5                   	PUSH IY

0002B7 21F7FF                 	LD   HL,TASKS
0002BA CB7E                    	BIT  7,(HL)
0002BC 20 1C                	JR   NZ,PAUSE2	; Skip if task running

0002BE 21F7FF           PAUSE1: LD   HL,TASKS
0002C1 CB46                    	BIT  0,(HL)
0002C3 52C4 65 03 00          	CALL.IL	NZ,TASK0	; Ethernet Packet Task (In eZ80_ETHERNET.ASM)
0002C8 21F7FF                 	LD   HL,TASKS
0002CB CB56                   	BIT  2,(HL)
0002CD 52C4 21 09 00           	CALL.IL	NZ,ARP_REFRESH	; ARP Cache Freshness Task (In eZ80_ETHERNET.ASM)
                                 ;   LD   HL,TASKS
                                 ;   BIT  2,(HL)
                                 ;   CALL NZ,ORB_RX_TSK	    ; HL is reloaded from TASKS quite often because
0002D2 21F7FF                   LD   HL,TASKS	            ;  this is a way of responding quickly to any
0002D5 CB5E                     BIT  3,(HL)		            ;  changes to the content of TASKS from elsewhere..
0002D7 C2 78 02                 JP   NZ,ESC_KEY	            ; Or to put it another way, to make sure the
                                 ;   LD   HL,TASKS	        ;  value from TASKS is as FRESH as possible
                                 ;   BIT  4,(HL)		        ;  I.E NOT STALE !!
                                 ;   CALL NZ,GTASK
                                 ;   LD   HL,TASKS
                                 ;   BIT  5,(HL)
                                 ;   CALL NZ,TEN_SEC_TSK
                                 ;   LD   HL,TASKS
                                 ;   BIT  6,(HL)
                                 ;   CALL NZ,ONE_MIN_TSK

0002DA FDE1             PAUSE2:	POP  IY
0002DC DDE1                     POP  IX
0002DE E1                       POP  HL
0002DF D1                       POP  DE
0002E0 C1                       POP  BC
0002E1 F1                       POP  AF
0002E2 FB                       EI
0002E3 C9                       RET

Updated: 22nd August 2022 by David Husband
© 2021 David Husband, a.k.a. Baremetal Engineer Extraordinaire
All Rights Reserved – All Trademarks & Copyrights Acknowledged
All personal information is subject to the Data Protection Act 2018 & the UK GDPR
“ad auxilium aliis ad auxilium sibi”