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...
Timer 0 Interrupt S (TMRO_INTS)
;
*********************************************************************
TMRO_INT8
DESCRIPTION:
THIS
ROUTINE
HANDLES
THE
TIMER
INTERRUPT
FROM
CHANNEL
0
OF
THE
8253
TIMER.
INPUT
FREQUENCY
IS 1.19318
MHZ
AND
THE
DIVISOR IS 65536,
RESULTING
IN
APPROX.
18.2
INTERRUPTS
EVERY
SECOND.
THE
INTERRUPT
HANDLER
MAINTAINS
A
COUNT
OF
INTERRUPTS
SINCE
POWER
ON
TIME,
WHICH
MAY
BE
USED
TO
ESTABLISH
TIME
OF
DAY.
THE
INTERRUPT
HANDLER
ALSO
DECREMENTS
THE
MOTOR
CONTROL
COUNT
OF
THE
DISKETTE,
AND
WHEN
IT
EXPIRES,
WILL
TURN
OFF
THE
DISKETTE
MOTOR,
AND
RESET
THE
MOTOR
RUNNING
FLAGS.
THE
INTERRUPT
HANDLER
WILL
ALSO
INVOKE
A
USER
ROUTINE
THROUGH
INTERRUPT
lCH
AT
EVERY
TIME
TICK.
THE
USER
MUST
CODE
A
ROUTINE
AND
PLACE
THE
CORRECT
ADDRESS
IN
THE
VECTOR
TABLE.
INPUT:
OS
=
DATA
OUTPUT:
AX=O
(GOOD
RETURN)
AH=40
(NON_FATAL
ERROR)
AL=63
(RTC
ERROR)
RESTRICTIONS:
NONE
REGISTERS
MODIFIED:
NONE
INTERRUPTS:
FORCED
ON
(STI)
I
NTERNALL
Y
REFERENCED
ROUTI
NES:
NONE
;
EXTERNALLY
REFERENCED
ROUTI
NES:
DDS,
INT lCH, I
NT
4AH
;
**********************************************************************
0330
TMRO_INT8
PROC
FAR
0330
FB
STI
I
NTERRUPTS
BACK
ON
033E
IE
PUSH
OS
033F
50
PUSH
AX
0340
52
PUSH
OX
SAVE
MACHINE
STATE
0341
E8
0000 E
CALL
DDS
0344
FE
OE
007B
R
DEC
EVENLTIM_OUT
DEC
WAIT
ON
EVNT
TIMEOUT
CTR
0348
FF
06
006C
R
INC
TIMER_LOW
INCREMENT
TIME
034C
75
04
JNZ
T4
TESLDAY
034E
FF
06
006E
INC
TlMEILHIGH
INCREMENT
HIGH
WORD
OF
TIME
CHECK
TIMER
FOR
24
HOUR
ROLL
OVER
0352
0352
0357
0359
035F
83
3E
006E
R
18
75
15
81
3E
006C
R
OOBO
75
00
0361
2B
CO
0363
A3
006E
R
0366
A3
006C
R
0369
C6
06
0070 R
01
T4:
CMP
JNZ
CMP
JNZ
; TESLDAY
TIMER_HIGH,COUNTS_DALHI
;
TST
FOR
CNT
T5
;
DISKETTE_CTL
TIMER_LOW,
COUNTS_DAY
_LO
T5
;
DISKETTE_CTL
TIMER
HAS
GONE
24
HOURS
SUB
MOV
MOV
MOV
AX,AX
TlMER_HIGH,AX
TIMER_LOW,AX
TIMEILOFL,1
TEST
FOR
DISKETTE
TIME
OUT
036E
T5:
DISKETTE_CTL
24
HOURS
036E
80
3E
0040 R
00
CMP
SKI
P
MOTOR
OFF
I F
ALREADY
0
2-166 ROM BIOS

Related product manuals