IBM PC CONVERTIBLE Technical Reference page 96

Table of Contents

Advertisement

0184
KYBD9_EXITl:
0184
E9 0396 R
JMP
KY BDLEX IT
I NTERRUPLRETURN
; ----- TEST FOR Fll OR Fl2 MAKE
0187
0187
B4 85
0189
3C 57
018B
74 06
0180
FE C4
018F
3C 58
0191
75 32
K24_0:
MOV
CMP
JE
INC
CMP
JNE
AH, FlLBASL.ASCI I
AL,FlLMAKE3C
K24_l
AH
AL, FlLMAKE_SC
K25
AH HAS BASE Fll EXT ASCII
F1l MAKE?
YES, JUMP
AH HAS BASE F12 EXT ASCI I
F12 MAKE?
NO, JUMP
;
-- -- ----- - -- -
----
--
- --
-- --
-- ------ - - ---- --
-
--
-- - -- --
--
- -- -- --- - -- --
; F1l / F12
FOUND
-
CHECK FOR
ALT+,
CTL+,
SHIFT+ F1l/F12
0193
0193
F6 06 0018 R 08
0198
74 08
019A
80 26 0018 R F7
019F
E9 0396 R
01A2
01A2
F6 06 0017 R OF
01A7
74 17
01A9
80 C4 06
OIAC
F6 06 0017 R 08
OlBl
75 00
01B3
80 EC 02
01B6
F6 06 0017 R 04
OIBB
75 03
OlBD
80 EC 02
OICO
OICO
2A CO
01C2
E9 0364 R
K24_l:
TEST
JZ
AND
JMP
K24_5:
TEST
JZ
ADD
TEST
JNZ
SUB
TEST
JNZ
SUB
K24_7 :
SUB
JMP
KB_FLAG_l,HOLD_STATE ; HOLD STATE?
K24_5
; NO, AROUND
KB_FLAG_l,NOT HOLD_STATE; YES, ENTERED KEY ONLY
KYBDLEXIT
; RESETS HOLD STATE
KB_FLAG ,AL LSHI FT +CTL_SHI FT +LEFLSHI FT +RIGHT _SH I FT
K24_7
AH,6
KB_FLAG, AL LSH I FT
K24_7
AH,2
KB-FLAG, CTL_SHI FT
K24_7
AH,2
AL,AL
K6l
ANY SHIFT STATES?
NO, AROUND WITH BASE Fll/Fl2
AH HAS ALT+F1l/F12 EXT ASCII
ALT SHIFT CASE?
YES, JUMP
AH HAS CTL +Fll/F12 EXT ASCII
CTL SH I FT CAS E?
YES, JUMP
AH HAS SHIFT+Fll/F12 EXT ASCII
CLEAR AL TO MAKE AX EXTNDED SC
GO BUFFER Fll/F12 EXT ASCI I
- -- -
--
---
--
-- ----
-- -- -- ---
,
; TEST FOR HOLD STATE
01C5
K25:
NO-SHI FT -FOUND
01C5
8A EO
MOV
AH,AL
RESTORE AH AFTER Fll/ F12 TEST
01C7
3C 80
CMP
AL,80H
8REAK SC?
01C9
73 B9
JAE
KYBDLEXITl
; YES, EOI EXIT
; ««««<
)»»>>
; <
NO BREAK CODES PAST HERE
»
; ««««<
»»»)
OICB
F6 06 0018 R 08
TEST
KBJLAG....l,HOLD_STATE ; ARE WE IN HOLD STATE
0100
74 OC
JZ
K28
; BRANCH AROUND TEST I F NOT
0102
3C 45
CMP
AL,NUM-KEY
0104
74 AE
JE
KYBDLEXITl
; CAN' T END HOLD ON NUtLLOCK
0106
80 26 0018 R F7
AND
KB_FLAG_l,NOT HOLD3TATE ; TURN OFF HOLD STATE BIT
OIDB
E9 0396 R
JMP
KYBDLEXIT
NOT IN
HOLD STATE, TEST FOR SPECIAL CHARS
OlOE
K28:
; NO-HOLD-STATE
OlOE
F6 06 0017 R 08
TEST
KB_FLAG,AL LSHI FT
; ARE WE IN ALTERNATE SHI FT
01E3
75 03
JNZ
K29
; JUMP IF ALTERNATE SH 1FT
01E5
EB 60 90
JMP
K38
; JUMP I F NOT ALTERNATE
;
- --
-----
--- -- --- -- -- ---
----
--- --
----
-- --- - - - --
--
-- -- -- - --
01E8
01E8
F6 06 0017 R 04
OlEO
74 00
OIEF
3C 53
01F1
75 09
K29:
TEST
JZ
CMP
JNE
KB_FLAG,CTL_SHI FT
K3l
AL,DEL_KEY
K3l
TEST -RESET
ARE WE IN CONTROL SHI FT ALSO
NO_RESET
SHI FT STATE THERE, TEST KEY
NO_RESET
ClL-ALT -DEL
ENTERED, DO I/O CLEANUP FOR SOFT START
,
01F3
C7 06 0072 R 1234
01F9
E9 0000 E
MOV
JMP
RESELFLAG, l234H
; SET FLAG FOR RESET FUNCTION
START
; JUMP TO POWER ON DIAGNOSTICS
ROM BIOS 2-71

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents