IBM AT 5170 Technical Reference page 337

Table of Contents

Advertisement

226
IB~
Personal
Computer
~ACRO
Assembler
VerSion 2.00
1-3
B[OSI
~-~
06/10/85
INTERRUPT
15H BrOS ROUTINES
06~
I
0~85
227
0082
EVENT WA IT
I,
-
228
0082 E4 A I
IN
-
AL,rNTBOI
ENSURE
I NTERRUPT UNMASKED
229
0084 E8 00
oMP
'.2
230
00B6 24 FE
AND
AL,OFEH
231
OOBB E6 A I
OUT
[NTBOI,AL
232
OOBA 8C 06 009A R
MOV
'lIUSER FLAG SEG,ES
SET UP TRANSFER TABLE
233
008E 89
IE 009B R
MOV
Il'IUSER
::::FLAG~BX
234
0092 89 OE 009E R
MOV
Il'IRTC _HJGH,CX
235
0096 89
15 009C R
MOV
Il'IRTC _LOW,DX
235
009A C5 06 OOAO R
01
MOV
Il'IRTC _WAIT_FLAG,OI
SET ON FUNCT[ON ACTIVE SWITCH
237
009F 80
08
MOV
AL,
C~OS_REG_B
ENABLE PIE
238
OOA I
E8 0000 E
CALL
C~OS
READ
READ CMOS LOCA T I ON
239
00A4 24
7F
AND
AL.01FH
CLEAR SET
240
00A6
DC 40
OR
AL,040H
ENABLE PIE
241
00A8 50
PUSH
AX
SAVE AH
242
00A9 8A EO
MDV
AH,AL
PLACE DATA
INTO DATA REGISTER
243
OOAB 80 08
MOV
AL
.C~OS
REG_B
ADDRESS ALARM REG I STER
244
OOAo E8 0000 E
CALL
C~OS
WRITE
PLACE DATA
[N AH
[NTO
ALAR~
REG [S TER
-
245
OOBO 58
POP
AX
RESTORE AH
245
OOBI
IF
POP
DS
247
00B2 F8
STI
ENABLE
INTERRUPTS
248
00B3 F8
CLC
CLEAR CARRY
249
00B4 EB AI
oMP
C I
F
250
-
251
CANCEL
252
253
00B6
EVENT_WAIT 3,
254
00B6 50
PUSH
SAVE
255
00B7 FA
CLI
D[SABLE
INTERRUPTS
255
00B8 88 OBOB
MOV
AX, X·CMOS_REG_B
TURN OFF PIE
257
OOBB EB 0000 E
CALL
C~OS
READ
GET ALARM REGISTER
258
OOSE 24 8F
AND
AL,OBFH
CLEAR PIE
259
OOCO 86 EO
XCHG
AH,AL
PLACE
INTO WR I TE REG I 5 TER
260
00C2 E8 0000 E
CALL
C~OS
WR [TE
WR I TE BACK TO ALARM REG I STER
261
00C5 58
PDP
AX
RESTORE AH
-
262
00C6 C6 06
OOAO R 00
MDV
Il'IRTC WAIT _FLAG,O
SET FUNCT ION ACT I VE FLAG OFF
263
00C8 F8
STI
ENABLE
INTERRUPTS
-
254
OOCC
IF
PDP
OS
RESTORE DATA SEGMENT
255
OOCO F8
CLC
SET CARRY OFF
255
OOCE E8 87
oMP
C I
F
RETURN
257
-
268
EVENT WAIT
ENOP
269
JOY
STICK
---~-----------
- - - - - - - - - - - - - - - ­
270
THIS ROUTINE WILL READ THE ,JOYSTICK PORT
271
272
INPUT
273
10XI =0 READ THE CURRENT SWITCHES
274
RETURNS
IALI=
SWITCH SETTINGS
IN BITS
275
276
IDX)=I
READ
THE RESISTIVE
INPUTS
277
RETURNS
IAXI=AI~I
VALUE
278
IBXI::;;Alyl
VALUE
279
ICXI=81~1
VALUE
280
IDXI=Bly)
VALUE
281
282
CY FLAG ON
I F NO ADAPTER CARD OR
I NV AL I 0 CALL
283
284
285
0000
oDY STICK
PROC
NEAR
286
0000
STI
I NTERRUPTS BACK ON
-
287
0001
8B C2
MOV
AX,DX
GET SUB FUNCT I ON CODE
288
0003 BA 020 I
MDV
DX,20 1 H
ADDRESS OF PORT
289
0 006 OA CO
OR
AL,AL
290
0008 74 OB
JZ
JOY 2
READ SW ITCHES
291
OODA FE C8
DEC
AL
292
OODC
74 OC
OZ
OOY 3
READ RESISTIVE
[NPUTS
293
OODE E9 0054 R
oMP
CI
GO TO ERROR RETURN
294
OOEI
OOY
I,
295
OOE 1 FB
STI
-
296
00E2 E9 0057 R
oMP
C I
F
GO TO COMMON RETURN
297
298
DOES
OOY 2,
-
299
ODES EC
IN
AL,DX
300
00E6 24 FO
ANO
AL,OFOH
STR I P UNWANTED BITS OFF
30 lODES EB F7
oMP
OOY
I
FINISHED
302
303
OOEA
OOY 3,
304
OOEA B3 0 I
MOV
BL, I
-
305
OOEC E8 0108 R
CALL
TEST_CORD
306
OOEF 51
PUSH
ex
SAVE A(X)
VALUE
307
OOFO B3 02
MOV
BL,2
308
00F2 ES 0108 R
CALL
TEST_CORD
309
00F5 51
PUSH
ex
310
00F6 B3 04
MOV
BL,4
311
00F8 E8 0108 R
CALL
TEST_CORD
312
OOFS 51
PUSH
ex
SAVE SIX)
VALUE
313
OOFC B3
MDV
BL,B
31400FEE80108R
CALL
TEST CORD
315
0 I 0 I
8B 01
MDV
DX,CX
SAVE 81Y)
VALUE
316
0 I 03 59
POP
CX
GET 81XI
VALUE
317
0 I 04 5B
POP
8X
GET AIY)
VALUE
318
0 I 05 58
POP
AX
GET AIXI
VALUE
319
0 I 06 EB 09
oMP
OOY
I
FIN I SHED -
RETURN
320
321
0 I 08
TEST CORD
PROC
NEAR
322
0 I 08 52
PUSH
OX
SAVE
323
0 I 09 FA
CLI
BLOCK
INTERRUPTS WHILE READING
324
0 I OA BO
MOV
ALtO
SET UP TO LATCH T I MER a
325
0 I OC E6 43
OUT
TIMER+3,AL
326
0 I OE EB 00
oMP
'.2
327
0 I 10 E4 40
IN
AL, T I
~ER
READ LOW BYTE OF T I MER 0
328
0112 EB 00
oMP
'.2
329
0114 8A EO
MOV
AH,AL
330
0 116 E4 40
IN
AL. TIMER
READ HIGH BYTE OF
TI~ER
0
331
0 118 86 EO
XCHG
AH,AL
REARRANGE TO HIGH. LOW
332
01 I A 50
PUSH
AX
SAVE
333
0 I I B 89 04FF
MOV
CX,4FFH
SET COUNT
334
01 IEEE
OUT
oX,AL
FIRE
TI~ER
335
011 F EB 00
JMP
'.2
336
0121
TEST CORD
I,
-
337
0121
EC
IN
AL,DX
READ VALUES
338
0122 84 C3
TEST
AL,BL
HAS PULSE ENDED 7
339
0124 EO F8
LOOPNZ
TEST
-
CORD
-
I
BIOS1
5-165

Advertisement

Table of Contents
loading

Table of Contents