; E0h = Stand-By
; E1h = Idle
; E2h = Timed Stand-By
; E3h = Timed Idle
; E6h = Sleep
.model tiny
.code
org 100h
start:
HddSDH1 EQU 01F6h ; SDH register
HddCmd1 EQU 01F7h ; Command register
HddSDH2 EQU 0176h ; SDH register
HddCmd2 EQU 0177h ; Command register
Drive0 EQU 00h ; 00=Master, 10=slave
Drive1 EQU 10h ; 00=Master, 10=slave
MOV AL,Drive0 ; Drive 0 - master
MOV DX,HddSDH1 ; Address of SDH register
OUT DX,AL ; Set the SDH register
MOV AL,0E0h ; Stand-By command
MOV DX,HDDCMD1 ; Address of Command register
OUT DX,AL ; Send command
MOV AL,Drive1 ; Drive 1 - slave
MOV DX,HddSDH1 ; Address of SDH register
OUT DX,AL ; Set the SDH register
MOV AL,0E0h ; Stand-By command
MOV DX,HDDCMD1 ; Address of Command register
OUT DX,AL ; Send command
MOV AL,Drive0 ; Drive 0 - master
MOV DX,HddSDH2 ; Address of SDH register
OUT DX,AL ; Set the SDH register
MOV AL,0E0h ; Stand-By command
MOV DX,HDDCMD2 ; Address of Command register
OUT DX,AL ; Send command
MOV AL,Drive1 ; Drive 1 - slave
MOV DX,HddSDH2 ; Address of SDH register
OUT DX,AL ; Set the SDH register
MOV AL,0E0h ; Stand-By command
MOV DX,HDDCMD2 ; Address of Command register
OUT DX,AL ; Send command
int 20h ; Exit .COM program
end start
| Recommended by Wim's BIOS... |
|
Return to Power Management problems