IBM 5170 Technical Reference page 263

Hide thumbs Also See for 5170:
Table of Contents

Advertisement

,,-.....,
041A
F6 06 0097 R 30
501 :
TEST
041 F
75 00
JNZ
0421
E2 F7
LOOP
SOl
OTHERWISE WAIT
0423
FE CB
502:
DEC
8l
DECREMENT RETRY COUNT
0425
75 DO
JNZ
SOO
RETRY TRANSM I SS I ON
0427
80 OE 0097 R 80
OR
kB_FLAG_2, kB_ERR ; TURN ON TRANSM I T ERROR FLAG
042C
E6 07
JMP
SHORT S04
RETRIES EXHAUSTED FORGET TRANSMISSION
042E
f6 06 0097 R 10
SD3 :
TEST
k6JLAG_2,k6_FA;
SEE IF THIS IS AN ACkNOWLEDGE
0433
74 EE
JZ
SD2
;
I F NOT, GO RESEND
0435
0436
0437
59
56
58
504:
pOP
pop
POP
ex
BX
AX
RESTORE REG
I
STERS
.
0438
C3
RET
RETURN, GOOD TRANSM I SS I ON
0439
SND_DATA [NDP
THIS ROUTINES TURNS ON THE MODE INDICATORS.
~ND=LED-PRO~----NEAR-----------------·----------------------------------.------
0439
0439
FA
CLI
, TURN OFF INTERRUPTS
043A
f6 06 0097 R 40
TEST
KB_F'lAG_2,KB_PR_LED, CHECK FOR MODE INDICATOR UPDATE
043F
75 47
JNZ
Sl1
; DONT UPDATE AGAIN I F UPDATE UNDERWAY
0441
80 OE 0097
R
40
OR
kB FLAG 2,K8 PR LED , TURN ON UPDATE IN PROCESS
0446
BO 20
MOV
AL--;-EO I -
-
-
END OF I NTERRUPT COMMAND
0448
E6 20
OUT
020H, AL
SEND COMMAND TO I NTERRUPT CONTROL PORT
044A
EB 00
JMP
SHORT SLO
GO SEND MODE I NO I CATOR COMMAND
044C
SNO_LED1:
044C
FA
ell
• TURN OFF
j
NTERRUPTS
0440
F6 06 0097 R 40
TEST
KB_FLAG_2, KB_PR_LED ; CHECK FOR MODE I
NO I
CATOR UPDATE
0452
75 34
JNZ
SLl
; DONT UPDATE AGAIN I F UPDATE UNDERWAY
0454
80 DE 0097 R 40
OR
K6 FLAG 2, KB PR LED , TURN ON UPDATE
I
N PROCESS
0459
BO ED
SLO:
MOV
AL--;-LED tMD
-
-
LED CMD BYTE
01~5B
E8 03 FD R
CALL
SND_DATA
SEND DATA TO KEYBOARD
045E
fA
ell
045F
E8 048A R
CALL
MAKE_LED
; GO FORM INDICATOR DATA BYTE
0462
80.26 0097 R f8
AND
KB_fLAG_2,OF8H
,CLEAR MODE INDICATOR BITS
0467
08 06 0097 R
OR
KB_FLAG_2,AL
; SAVE PRESENT INDICATORS STATES FOR NEXT TIME
0466
F6 06 0097 R 80
TEST
KB_FLAG_2, KB_ERR ; TRANSM I T ERROR DETECTED
0470
75 OB
JNZ
SL2
I
F YES, BYPASS SECOND BYTE TRANSMISSION
0472
E8 03FD
R
CALL
SND_DATA
SEND DATA TO KEYBOARD
0475
fA
ell
TURN OFF
J
NTERRUPTS
0476
f6 06 0097
R
80
TEST
KB_FLAG_2,KB_ERR ;
TRANSMIT ERROR DETECTED
047B
74 06
JZ
SL3
I F NOT, DONT SEND AN ENABLE COMMAND
0470
BO F4
MOV
AL, KB_ENABLE
,GET KEYBOARD eSA ENABLE COMMAND
047f
E8 03 FO R
CALL
SND_DATA
; SEND DATA TO KEYBOARD
0482
fA
ell
;
TURN OfF INTERRUPTS
0483
80 26 0097 R 3 f
SL3;
AND
KB_FLAG_2,NOT(KB_PR_LED+KB_ERR) • TURN Off MODE INDICATOR
UPDATE AND TRANSMI T ERROR FLAG
0488
FB
SLl :
STI
ENABLE INTERRUPTS
0489
C3
RETURN TO CALLER
048A
TH
1 5
ROUTI NES FORMS THE DATA BYTE NECESSARY TO TURN ON/OFF
THE MODE INDICATORS
~AKE=LED-;ROC---NEAR-----------------------------------------------------------
048A
0118A
51
PUSH
CX
;
SAVE
cx
048B
AO 0017 R
MOV
AL,KBJLAG
; GET CAPS
&:
NUM LOCK INDICATORS
048E
24 70
AND
AL,CAPS_STATE+NUM_STATE+SCROLL_STATE ;
ISOLATE INDICATORS
0490
B1 04
MOV
CL,4
;
SH I
FT
COUNT
0492
02 CO
ROL
AL,CL
;
SHI
FT
BITS OVER TO TURN ON INDICATORS
0494
24 07
AND
AL,07H
; MAKE SURE ONLY MODE BITS ON
0496
59
0497
C3
~~~
CX
; RETURN TO CALLER
0498
MAKE_LED ENOP
;
----
-
------------------------------------------------------------------------ ­
THIS ROUTINES HANDLES TRANSMISSION OF COMMAND AND DATA BYTES
TO THE KEYBOARD CONTROLLER.
0498
SHIP IT PROC
NEAR
0498
50
-
PUSH
AX
;
SAVE DATA TO SEND
;------- WAIT FOR COMMAND TO ACCEPTED
0499
FA
ell
D I SABLE INTERRUPTS
049A
26 C9
SU8
CX,cx
CLEAR COUNTER
049C
SIO:
049C
E4 64
IN
AL, STATUS_PORT
;
049E
A8 02
TEST
AL,INPT_BUf_FULL
04AO
EO FA
LOOPNZ
SIO
WAIT FOR COMMAND TO BE ACCEPTED
pop
04A2
58
GET DATA TO SEND
04A3
E6 64
OUT
SEND TO KEYBOARD CONTROLLER
04A5
F8
STI
ENABLE INTERRUPTS AGAIN
04A6
e3
RET
RETURN TO CALLER
04A7
~~6~-1
T
~~g~
04A7
[NO
Keyboard 5-121

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents