IBM AT 5170 Technical Reference page 353

Table of Contents

Advertisement

IBM Personal Computer MACRO Assembler
Vers,on 2.00
1-6
81052 ---- 06/10/85
8105
INTERRUPT ROUTINES
06- [0-85
499
500
CARR [AGE RETURN, L [NE FEED SU9ROUT I NE
50 I
502
0275
CRLF
PROC
NEAR
503
SEND CR,LF TO FIRST PRINTER
504
0275 33 02
XOR
OX,OX
ASSUME FIRST PRINTER
(OX: OJ
505
0277 88 0000
"OV
AX,CR
GET THE PR I NT CHARACTER COMMAND AND
506
027A CO
17
INT
17H
THE CARR
I
AGE RETURN CHARACTER
507
027C 88 OOOA
"OV
AX,LF
NOW GET THE LINE FEED AND
508
027F CD
17
INT
17H
SEND IT TO THE BIOS PRINTER ROUTINE
509
0281
C3
RET
510
0282
CRLF
ENDP
5"
512
5"
514
:-- HAROWARE
INT
OB
H --
(
IRQ LEVEL 0
)
-------­
5"
516
THIS ROUTINE HANDLES THE TIMER
INTERRUPT FROM FROM CHANNEL 0 OF
5"
THE 8254 TIMER.
[NPUT FREQUENCY
IS
1.[9315 MHZ AND THE DIVISOR
51.
IS 65536, RESULTING
IN APPROXIMATELY
18.2
INTERRUPTS EYERY SECONO.
5 "
520
THE
[NTERRUPT HANDLER MAINTAINS A COUNT
(40:6C) OF
INTERRUPTS SINCE
521
POWER ON TIME,
WHICH MAY 9E USED TO ESTA8L1SH TIME OF DAY.
522
THE
I NTERRUPT HANDLER ALSO DECREMENTS THE MOTOR CONTROL COUNT
(40: 40 I
523
OF THE
0
I SKETTE, AND WHEN
[T EXP I RES,
WILL TURN OFF THE
524
DISKETTE MOTOR (s),
AND RESET THE MOTOR RUNN I NG FLAGS.
525
THE
INTERRUPT HANDLER WILL ALSO
INYOI(E A USER ROUTINE THROUGH
526
INTERRUPT
ICH AT EVERY T[ME TICK.
THE USER MUST CODE A
527
ROUTINE AND PLACE THE CORRECT ADDRESS
IN THE VECTOR TABLE.
52.
529
530
0282
TIMER
[NT
1
PROC
FAR
531
0282 FB
-
S1'I
INTERRUPT S BACK ON
532
0283
IE
PUSH
OS
533
0284 50
PUSH
AX
534
0285 52
PUSH
OX
SAVE MACHINE STATE
535
0286 E8 0000 E
CALL
DDS
ESTABLISH ADDRESSABILITY
536
0289 FF 06 006C R
INC
II)TI MER LOW
INCREMENT T I ME
T4
­
537
0280 75 04
JNl
GO TO TEST DAY
538
028F FF 06 006E R
INC
(tTl MER_HIGH
INCREMENT HIGH WORD OF T [ME
539
0293
T4:
TEST DAY
540
0293 83 3E 006E R 18
C"P
4'TIMER HIGH,OIBH
TEST FOR COUNT EQUALING 24 HOURS
541
0298 75
15
JNZ
T5
-
GO TO D I SKETTE_CTL
542
029A 81
3E 006C R 0080
C"P
'ltTIMER LOW,OSOH
543
02AO 75 00
JNZ
T5
-
GO TO 0 [SKETTE_CTL
544
545
T I MER HAS GONE 24 HOURS
546
547
02A2 2B CO
SUS
AX,AX
548
02A4 A3 006E R
"DV
CO'TIMER _H I GH, AX
549
02A7 A3 006C R
"DV
'<tTIMER _LOW, AX
550
02AA C6 06 0070 R 0 I
"OV
'<tTl MER OFL,I
-
551
552
TEST FOR 01 SI(ETTE T I ME OUT
553
554
02AF
T5:
555
02AF FE OE 0040 R
DEC
'ltMOTOR COUNT
DECREMENT DISKETTE MOTOR CONTROL
-
556
0283 75 08
JNZ
T6
RETURN
I F COUNT NOT OUT
557
0295 80 26 003F R FO
AND
(tMOTOR STATUS,OFOH
TURN OFF MOTOR RUNNING BITS
558
029A 80 OC
"OV
AL,OCH
559
029C 9A 03F2
"OV
DX,03F2H
FDC CTL PORT
560
029F EE
OUT
DX,AL
TURN OFF THE MOTOR
561
562
02CO
T6:
T [MER T [CK
[NTERRUPT
563
02CO CD
I C
INT
TRANSFER CONTROL TO A USER ROUT I NE
564
565
02C2 5A
PDP
OX
RESTORE
(OX)
566
02C3 80 20
"DV
AL,EO[
GET END OF
I NTERRUPT MASK
567
02C5 FA
CLI
D I SABLE
[NTERRUPTS TILL STACK CLEARED
568
02C6 E6 20
OUT
INTAOO ,AL
END OF
INTERRUPT TO 8259
569
02C8 58
PDP
AX
570
02C9
IF
PDP
OS
RESET MACHINE STATE
571
02CA CF
IRET
RETURN FROM
[NTERRUPT
572
573
02CB
TIMER
INT
I
ENDP
574
-
575
02CB
CODE
ENDS
576
END
BIOS2
5-181

Advertisement

Table of Contents
loading

Table of Contents