
; flag allocation
FLAGS_MISC	DATA	0x2D
FLG_WATCHDOG	BIT	FLAGS_MISC.7	; reset counter request flag
; ...

; somewhere inside ISR of PCA (counter overflow condition):
INT_PCA_OVER:
; check if watchdog counter reset is required somewhere
	JNB	FLG_WATCHDOG,INT_PCA_WATCHDOG_END
	CLR	EA
	MOV	WDTRST,#0x1E	; reset watchdog counter
	MOV	WDTRST,#0xE1
	CLR	FLG_WATCHDOG    ; clear request flag
	SETB	EA
INT_PCA_WATCHDOG_END:
; ...

; somewhere inside main() and inside each "long-time" subroutines:
;
	SETB	FLG_WATCHDOG    ; pending request
;