-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathEQUIPMNT.ASM
122 lines (79 loc) · 3.26 KB
/
EQUIPMNT.ASM
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
$Title ('DTC/PC BIOS Equipment Determination and Memory Size V1.0')
$Pagelength (80) Pagewidth (132) Debug Nogen
Name Equipmnt
; Author: Don K. Harrison
; Start date: December 7, 1983 Last edit: December 17, 1983
; ************************
; * Module Description *
; ************************
;
; This module contains the memory size determination service
; routine (Int 18) and the equipment inventory service routine Int (17).
; A dummy routine to serve the non-existant cassette interrupt (Int 21)
; is also included.
; (c) Display Telecommunications Corporation, 1983
; All Rights Reserved
$Eject
; **********************
; * Revision History *
; **********************
$Eject
; ********************
; * Public Symbols *
; ********************
Public EquipDriver, MemorySizeDriver, CassetteDriver
; *************
; * Equates *
; *************
; All Equates in include file: IbmInc
$Include (IbmInc)
$Eject
; *******************
; * Data Segments *
; *******************
BiosDataArea Segment Public
Extrn MemorySize:Word, EquipFlag:Word
BiosDataArea Ends
$Eject
; ******************
; * Code Segment *
; ******************
Bios Segment Common
Assume Cs:Bios, Ds:BiosDataArea
; *****************
; * Memory Size *
; *****************
Org 0F841H
MemorySizeDriver Proc Far
Sti ;Restore interrupts
Push Ds ;Save data segment
Mov Ax,BiosDataArea ;...load ours
Mov Ds,Ax ;...in
Mov Ax,MemorySize ;Get the info
Pop Ds ;Restore
Iret ;...and return
MemorySizeDriver Endp
; *************************
; * Equipment Inventory *
; *************************
Org 0F84DH
EquipDriver Proc Far
Sti ;Restore interrupts
Push Ds ;Save data segment
Mov Ax,BiosDataArea ;...load ours
Mov Ds,Ax ;...in
Mov Ax,EquipFlag ;Get the info
Pop Ds ;Restore
Iret ;...and return
EquipDriver Endp
; ***************************
; * Dummy Cassette Driver *
; ***************************
Org 0F859H
CassetteDriver Proc Far
Stc ;Error return
Mov Ah,86H ;...value
Ret 2 ;Toss flags and return
CassetteDriver Endp
Bios Ends
End