MOV | AL, 55h | ; SPIO Configuration Mode Enable Key |
OUT | DX, AL | ; Enter in configuration mode |
; Select Logical Device 8 (watch dog) ...
MOV | DX, 3F0h | ; SPIO Index Port |
MOV | AL, 07h | ; Logical Device selector is the register 7 |
OUT | DX, AL | ; Point to Logical Device selector |
INC | DX | ; SPIO Data Port |
MOV | AL, 08h | ; Logical Device number 8 |
OUT | DX, AL | ; Select the Logical Device 8 |
; Select the time base (seconds or minutes) ...
| MOV | DX, 3F0h | ; SPIO Index Port |
| MOV | AL, F1h | ; Watchdog timer units register (WDT_UNITS) |
| OUT | DX, AL | ; Point to register WDT_UNITS |
| INC | DX | ; SPIO Data Port |
| IN | AL, DX | ; Read WDT_UNITS |
| OR | AL, 01h | ; Mask reserved bits and set time in seconds |
; | AND | AL, FEh | ; Mask reserved bits and set time in minutes |
| MOV | BL, AL | ; Save new WDT_UNITS value |
| MOV | DX, 3F0h | ; SPIO Index Port |
| MOV | AL, F1h | ; Watchdog timer units register (WDT_UNITS) |
| OUT | DX, AL | ; Point to register WDT_UNITS |
| INC | DX | ; SPIO Data Port |
| MOV | AL, BL | ; WDT_UNITS value |
| OUT | DX, AL | ; Write the new WDT_UNITS value |
; Select the watchdog timer timeout value ...
MOV | DX, 3F0h | ; SPIO Index Port |
MOV | AL, F2h | ; Watchdog timeout value (WDT_VAL) |
OUT | DX, AL | ; Point to register WDT_ VAL |
INC | DX | ; SPIO Data Port |
MOV | AX, 37 | ; New WDT_ VAL value (from 0 to 255 - seconds in this |
case) |
|
|
OUT | DX, AL | ; Write the new WDT_ VAL value |
; SPIO: exit from configuration mode ...
MOV | DX, 3F0h | ; SPIO Index Port |
MOV | AL, 0AAh | ; SPIO Configuration Mode Disable Key |
OUT | DX, AL | ; Exit from configuration mode |
•Note: for further information about the watchdog programming, refer to “FDC 37B78x Advance Information” manual from SMSC.
68