IBM PC CONVERTIBLE Technical Reference page 97

Table of Contents

Advertisement

01FC
01FC
3C 39
01FE
75 05
0200
80 20
0202
E9 0334 R
0205
0205
8F 0000 E
0208
89 OOOA
0208
F2/ AE
0200
75 13
020F
81 EF 0001
0213
AO 0019 R
0216
B4 OA
0218
F6 E4
021A
03 C7
021C
A2 0019
021F
E9 0396
0222
0222
C6 06 0019 R 00
0227
89 001A
022A
F2/ AE
022C
75 05
022E
BO 00
0230
E9 0334 R
0233
0233
3C 02
0235
72 DC
0237
3C OE
0239
73 08
023B
80 C4 76
023E
80 00
0240
E9 0334
0243
0243
3C 3B
0245
73 03
0247
0247
E9 0396 R
024A
024A
3C 47
024C
73 F9
024E
BB 0000
0251
E9 037C
0254
0254
F6 06 0017 R 04
0259
74 65
K31 :
CMP
JNE
MOV
JMP
AL,57
K32
AL,
t
,
K57
LOOK FOR KEY PAD ENTRY
K32 :
MOV
MOV
REPNE
JNE
SUB
MOV
MOV
MUL
ADD
MOV
JMP
DI,OFFSET K30
CX,10
SCASB
K33
DI,OFFSET K30+1
AL, AL LI NPUT
AH,10
AH
AX,DI
AL LINPUT ,AL
KYBDLEXIT
LOOK FOR SUPERSHI FT ENTRY
K33 :
MOV
MOV
REPNE
JNE
MOV
JMP
AL LINPUT,O
CX,26
SCASB
K34
AL,O
K57
CHECK FOR TOP ROW KEYS
K34:
CMP
JB
CMP
JAE
ADO
MOV
JMP
AL,2
K35
AL,14
K35
AH,118
AL,O
K57
CHECK FOR Fl - FlO
K35 :
CMP
JAE
K36:
JMP
K37:
CMP
JAE
MOV
JMP
K38:
TEST
JZ
AL, FLKEY
K37
AL,ll
K36
BX,OFFSET K13
K63
KBJLAG, CTL_SHI FT
K44
NO-RESET
TEST FOR SPACE KEY
NOT THERE
SET SPACE CHAR
BUFFERJILL
--- ALT + (KEYPAD 0-9) MAKE --
ALT -KEY-PAD
ALT -INPUT-TABLE
LOOK FOR ENTRY US I NG KEYPAD
LOOK FOR MATCH
NO--AL LKEYPAD
01 NOW HAS ENTRY VALUE
GET THE CURRENT BYTE
MUL TIPLY BY 10
ADD IN THE LATEST ENTRY
STORE IT AWAY
THROW AWAY THAT KEYSTROKE
-- AL T + A-Z TYPEWRITER MAKE -
NO-ALT -KEYPAD
ZERO PREVIOUS ENTRY IN INPUT
01, ES ALREADY POINTING
LOOK FOR MATCH IN ALPHABET
NOT FOUND, FN KEY OR OTHER
ASCI I CODE OF ZERO
PUT IT IN THE BUFFER
-- ALT + PCl (1-9,-,=) MAKE -
KEY I N TOP ROW?
NO, JMP
NO, JMP
BUILD PSEUDO SC
BUFFER_FILL
--- ALT + (Fl - FlO) MAKE ---
SC POTENTIAL FUNCTION KEY?
YES, JMP
NO.
THIS KEY NOT SUPPORTED
IN ALT_SHIFT.
EOI RETURN.
SC IN FI-FlO REGION?
NO, JMP TO EXIT
ALT+(Fl-FIO) EXT ASCII TABLE
GO XLATE & BUILD PSEUDO SC
««<
»»>
««<NOT IN ALLSHIFT
»>>>
IN CTL_SHIFT?
NO, JMP
-------------------
-
--
- - - - - - - - - - - -
- -
- - - - - - -
-
- - - - - - - - -
-
- - - - --
025B
3C 46
0250
75 18
; IN
CTL_SHIFT
STATE
W/O ALLSHIFT
CMP
JNE
AL, SCROLL_KEY
K39
; TEST FOR BREAK
; NO- BREAK
CTL+BREAK ENTERED
-
CLEAN UP
&
DO INT IBH - CTL + BREAK MAKE
025F
8B IE 0080 R
0263
89 IE 001A R
0267
89 IE 001C R
026B
C6 06 OOll R 80
0270
CD lB
0272
2B CO
2-72 ROM BIOS
MOV
MOV
MOV
MOV
INT
SUB
BX,8UFFER_START
BUFFER_HEAD,BX
BUFFER_TAIL, BX
BIOS_BREAK,80H
lBH
AX,AX
RESET BUFFER TO EMPTY
TURN ON BIOS_BREAK BIT
BREAK INTERRUPT VECTOR
PUT OUT DUMMY CHARACTER

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents