EasyManua.ls Logo

IBM PC CONVERTIBLE

IBM PC CONVERTIBLE
275 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
0255
72
OC
0257
EB
E4
0259
0259
E8
026B
R
025C
E8
0277
R
025F
EB
02
90
0262
0262
F8
0263
0263
0264
0266
0268
0269
026A
026B
9C
BO
27
E6
72
9D
FB
C3
026B
FA
026C
BO
07
026E
E6
72
0270
EB
00
0272
24
FB
0274
E6
72
0276
C3
0277
0277
0277
E4
72
0279
24
FC
027B
OC
20
027D
FB
027E
E6
72
0280
EB
00
0282
F6
C4
20
0285
74
OF
JC
JMP
WAIT
ON
ANY
EVENT
ANLWAIT:
CALL
CALL
JMP
WAILDONE:
CLC
WAILEXIT:
PUSHF
MOV
OUT
POPF
STI
RET
WAILEXIT
CEQ_WAIT
PREP_WAIT
EVENLWAIT
WAIT_EXIT
SET
UP
FOR
CLOCK
STOP
EXECUTE
CLOCK
STOP
CLEAR
CARRY
FLAG
;
SAVE
FLAGS
AL,DISABLE_SLEEP+CLOCK_RUN+GLOBALNMI
;
ON
NMIS
CLOCICCTL
,AL
;
RESTORE
FLAGS
;
RE-ENABLE
INTERRUPTS
; EXIT
THIS
ROUTINE
ENABLES
THE
SLEEP
CLOCK
BUT
SETS
THE
STATE
TO
CLOCK
RUN
THIS
MUST
BE
DONE
IN
ORDER
TO
COVER
THE
TIMING
PROBLEM
OF
THE
IRPT
OCCURRING
AFTER
THE
CONDITION
TEST
BUT
BEFORE
THE
CLOCKS
ARE
STOPPED
PROC
NEAR
PREP
_WAIT
CLI
MOV
OUT
JMP
AND
OUT
RET
;
DISABLE
INTERRUPTS
AL,CLOCK_RUN+DISABLCSLEEP
;
DSABL
NMI
ST
FL
SPEED
CLOCICCTL,AL
;
NO
ENABLE
SLEEP
CLOCK
$+2
;
DELAY
AL,NOT
DISABLE_SLEEP;
ENABLE
SLEEP
CLOCK
CLOCICCTL,
AL
PREP
_WAIT
ENDP
THIS
SUBROUTINE
STOPS
THE
SYSTEM
CLOCKS
AND
RTN
AFTER
THEY
HAVE
BEEN
RESTARTED.
IF
AN
INTERRUPT
HAS
OCCURRED
BTWN
PREP_WAIT
& EVENLWAIT
THE
SLEEP
CLOCK
WILL
HAVE
BEEN
DISABLED
BY
HARDWARE
&
THE
EVENLWAIT
ROUTINE
WILL
"FALL
THROUGH"
WITHOUT
STOPPING
THE
CLOCKS.
ONCE
THE
CLOCKS
HAVE
RESUMED,
THE
TIMEOUT
VALUE
IS
CKED
(IF
USED)
&
THE
CARRY
FLAG
SET
I F
TIMEOUT
EVENLWAIT
PROC
NEAR
IN
AL,
CLOCICCTL
AND
AL,
NOT
CLOCK_RUN
OR
AL,GLOBALNMI
STI
OUT
CLOCICCTL,AL
JMP
$+2
CLOCKS
HAVE
RESTARTED
TEST
AH,20H
JZ
NO_TIMEOUT
TURN
ON
NMIS
ENABLE
INTERRUPTS
STOP
CLOCKS
DELAY
TIMEOUT
TO
BE
TAKEN
JUMP
I F
NOT
0287
38
IE
007B
R
CMP
EVENLTlM_OUT ,BL
CHECK
ENOUGH
TIME
028B
77
07
JA
TIMEOUT
I F
ORIGINAL
TIME
THEN
ERROR
028D
80
3E
007B
R
00
CMP
EVENLTlM_OUT
,0
CHECK
FOR
TIME
ELAPSED
0292
75
02
JNZ
NO_TIMEOUT
0294
TIMEOUT:
0294
F9
STC
TIMEOUT
-
SET
CARRY
0295
C3
RET
RETURN
0296
NO_TIM
EOUT:
0296
F8
CLC
NO
TIME_OUT
SO
CLEAR
CARRY
0297
C3
RET
RETURN
0298
EVENLWAIT
ENDP
0298
EXLEVENT
ENDP
2-180 ROM BIOS

Related product manuals