EasyManua.ls Logo

IBM XT 5160 - Page 194

IBM XT 5160
420 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
PUSH
SI
CLI
MOV
BX,
[OBUFFER_TAIL);
GET THE
"IN
TO"
POINTER
TO
THE
BUFFER
MOV
S I
,BX
; SAVE A COPY I N CASE
BUFFER
NOT
FULL
CALL
K4
; BUMP
THE
PO I
NTER
TO SEE I F
BUFFER
I S
FULL
CMP
BX,
[OBUFFER
HEAD);
WILL
THE
BUFFER
OVERRUN I F
WE
STORE TH
IS?
.JE
K502
-,
YES - I NFORM
CALLER
OF ERROR
MOV
[S
I )
,CX
;
NO
-
PUT
THE
ASC I I I SCAN CODE I NTO
BUFFER
MOV
[OBUFFER
TAIL)
,BX;
AD.JUST
"IN
TO"
POINTER
TO
REFLECT
CHANGE
SUB
AL,AL
- ;
TELL
CALLER
THAT
OPERATION
WAS
SUCCESSFUL
.JMP
K504
; SUB I
NSTRUCT
I
ON
ALSO
RESETS
CARRY
FLAG
;
------
ASC I I
STATUS
5-47
1-2
01-10-86
BUFFER
FULL
I
NO
I
CAT
I
ON
RETURN TO
CALLER
WITH
STATUS
IN
AL
GET THE
EXTENDED
SHIFT
STATUS
FLAGS
GET SYSTEM
SHIFT
KEY
STATUS
MASK
ALL
BUT
SYS
KEY
BIT
SH
I
FT
THE
SYSTEM
KEY
BIT
OVER
TO
BIT
7
POSITION
GET
SHIFT
STATES
BACK
~~~~~
N~~~
~~~A~~:
~6'
B
7~;DT~i~T;H
AND I
NS_SH
I
FT
GET
RIGHT
CTL
AND
AL
T
ELIMINATE
LC
EO AND
LC
EI
OR
THE
SH
I
FT-FLAGS
TOGETHER
GET THE
SHIFT
STATUS
FLAGS
RETURN TO
CALLER
TEST
FOR CHARACTER I N
BUFFER
(EXTENDED)
RETURN I F
BUFFER
EMPTV
SAVE
ZF
FROM
TEST
ROUT I NE TO
XLATE
FOR
EXTENDED
CALLS
GIVE
I T TO
THE
CALLER
TEST
FOR CHARACTER I N
BUFFER
RETURN I F
BUFFER
EMPTY
SAVE
ZF
FROM
TEST
ROUTINE
TO
XLATE
FOR STANDARD
CALLS
CARRY
CLEAR
MEANS
PASS
VAL
I 0 CODE
I
NVAL
I 0 CODE FOR
TH
I S
TYPE
OF
CALL
THROW
THE
CHARACTER
AWAY
GO
LOOK FOR
NEXT
CHAR,
I F ANY
RESTORE
ZF
FROM
TEST
RECOVER REG I STER
RECOVER SEGMENT
THROW
AWAY
FLAGS
KEYBOARD
(01/10/86)
AL,OIH
AH
,OKB
FLAG
I
AH,SYS-SHIFT
CL,5
-
AH,CL
AL
,OKB
FLAG
I
AL,OllToOIIB
AH,AL
AL
,OKB
FLAG
3
AL,OOOOIIOOB
AH,AL
AL,OKB
FLAG
KIO_EXTT
MOV
MOV
AND
MOV
SHL
MOV
AND
OR
MOV
AND
OR
MOV
.JMP
CALL
K2S
.JZ
K2B
PUSHF
CALL
K
lOS
XLA
T
.JNC
K2A-
-
POPF
CALL
K I S
.JMP
K2
POPF
POP
CX
POP BX
POP
OS
RET
2
CALL
K2S
.JZ
K2B
PUSHF
CALL
K
10
E
XL
AT
.JMP
SHORT-K2A
K502:
K504:
;
------
WR
I
TE
TO KEYBOARD
BUFFER
K500:
K3:
;
------
SH
I
FT
STATUS
K3E:
K2A:
K2B:
K2:
K2E:
115
116
I
17
003B
E8
00C4
R
118
003E74
18
119
0040
9C
120
0041
E8
0001
R
121
0044
EB
II
122
123
0046
E8
00C4
R
124
0049
74
00
125
004B
9C
126
004C
E8
OODC
R
127
004F
73
06
128
0051
90
129
0052
E8
009E
R
130
0055
EB
EF
131
132
0057
90
133
0058
59
134
0059
5B
135
005A
IF
136
005B
CA
0002
137
138
139
140
005E
141
005E
8A
26
0018
R
142
0062
80
E4
04
143
0065
BI
05
144
0067
02
E4
145
0069
AO
00
I 8 R
146
006C
24
73
147
006E
OA
EO
148
0070
AO
0096
R
149
0073
24
OC
150
0075
OA
EO
151
0077
AO
0017
R
152
007A
EB
A9
153
154
155
156
007C
157
007C
56
158
0070
FA
159
007E
8B
IE
OOIC
R
160
0082
8B
F3
161
0084
E8
0 I
14
R
162
0087
3B
IE
OOIA
R
163
008B
74
OB
164
0080
89
OC
165
008F
89
IE
OOIC
R
166
0093
2A
CO
167
0095
EB
03
90
168
0098
169
0098
BO
0 I
170
009A
171
009A
FB
172
009B
5E
173
009C
EB
87
174
175
009E
IBM
Personal
Computer
MACRO
Assembler
Version
2.00
KEYBRD - - - 0 I
110/86
KEYBOARD ADAPTER B I
OS

Table of Contents

Related product manuals