IBM AT 5170 Technical Reference page 255

Table of Contents

Advertisement

--------------------------------------------------------------
IBM Pe"lIon;l1
Compute.- MACRO Alillemble!"
Ve.-s,on 2.00
1-3
TEST4 ---- 06/10/85
217
218
219
220
221
222
223
224
225
226
22T
OOAF
228
OOAF 9C
229
OOBO FA
230
OOB 1 BO B6
231
00B3 E6 43
232
00B5 E8 00
233
OOBl 8A C 1
234
00B9 E6 42
235
0088 EB 00
236
OOBO 8A C5
231
OOBF E6 42
238
OOCI
E4 61
239
OOC3 81. EO
240
DOCS
DC
03
241
OOC1 E6 61
242
00C9 90
243
0 DCA
244
a
DCA
89 0406
245
OOCD Ea 00F5 R
246
0000 FE C8
241
0002 15 F6
248
249
0004 9C
250
0005 FA
251
0006 E4 61
252
0008 OC FC
253
0001. 22 EO
254
OOOC 8A C4
255
OODE 24 FC
256
ODED E6 61
251
00E2 90
258
00E3 B9 040B
259
00E6 E8 00F5 R
260
00E9 9C
261
OOEA FA
262
00E8 E4 61
263
OOEO 24 03
264
OOEF OA C4
265
OOFI
E6 61
266
00F3 90
261
00F4 C3
268
269
00F5
270
271
212
273
274
275
27.
277
278
279
280
201
282
00F5
283
00F5 50
264
285
00F6
286
00F6 E4 61
281
00F8 24
10
288
OOFA 3A C4
2S9
OOFC 14 F8
290
291
OOFE 8A EO
292
0100 E2 F"4
293
294
0
I 02 58
295
0103 C3
296
291
0104
298
299
300
301
302
303
304
0104
305
0104 50
306
0105 B8 8E8E
301
aiDS E8 0000 R
30S
OIOB OC 20
309
0
T00 86 EO
310
OlOF E8 OOIA R
311
011258
312
011381
CO 4000
3130111C3
314
315
0
I
18
POST AND BIOS UTILITY ROUTINES
06-10-85
PAGE
-- BEEP - - ---------------- - - - -
- ----------------- - -- - - - - - - - -- - ­
ROUTINE TO SOUND THE BEEPER USING TIMER 2 FOR TONE
ENTRY:
(BLI
=
DURATION COUNTER
I
1
FOR
1/64 SECOND)
ICX)
=
FREQUENCY DIVISOR
(1193180/FREQUENCY)
((331
FOR 886 HZ)
EX IT:
lAX}, (BLI, (CX}
MODIFIED.
BEEP
PROC
NEAR
SETUP T I MER 2
PUSHF
SAVE
INTERRUPT STATUS
eLI
BLOCK
INTERRUPTS DURING UPDATE
MDV
AL,IOIIOIIOB
SELECT TIMER 2,LSB,MSB,BINARY
OUT
"MP
MDV
TIMER+3,AL
"2
AL,CL
WRITE THE TIMER MODE REGISTER
I/O DELAY
DIVISOR FOR HZ
(LOW)
OUT
JMP
MDV
TIMER+2,AL
"2
AL,CH
WR I TE T I MER 2 COUNT - LSB
1/0
DELAY
DIVISOR FOR HZ
tHIGH)
OUT
TIMER+2,AL
WR I TE T I MER 2 COUNT
MSB
IN
AL,PORT B
GET CURRENT SETT I NG OF PORT
MOV
AH,AL
-
SAVE THAT SETTING
OR
AL,GATE2+SPK2
GATE T I MER 2 AND TURN SPEAKER ON
OUT
PORT_B.AL
AND RESTORE
INTERRUPT STATUS
POPF
G1 :
, /64 SECOND PER COUNT
IBL)
MOV
CX.I035
DELA Y COUNT F"OR
1
164 OF
A
SECOND
CALL
WAITF
GO TO BEEP DELAY
I 164 COUNT
DEC
BL
• BL) LENGTH COUNT EXP I RED?
"NZ
G7
NO - CONT I NUE BEEP I NG SPEAKER
PUSHF
SAVE I NTERRUPT STATUS
eLi
BLOCK
INTERRUPTS DURING UPDATE
IN
AL,PORT
B
GET CURRENT PORT VALUE
DR
AL, NOT TGATE2+SPK2 I
I SOLATE CURRENT SPEAKER BITS
I N CASE
AND
AH,AL
SOMEONE TURNEO THEM OFF OUR I NG BEEP
MOV
AL,AH
RECOVER VALUE OF PORT
AND
AL ,NOT
(GATE2+SPK2)
FORCE SPEAKER OAT A OFF
OUT
PORT_B.AL
AND STOP SPEAKER T I MER
POPF
RESTORE INTERRUPT FLAG STATE
MOV
CX,1035
FORCE
1/64 SECOND DELAY
I SHORT)
CALL
WAITF
MINIMUM DELAY BETWEEN ALL BEEPS
PUSHF
SAVE INTERRUPT STATUS
eLI
SLOCK
INTERRUPTS OUR I NG UPDATE
IN
AL.PORT B
GET CURRENT PORT VALUE 'N CASE
AND
AL,GATE2+SPK2
SOMEONE TURNED THEM ON
DR
AL,AH
RECOVER VALUE OF" PORT B
OUT
PORT_B,AL
RESTORE SPEAKER STATUS
POPF
RESTORE
INTERRUPT FLAG STATE
RET
BEEP
ENDP
; - -- WA
I
TF ---- -- ---- ----------------------------- - - -- - ----------------­
FIXED TIME WAIT ROUTINE
(HARDWARE CONTROLLED - NOT PROCESSOR)
ENTRY:
(CX)
=
COUNT OF 15.085731 MICROSECOND INTERVALS TO WAIT
MEMORY REFRESH TIMER
!
OUTPUT USED AS REFERENCE
EXIT:
AFTER
ICXl TIME COUNT (PLUS OR MINUS
16 MICROSECONDS)
(CX)
=
0
;
------ ­
.AITF
PROC
NEAR
DELAY FOR
ICX)'15.085131 US
PUSH
AX
SAVE WORK REGISTER
{AHI
WAITFI;
USE TIMER
1 OUTPUT BITS
IN
AL,PORT B
READ CURRENT COUNTER OUTPUT STATUS
AND
AL ,REFRESH BIT
MASK FOR REFRESH DETERMINE BIT
eMP
AL,AH
-
DID IT .JUST CHANGE
"E
WAITFI
WAIT FOR A CHANGE IN OUTPUT L.INE
"OV
AH,AL
SAVE NEW FLAG STATE
LOOP
WAITn
DECREMENT HALF CYCLES TILL COUNT END
POP
AX
RESTORE {AH)
RET
RETURN
ICX)
=
0
WAITF
ENDP
; --- CONFIG BAD --------------------------------------------------------­
SET-CMOS DIAG WITH CONFJG ERROR BIT
(WITH NMI DISABLED)
(BP)
BIT-'4 SET ON TO INDICATE CONFIGURATION ERROR
CONFIG BAD
PROC
NEAR
-
PUSH
AX
MDV
AX,X'(CMOS DIAG+NMII
ADDRESS CMOS DIAGNOSTIC STATUS BYTE
CALL
CMOS READ -
GET CURRENT VALUE
OR
AL.8AD CONFIG
SET BAD CONFIGURATION BIT
XCHG
AH,AL -
SETUP FOR lliR
I
TE
CALL
CMOS WR ITE
UPDATE CMOS WITH BAD CONFIGURATION
POP
AX
­
OR
BP,04000H
SET CONFIGURATION BAD FLAG IN
IBPl
RET
ENDP
TEST4
5-83

Advertisement

Table of Contents
loading

Table of Contents