EasyManua.ls Logo

IBM XT 5160 - Page 198

IBM XT 5160
420 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
;------
ALTERNATE
SHIFT
KEY
RELEASED,
GET THE
VALUE
INTO
BUFFER
CMP
AL,80H
JAE
K26
TEST
tlKB_FLAG
-
I
,HOLD_STATE
JZ
K28
CMP
AL,NUM_KEY
JE
K26
_1
,NOT
HOLD_STATE
AND
tlKB_FLAG
K26:
AND
tlKB_FLAG_3,NOT
LC_EO+LC_El
K26A:
CLI
MOV
AL,EOI
OUT
020H,AL
K27:
POP
ES
POP
OS
POP
01
POP
S I
POP
OX
POP
CX
POP
BX
POP
AX
IRET
KEYBOARD
(01/10/86)
5-51
RETURN,
I
NTERRUPTS
BACK
ON
WITH
FLAG
CHANGE
CAN'T
END HOLD
ON
NUM
LOCK
; TURN
OFF
THE
HOLD
STATE
BIT
RESET
LAST
CHAR
H.
C.
FLAG
INTERRUPT-RETURN
TURN
OFF
INTERRUPTS
END OF I
NTERRUPT
COMMAND
SEND COMMAND TO I
NTERRUPT
CONTROL PORT
I
NTERRUPT-RETURN-NO-EO
I
RESTORE REG I STERS
AL,
AH
= SCAN CODE
NO-SH
1FT-FOUND
TEST
FOR
BREAK
KEY
NOTH I
NG
FOR BREAK CHARS FROM HERE
ON
ARE
WE
IN
HOLD
STATE
BRANCH AROUND
TEST
I F NOT
SCAN CODE OF 0
ZERO OUT
THE
FIELD
WAS
THE
INPUT
=
O?
I
NTERRUPT
RETURN
IT
WASN'T-;
SO
PUT
I N
BUFFER
BREAK-TOGGLE
INDICATE
NO
LONGER
DEPRESSED
INTERRUPT
_RETURN
NO,
ALL
DONE
2ND
AL
T
OR
CTL?
NO,
HANDLE
NORMALLY
RESET
BIT
FOR
RIGHT
ALT
OR
CTL
CONTINUE
MOVE
THE
MASK
BIT
TWO
POS I T
IONS
RESET
BIT
FOR LEF;T
AL
T
OR
CTL
SAVE SCAN CODE
GET
RIGHT
AL
T &
CTRL
FLAGS
MOVE TO
BITS
1 & 0
PUT
I N
LEFT
AL
T &
CTL
FLAGS
MOVE BACK TO
BITS
3 & 2
F I L TER OUT OTHER
GARBAGE
PUT
RESULT
I N THE
REAL
FLAGS
RECOVER SAVED SCAN CODE
IS
TH
IS
ALTERNATE
SH
I
FT
RELEASE
;
INTERRUPT_RETURN
1-6
01-10-86
AL,ALT
KEY+80H
K26
-
BH,LC
EO
K23A
-
tlKB
FLAG
3,
AH
SHORT
K23B
AH,CL
tlKB
FLAG
I,
AH
AH,AL
-
AL,
tlKB
FLAG
3
AL,CL
- -
AL
,tlKB
FLAG
1
AL,CL
- -
AL,ALT
SHIFT+CTL
SHIFT
tlKB
FLAG,
AL
-
AL,AH
K23D
CMP
JNE
TEST
JZ
AND
JMP
SAR
AND
MOV
MOV
SHR
OR
SHL
AND
OR
MOV
MOV
AL,tlAL
T_INPUT
MOV
AH,O
MOV
tlALT
_INPUT
,AH
CMP
AL,O
JE
K26
JMP K61
K24:
AND
tlKB
FLAG
I,
AH
JMP SHORT
K26
;
------
TEST
FOR HOLD
STATE
K25:
K23D:
K23B:
K23A:
411
0274
11
26
478
479
0276
F6
C7
02
480
0279
74
06
481
027B
20 26
0096
R
482
027F
EB
06
483
0281
02
FC
484
0283
20 26
0018
R
485
0287
8A
EO
486
0289
AO
0096
R
487
028C
02
E8
488
028E
OA
06 00
I 8 R
489
0292
02
EO
490
0294
24
OC
491
0296
08
06
0017
R
492
029A
8A
C4
493
494
029C
3C
B8
495
029E
75
2A
496
497
498
499
02AO
AO
0019
R
500
02A3
B4
00
501
02A5
88
26
00
I 9 R
502
02A9
3C
00
503
02AB
74
10
504
02AD
E9
0519
R
505
506
02BO
507
02BO
20 26
0018
R
508
02B4
EB
14
509
510
511
512
02B6
513
02B6
3C
80
514
02B8
73
10
515
02BA
F6
06
0018
R
08
516
02BF
74
lC
517
02C
I 3C
45
518
02C3
74
05
519
02C5
80
26
0018
R
F7
520
521
02CA
522
02CA
80
26
0096
R FC
523
524
02CF
525
02CF
FA
526
0200
BO
20
527
0202
E6
20
528
529
0204
530
0204
07
531
0205
IF
532
0206
5F
533
0207
5E
534
0208
5A
535
0209
59
536
02DA
5B
537
02DB
58
538
02DC
CF
539
IBM
Personal
Computer
MACRO
Assembler
Version
2.00
KEYBRD - - - 0 I
/10/86
KEYBOARD ADAPTER B I
OS

Table of Contents

Related product manuals