IBM PC CONVERTIBLE Technical Reference page 94

Table of Contents

Advertisement

0083
F9
0084
CD 15
0086
73 60
0088
8A EO
STC
INT
JNC
MOV
AH,AL
PRE SET CARRY FOR INTERCEPT CHECK
IF NO CARRY THEN VECTOR INTERCEPT
ELSE PROCESS KEY HERE:
SAVE SCAN CODE IN AH ALSO
KEYPAD /,
*
MAKES
008A
F6 06 009
R 02
008F
74 21
0091
80 36 0096 R 02
0096
80 FC 35
0099
74 05
0098
80 FC 37
009E
75 12
OOAO
OOAO
F6 06 0018 R 08
00A5
75 03
00A7
E9 0320 R
OOAA
80 26 0018 R F7
OOAF
E9 0396 R
TEST
JZ
XOR
CMP
JE
CMP
JNE
K6_1:
TEST
JNZ
JMP
K6_5:
JMP
KB_FLAL3, LCHC
K9_1
KB_FLAL3, LCHC
AH, P60_SLASH_SC
K6_1
AH, P60J.STRICSC
K9_1
HAS AN EOH 8EEN PROCESSED?
NO, JUMP
YES, RESET FLAG
KEYPAD / KEY?
YES, JUMP
KEYPAD
*
KEY?
NO, JUMP
KLFLAL1,HOLD_STATE ; IN HOLD STATE?
K6_5
; YES,AROUND
K55
; NO,JUMP LEAVING /,
*
AS IS
AND
KLFLAG_1,NOT HOLD_STATE; RST HLD ST, DISCARD KEY
KY8DLEXIT
; EXIT INT9 ROUTINE
-----
-
-------------
- ---
,
; HIDDEN CODE
-
EOH
-
00B2
3C EO
KL1:
CMP
AL,HIDN_CODE_EO ; IS P60 SC A HIDDEN CODE?
00B4
75 08
K1O_1
NO, JUMP
00B6
80 OE 0096 R 02
JNE
OR
JMP
KBJLAG_3,LCHC
; SET FLAG
OOBB
E9 0396 R
OOBE
3C FF
OOCO
75 03
00C2
E9 0386 R
00C5
00C5
3C 54
00C7
75 10
KYBD9_EXIT
; EXIT ROUTINE
,
--------
- -- - - -
- -- - -
- - - --
; OVERRUN SC
-
FFH
,
K10_1:
CMP
AL ,OFFH
JNZ
K14_S1
JMP
K62
; IS THIS AN OVERRUN CHAR
; NO, TEST FOR SYS REQ KEY
; BUFFERJULL_BEEP
-
- --
- - -
- - - - - - -
- - - - - - - - -
- -
- - - - - - - - - - --
- - -
- - - - -- - - -
- - - --
; SYSTEM REQUEST MAKE/BREAK
(INT 15H
FUNCTION 85H) -
K14_S1 :
CMP
JNE
AL,SYSREQ~AKE
K14_S2
00C9
F6 06 0018 R 04
TEST
KB_FLAL1, SYS_SHI FT
K14_S4
SYSTEM REQUEST KEY MAKE
NO, GO LOOK FOR BREAK
ALREADY DEPRESSED?
OOCE
75 18
0000
80 OE 0018 R 04
0005
BO 00
0007
EB OB
0009
0009
3C 04
OODB
75 OE
0000
80 26 0018 R FB
00E2
BO 01
00E4
00E4
B4 85
00E6
CD 15
00E8
00E8
E9 0396
OOEB
OOEB
24 7F
OOED
OE
OOEE
07
OOEF
BF 0000
00F2
B9 0000
00F5
F2/ AE
00F7
8A C4
00F9
74 03
OOFB
E9 0187
JNZ
OR
MOV
JMP
K14_S2 :
CMP
JNE
AND
MOV
K14_S3 :
MOV
INT
K14_S4 :
JMP
KB_FLAG_1, SYS_SHI FT
AL,OO
SHORT K14_S3
IF SO THEN THROW AWAY MAKE
SET SYS REQ DEPRESSED FLAG
SET MAKE FLAG
GO DO THE INT 15H
AL,SYSREQ_BREAK
SYSTEM REQUEST KEY BREAK?
K16
; NO, GO TEST FOR SHIFT KEYS
KB_FLAG_1,NOT SYS_SHIFT ; RESET SYS REQ DEPRESSED FLAG
AL,Ol
SET REQUEST BREAK FLAG
AH,85H
SET SYSTEM REQUEST NOTI FI CAT! ON
15H
KYBD9_EXIT
EXIT
TEST FOR SHI FT KEYS
K16:
AND
AL,07FH
PUSH
CS
POP
ES
MOV
DI,OFFSET K6
MOV
CX,OFFSET K6L
REPNE
SCASB
MOV
AL,AH
JE
K17
JMP
K24_0
SHI FT KEY FOUND
TESLSHIFT
TURN OFF THE BREAK BIT
ESTABLISH ADDRESS OF SHIFT TABLE
SHI FT KEY TABLE
LENGTH
LOOK THROUGH THE TABLE FOR A MATCH
RECOVER SCAN CODE
JUMP I F MATCH FOUND
IF NO MATCH, THEN SHIFT NOT FOUND
OOFE
81 EF 000
E
K17:
SUB
DI,OFFSET K6+1
ADJUST PTR TO SCAN CODE MTCH
0102
2E: 8A A5 0000 E
MOV
AH,cs:K7[DI]
; GET MASK INTO AH
ROM BIOS 2-69

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents