IBM 5170 Technical Reference page 261

Hide thumbs Also See for 5170:
Table of Contents

Advertisement

;------ DURING PAUSE INfERVAL, TURN CRT BACK ON
02CA
02CF
0201
0204
0207
0208
80 3E 0049 R 07
74 07
BA 0308
AO 0065 R
EE
K4D:
eMP
JE
MOV
MOV
OUT
CRT MODE,7
KLJO­
DX,03D8H
AL, CRT_MODE_SET
OX,AL
IS TH I S BLACK AND WH I TE CARD
YES,
NOTH I NG TO DO
PORT FOR COLOR CARD
GET THE VALUE OF THE CURRENT MODE
SET THE CRT MODE, SO THAT CRT I S ON
PAUSE-LOOP
END IF
0208
0208
0200
02DF
02E2
F6 06 0018 R 08
75 F9
E9 01EC R
K40A:
K41 :
TEST
JNZ
JMP
KB FLAG 1,HOLD STATE
K40A
-
-
K27A
LOOP UNT I l
FLAG TURNED OF F
I NT[HHU PT_H£TURN_NO_EO I
NO- PAUSE
~
;------ TEST SPECIAL CASE KEY 55
3C 37
75 06
138 7200
E9 0375 R
eMP
JNE
MOV
JMP
AL,55
K42
AX, 111+*256
K57
;
;
;
NOT-KEY-55
START/STOP PRINTING SWITCH
BUFFER FILL
; -----­ SET UP TO TRANSLATE CONTROL SH I FT
02EC
02EC
02EF
02Fl
02f'3
02f'6
BB 0000 E
3C 3B
72 7E
BB 0000 E
E9 03CC R
MOV
eMP
JD
MOV
JMP
BX, OFfSET K8
Al,59
K56
BX, OFFSET K9
'63
NOT-KEY-55
SET UP TO TRANSLATE CTl
IS IT IN TABLE
YES, GO TRANSLATE CHAR
CTL-TABLE-TRANSLATE
CTL TABLE SCAN
TRANSLATE_SCAN
; -----­ NOT I N CONTROL SH I FT
02F9
K44:
NOT-CTL-SHI FT
02F9
02FB
02FO
0302
3C 117
73 33
F6 06 0017 R 03
7
1 ,
62
eMP
JAE
TEST
JZ
AL,71
TEST FOR KEYPAD REGION
K48
,
HANDLE KEYPAD REG I ON
KB FLAG, LEFT SH I FT+R I GHT SH I
FT
K54
-
-
TEST FOR SHIFT STATE
; -----­ UPPER CASE, HANDLE SPEC I AL CASES
0304
0306
0308
030B
3C OF
75 05
B8 OFOO
EB 68
eMP
JNE
MOV
JMP
Al,15
K45
AX, 1 5*256
SHORT K57
BACK TAB KEY
NOT~BACK-TAB
SET PSEUDO SCAN CODE
BUfFER_FILL
0300
0300
030F
3C 37
75 10
K45 :
eMP
JNE
AL,55
K46
NOT-BACK-TAB
PR I NT SCREEN KEY
NOT - PR I NT-SCREEN
; -----­
! SSUE 'NTERRUPT TO I NO I CATE PR 1 NT SCREEN FUNGT! ON
~
0311
0313
0316
0318
031A
031B
0310
031E
BO AE
E8 OLJ98 R
BO 20
E6 20
55
CD 05
50
E9 01(7 R
MOV
CALL
MOV
OUT
PUSH
INT
POP
JMP
ilL, ENA_KBD
SHIP_IT
AL, EOI
020H,AL
BP
5H
BP
K27
1 NSURE KEYBOARD
I S ENABLED
EXECUTE ENABL£
END OF CURRENT INTERRUPT
SO FURTHER TH I NGS CAN HAPPEN
SAVE PO INTER
ISSUE PR I NT SCREEN INTERRUPT
RESTORE POI NTER
GO BACK WITHOUT EO I OCCURR ING
0321
0321
0323
0325
0328
3C 3B
72 06
BB 0000 E
E9 03CC R
K46:
eMP
J '
MOV
JMP
AL,59
K47
ex,
OFFSET K12
K63
NOT - PR I NT -SCREEN
FUNCT I ON KEYS
NOT -UPPER- FUNCT
I ON
upp[I{ CASE PSEUDO SCAN CODES
TIl.ANSLA TE _SCAN
BB 0000 E
EB 41
K47:
MOV
JMP
BX, OFFSET Kl1
SHORT K56
NOT -UPN-R- FUNCT ION
POINT TO UPPER CASE TABLE
OK,
Tf{ANSLATE THE CHAR
;---~~~
KEYPAD KEYS, MUST TEST NUM LOCK FOR DETERMINATION
0330
0330
0335
0337
033C
F6 06 0017 R 20
75 ?1
F6 06 0017 R
03
75 21
K48:
TEST
JNZ
TEST
JNZ
;
KEYPAD-REGION
KB_FLAG,NUM_.STATE
;
ARE WE IN NUM_LOCK
K52
; TEST FOR SURE
KB_FLAG,LEFT_SHIFT+RIGHT_SHIFT
; ARE WE IN SHIFT STATE
K)3
IF SH I FlED,
REALLY NUM STATE
;
-----­
BASE CASE FOR KEYPAD
033E
K49:
BASE-CASE
033E
03 1 10
0342
031,1~
0346
0348
034B
3C LJA
74 OC
3C 4E
74
00
ZC 47
BS 0000 E
E9 03CE R
eMP
JE
eMP
JE
SUB
MOV
JMP
AL,7LJ
K50
AL,78
K51
AL,71
BX, OFFSET K15
K6
J ,
SPECIAL CASE FOR A COUPLE OF KEYS
MINUS
CONVERT OR I GIN
BASE CASE TABLE
CONVERT TO PSEUOO SCAN
034E
0351
B8 4A20
ES 22
K50:
MOV
JMP
AX, 7 1 .*256+' -'
SHORT K57
M I
NUS
BUFFER_F ILL
0353
0356
B6 4E2S
EB 10
K51 :
MOV
JMP
AX, 78*256+' +'
SHORT K57
PLUS
BUFFER_F I LL
;------ MIGHT BE NUM LOCK,
TEST SHIFT STATUS
0358
0358
0350
f'6 06 0017
R
03
75 OF
K52:
TEST
JNZ
; ALMOST-NUM-STATE
KB_FLAG, LEFT_SH
I FT+R I GHT_SH I FT
K49
SH I FTED
TE~1?
OUT OF NUM STATE
~
035F
035F
0361
0364
2C 116
SS 0000 E
EB OB
K53 :
SUB
MOV
JMP
AL,70
BX,OFFSET K14
SHORT K56
R~ALLY
NU~.
STATE
CONVERT ORIGI N
NUM STATE TABLE
TRANSLATE_C:iAR
;------ PLAIN OLD LOWER CASE
0366
0366
0368
036A
036C
3C 3B
72 04
BO 00
EB 07
K)4:
GMP
JB
MOV
JMP
AL,59
K55
AL,O
SHORT K57
NOT-SHIFT
TEST fOR
FU~:CT
I ON KEYS
NOT -LOWER- FUNCT I ON
SCAN CODE IN AH ALREADY
BUFFER_FILL
036E.
036E
SS 0000 E
K55:
MOV
eX,OFFSET Kl0
NOT-LOWER-Fl!I,GT ION
LC TABLE
; -----­ TRANSLATE THE CHARACTER
Keyboard 5-119

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents