Specifications
Application Examples
AND AL, NOT PAR_PORT_WD
OUT DX,AL
OR AL,PAR_PORT_WD ; WRITE WATCHDOG BIT HIGH
OUT DX,AL
POP DX ; RESTORE REGISTER STATUS
POP AX
RET ; EXIT
WATCHDOG_STB ENDP
; THE MAIN PROCEDURE INCLUDES A LOOP AND A CALL TO THE WATCHDOG
; STROBE PROCEDURE. THE LOOP REPRESENTS THE APPLICATION SOFT-
; WARE. IN NORMAL OPERATION, THE WATCHDOG STROBE PROCEDURE IS
; CALLED AT A PERIODIC RATE LESS THAN THE WATCHDOG TIMER STAGE
; 1 DELAY OF 60 MILLISECONDS. A LOOP COUNT OF 6000H IS SHORT
; ENOUGH TO PREVENT THE TIMEOUT. IF ANYTHING PREVENTS THE
; APPLICATION SOFTWARE FROM CALLING THE WATCHDOG STROBE PROCEDURE
; IN TIME, STAGE 1 TIMES OUT AND THE NMI SERVICE ROUTINE IS INVOKED.
; THIS CAN BE SEEN BY CHANGING THE LOOP COUNT TO 8000H.
;
; INPUTS: NONE
; OUTPUTS: NONE
; CALLS: WATCHDOG_STB
; DESTROYS: ALL
MAIN:
MOV BX, SEG DATA ; INITIALIZE SEGMENTATION
MOV DX,BX
MOV BX, SEG STACK
MOV SS,BX
MOV SP,OFFSET STACK_TOP
ASSUME CS:CODE, SS:STACK, DS:INT_POINT, ES:DUALPORT
PUSH DS ; INITIALIZE INT VECTOR
MOV BX, SEG INT_POINT
MOV DS,BX
MOV WORD PTR TYPE_2,OFFSET WATCHDOG_NMI
MOV WORD PTR TYPE_2+2,SEG CODE
POP DS
ASSUME CS:CODE, SS:STACK, DS:DATA, ES:DUALPORT
MOV AL,PAR_PORT_INIT; INITIALIZE PARALLEL I/O
MOV DX,PAR_PORT_0 ; SO THE J1 CONNECTOR
OUT DX,AL ; OUTPUTS DO NOT CHANGE
MOV DX,PAR_PORT_1 ; WHEN PARALLEL PORTS ARE
OUT DX,AL ; ENABLED
MOV DX,PAR_PORT_2
OUT DX,AL
MOV DX,SER_PORT_CTRL; ENABLE PARALLEL I/O
IN AL,DX
OR AL,SER_PORT_OUT2
OUT DX,AL
MOV DX,PAR_PORT_2 ; ARM WATCHDOG TIMER
IN AL,DX
OR AL,PAR_PORT_WD
OUT DX,AL
LP2: MOV CX,6000H ; SIMULATED PROGRAM LOOP
4-22