IBM XT 5160 Technical Reference page 283

Hide thumbs Also See for XT 5160:
Table of Contents

Advertisement

;----- UPPER CASE, HANDLE SPECIAL CASES
SOURCE
(B I OS FOR THE I BM PERSONAL COMPUTER XT)
1 1 /08/82
;----- KEYPAD KEYS, MUST TEST NUM LOCK FOR DETERMINATION
BASE-CASE
SPEC I AL CASE FOR A COUPLE OF KEYS
MINUS
TRANSLATE -CHAR
CONVERT OR I GIN
CONVERT THE SCAN CODE TO ASC I I
NOT-KEY-55
SET UP TO TRANSLATE CTL
I SIT I N TABLE
CTL -TABLE-TRANSLATE
YES, GO TRANSLATE CHAR
CTL -TABLE-TRANSLATE
CTL TABLE SCAN
TRANSLATE_SCAN
BUFFER-F I LL
I S TH I S AN
I GNORE CHAR
YES, DO NOTH I NG WITH IT
LOOK FOR -
I
PSEUDO SCAN
NEAR _ INTERRUPT_RETURN
PAUSE-LOOP
CONVERT OR I GIN
BASE CASE TABLE
CONVERT TO PSEUDO SCAN
PLUS
BUFFER _F I LL
MINUS
BUFFER FILL
NOT-KEY-55
START/STOP PRINTING SWITCH
BUFFER_F I LL
LOOP UNT I L FLAG TURNED OFF
I NTERRUPT RETURN NO EO I
NO-PAUSE -
- -
NOT-SHIFT
TEST FOR FUNCT I ON KEYS
NOT-LOWER-FUNCT I ON
SCAN CODE
IN AH ALREADY
BUFFER FILL
NOT-LOWER-FUNCT I ON
LC TABLE
AX. 78·256+' +'
SHORT K57
AX, 74·256+' -.
SHORT K57
AL
CS:K 1 I
AL,70
BX,OFFSET K14
SHORT K56
;
ALMOST-NUM-STATE
KB FLAG, LEFT SH I FT +R I GHT SH I FT
K49
-
I"
SHIFTED TEMP OUT OF NUM STATE
; REALLY NUM STATE
; CONVERT ORIGIN
; NUM STATE TABLE
;
TRANSLATE_CHAR
KB FLAG 1 ,HOLD STATE
K40
-
-
K27
AL,55
K42
AX,114·256
K57
; KEYPAD-REG I ON
KB_FLAG,NUM_STATE
;
ARE WE
IN NUM LOCK
K52
;
TEST FOR SURE-
KB FLAG,LEFT SHIFT+RIGHT SHIFT
;
ARE WE IN SHIFT STATE
K53
-
I"
IF SHIFTED, REALLY NUM STATE
AL,74
K50
AL,78
K51
AL,71
BX ,OFFSET K 15
SHORT K64
AL,-
1
K59
AH,-I
K59
NOT-CTL-SH I FT
AL, 7 1
TEST FOR KEYPAD REG I ON
K48
; HANDLE KEYPAD REG I ON
KB FLAG, LEFT SH I FT +R I GHT SH I FT
K54
-
I"
TEST FOR SH I FT STATE
TEST
JNZ
JMP
CMP
JAE
TEST
JZ
TEST
JNZ
TEST
JNZ
MOV
JMP
TEST
JNZ
SUB
MOV
JMP
CMP
JE
CMP
JE
SUB
MOV
JMP
CMP
JE
CMP
JE
CMP
JNE
MOV
JMP
MOV
JMP
DEC
XLAT
SET UP TO TRANSLATE CONTROL SH I FT
; ----- TEST SPEC I AL CASE KEY 55
; ----- NOT IN CONTROL SHIFT
CMP
AL,15
BACK TAB KEY
JNE
K45
NOT-BACK-TAB
MOV
AX,15·256
SET PSEUDO SCAN CODE
JMP
SHORT K57
BUFFER FILL
K45:
NOT-BACK-TAB
CMP
AL,55
PR I NT SCREEN KEY
JNE
K46
NOT-PR I NT-SCREEN
ISSUE I NTERRUPT TO I ND I CA TE PR I NT SCREEN FUNCT I ON
MOV
AL,EOI
END OF CURRENT INTERRUPT
OUT
020H, AL
SO FURTHER TH I NGS CAN HAPPEN
INT
5H
ISSUE PR I NT SCREEN INTERRUPT
JMP
K27
GO BACK WITHOUT EO I OCCURR ING
K46:
NOT-PR I NT-SCREEN
CMP
AL,59
FUNCTION KEYS
JB
K47
NOT-UPPER-FUNCT I ON
MOV
BX, OFFSET K 12
UPPER CASE PSEUDO SCAN CODES
JMP
K63
TRANSLATE SCAN
K47:
NOT-UPPER=FUNCT I ON
MOV
BX, OFFSET K 1 I
POINT TO UPPER CASE TABLE
JMP
SHORT K56
OK,
TRANSLATE THE CHAR
CMP
AL,59
JB
K55
MOV
AL,O
JMP
SHORT K57
K55:
MOV
BX, OFFSET K I 0
K42:
MOV
BX, OFFSET K8
CMP
AL,59
JB
K56
K43:
MOV
BX, OFFSET K 9
JMP
K63
K48:
; ----- BASE CASE FOR KEYPAD
K49:
K50:
K41:
K53:
K44:
; ----- PLA I N OLD LOWER CASE
K54:
; ----- TRANSLATE THE CHARACTER
K56:
; - - - - -
PUT CHARACTER
I NTO BUFFER
K57:
K40:
K51:
;----- MIGHT BE NUM LOCK, TEST SHIFT STATUS
K52:
LOC OBJECT
LINE
EB40
2107
EB40 F606 I 80008
2108
EB45 75F9
2109
EB47 E914FF
21 10
EB4A
211 I
2112
2113
2114
EB4A 3C37
2115
EB4C 7506
2116
EB4E B80072
2117
EB51 E98100
2118
2119
2120
2121
EB54
2122
EB54 BB8EE8
2123
EB57 3C3B
2124
2125
EB59 7276
2126
EB5B
2127
EB5B BBC8E8
2128
EB5E E9BCOO
2129
2130
2131
2132
EB61
2133
EB61
3C47
2134
EB63 732C
2135
EB65 F606170003
2136
EB6A 745A
2137
2138
2139
2140
EB6C 3COF
2141
EB6E 7505
2142
EB70 B8000F
2143
EB73 EB60
2144
EB75
2145
EB75 3C37
2146
EBH 7509
2147
2148
2149
2150
EB79 B020
2151
EB7B E620
2152
EB7D CD05
2153
EB7F E9DCFE
2154
EB82
2155
EB82 3C3B
2156
EB84 7206
2157
EB86 BB55E9
2158
EB89 E99100
2159
EB8C
2160
EB8C BBIBE9
2161
EB8F EB40
2162
2163
2164
2165
EB91
2166
EB91 F606170020
2167
EB96 7520
2168
EB98 F606170003
2169
EB9D 7520
2170
2171
2172
2173
EB9F
2174
EB9F 3C4A
2175
EBA 1 740B
2176
EBA3 3C4E
2177
EBA5 740C
2178
EBA7 2C47
2179
EBA9 BB76E9
2180
EBAC EB71
2181
EBAE
2182
EBAE B82D4A
2183
EBBI EB22
2184
EBB3
2185
EBB3 B82B4E
2186
EBB6 EBI D
2187
2188
2189
2190
EBB8
2191
EBB8 F606170003
2192
EBBD 75EO
2193
EBBF
2194
EBBF 2C46
2195
EBCl BB69E9
2196
EBC4 EBOB
2197
2198
2199
2200
EBC6
2201
EBC6 3C3B
2202
EBC8 7204
2203
EBCA BOOO
2204
EBCC EB07
2205
EBCE
2206
EBCE BBE I E8
2207
2208
2209
2210
EBDI
2211
EBDI FI;:C8
2212
EBD3 2ED7
2213
2214
2215
2216
EBD5
2217
EBD5 3CFF
2218
EBD7 741 F
2219
EBD9 80FCFF
2220
EBDC 741 A
2221
2222
5-136
PC-XT System BIOS (11/08/82)

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents