free hit counter

IBM XT 5160 Technical Reference page 198

Hide thumbs Also See for XT 5160:
Table of Contents

Advertisement

;------ 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 NORMALL Y
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

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents