IBM 5170 Technical Reference page 291

Hide thumbs Also See for 5170:
Table of Contents

Advertisement

~
,.-......
,.-......
ooee
FA
ooeD
BO 00
ooeF
E6 43
0001
EEl 00
0003
E4 40
0005
F.:B 00
0007
SA EO
0009
E4 40
OODB
86 EO
0000
50
OODE
B9 04FF
OOEl
EE
00E2
EB 00
00E4
00E4
EC
00E5
84 C3
00(7
EO FB
00E9
83 F9 00
OOEe
5.
ODED
75 04
OOH
2B C9
OOFl
EB 20
00F3
00F3
BO 00
OOF5
E6 43
00F7
EB 00
00F9
E4 40
OOFB
8A EO
OOFD
EB 00
OOFF
E4 40
0101
86 EO
0103
3B C8
0105
73 OB
0107
52
0108
BA FFFF
010B
2B DO
0100
03 CA
OlaF
5A
0110
EB 02
0112
0112
2B C8
0114
0114
81 E1 1 FFO
0118
01 E.
011A
01 E9
011C
01 E.
011E
01 E9
0120
0120
FB
0121
BA 0201
0124
51
0125
50
0126
B9 04FF
0129
0129
EC
012A
A8 OF
012C
EO FB
012E
58
012f'
5.
0130
5A
0131
C3
0132
0132
0132
0132
IE
0133
E8 0000 E
0136
F6 06 OOAO
0138
74 05
0130
IF
013E
F.
013F
E9 004F R
0142
0142
FA
0143
E4 Al
01/+5
24 FE
0147
E6 A1
01
j~9
8C 1 E 009A
0140
e-{ 06 0098
0153
89 DE 009E
0157
89 16 009C
015B
C6 OG OOAO
0160
BO DB
0162
E6 70
0164
E4-71
0166
24 7F
0168
oc 40
016A
50
016B
BO DB
0160
E6 70
016F
5.
0170
E6 71
0172
F.
0173
0173
F6 06 OOAO
0178
74 F9
017A
C6 06 OOAD
017F
IF
Oleo
E9 004F R
0183
R 01
R
R OOAD R
R
R
R 01
R 80
R 00
CLI
BLOCK INTERRUPTS WH I LE READ I NG
MOV
AL,O
SET UP TO LATCH TIMER a
OUT
TIMER+3,AL
JMP
SHORT $+2
IN
AL, TIMER
READ LOW BYTE OF T I MER 0
JMP
SHORT $+2
MOV
AH,AL
IN
AL, TIMER
READ HIGH BYTE OF TIMER 0
XCHG
AH,AL
REARRANGE TO HIGH, LOW
PUSH
AX
SAVE
MOV
CX,4FFH
SET COUNT
OUT
oX,AL
FIRE TIMER
JMP
SHORT $+2
TEST _CORD_ 1 :
IN
AL,oX
READ VALUES
TEST
AL, BL
HAS PULSE ENDED?
LOOPNZ
TEST_CORO_l
CMP
CX,O
POP
CX
OR I G I NAL COUNT
JNZ
SHORT TEST _CORD_2
SUB
eX,ex
SET
6
COUNT FOR RETURN
JMP
SHORT TEST_CORD_3
;
EXIT WITH COUNT
=
a
TEST _CORo_2:
MOV
AL,O
SET UP TO LATCH T I MER 0
OUT
TlMER+3,AL
JMP
SHORT $+2
IN
AL, TIMER
READ LOW BYTE OF T I MER 0
MOV
AH,AL
JMP
SHORT $+2
IN
AL, TIMER
READ HIGH BYTE OF TIMER 0
XCHG
AH,AL
REARRANGE TO HIGH, LOW
CMP
CX,AX
CHECK FOR COUNTER WRAP
JAE
TEST_CORD_4
GO I F NO
PUSH
OX
MOV
DX,-1
SUB
oX,AX
ADJUST FOR WRAP
ADD
CX,OX
POP
OX
JMP
SHORT TEST_CORD_5
TEST _CORD_ 4:
SUB
ex,AX
TEST _CORD_5:
AND
CX,1FFOH
ADJUST
SHR
CX,l
SHR
CX,l
SHR
CX,l
SHR
CX,l
TEST _CORD_3:
STI
I NTERRUPTS BACK ON
MOV
DX,201H
FLUSH OTHER INPUTS
PUSH
CX
PUSH
AX
MOV
CX,4FFH
COUNT
TEST_CORD_6:
IN
AL,DX
TEST
AL,OFH
LOOPNZ
TEST_CORD_6
POP
AX
POP
CX
POP
OX
SET COUNT
RET
RETURN
TEST_CORD
ENDP
JOY_STICK
ENDP
WAIT
PROC
NEAR
PUSH
OS
SAVE
CALL
DDS
TEST
RTC_WAI T_FLAG,Ol
TEST FOR FUNCTI ON ACTI VE
JZ
WAIT_l
POP
OS
STC
SET ERROR
JMP
C1_ F
RETURN
WAIT_':
CLI
NO I NTERRUPTS ALLOWED
IN
AL,DA1H
ENSURE INTERRUPT UNMASKED
AND
AL,OFEH
OUT
OA1H,AL
MOV
USER_FLAG_SEG, OS
, SET UP TRANSFER TABLE
MOV
~~~~Hi~~?C~FFSET
RTC_WAI jJLAG
MOV
MOV
RTC_LOW, OX
;
MOV
RTC_WAITJLAG,01
SET ON FUNCT I ON ACT I VE SW ITCH
MOV
AL,OBH
ENABLE PI E
OUT
CMOS_PORT,AL
IN
AND
~t: g;~~_PORT+l
OR
AL,040H
PUSH
AX
MOV
AL,OBH
OUT
CMOS_PORT ,AL
POP
AX
OUT
CMOS_PORT+1, AL
STI
ENABLE INTERRUPTS
WAIT_2:
TEST
RTC_WAI T_FLAO, 060H
CHECK FOR END OF WAtT
JZ
WAIT 2
MOV
RTC_WAI T_FLAG, 0
SET FUNCT I ON INACTIVE
POP
OS
JMP
C1_ F
WAIT
ENoP
PAGE
tNT 15 (FUNCTION 87H - MOVE BLOCK)
PURPOSE:
THIS BIOS FUNCTION PROVIDES A MEANS TO TRANSFER A BLOCK
Of' STORAGE TO AND FROM STORAGE ABOVE THE 1 MEG ADDRESS
RANGE IN VIRTUAL (PROTECTED) MODE.
;------
-
-----
--
---
-
-
. .
--
-----­
ENTRY REQU I REMENTS:
ES: 51
POINTS TO A DESCRIPTOR TABLE (GOT) BUILT BEFORE
INTERRUPTING TO THIS FUNCTION.
THESE OEseR I PTORS ARE
ARE USED BY THIS FUNCTION TO PERFORM THE BLOCK MOVE.
THE SOURCE AND TARGET DESCRIPTORS BUILT BY THE USER
MUST HAVE THE SEGMENT LENGTH
0:
2
*
CX -
1 OR GREATER.
THE DATA ACCESS RIGHTS BYTE WILL BE SET TO CPLO-R/W(93H);
THE 24 BIT ADDRESS (BYTE HI, WORD LOW) WILL BE SET
TO THE TARGET/SOURCE.
THE DESCRI PlORS ARE DEFINED AS FOLLOWS:
BIOS 1 5-149

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents