IBM AT 5170 Technical Reference page 307

Table of Contents

Advertisement

19M Personal Computer MACRO Assembler
Vers,on 2.00
1-7
KYBO ----- 06/10/85
KEYBOARD BIOS
06-10-85
665
666
SUSPEND SYSTEM OPERATION
ILOOP)
TILL NEXT KEY CLEARS HOLD STATE FLAG
667
666
03EO
K40;
PAUSE-LOOP
669
03EO F6 06 0016 R 08
TEST
ICtKB FLAG 1 ,HOLD STATE
CHECK HOLD STATE FLAG
690
03F2 15 F9
.JNZ
K40-
-
-
LOOP UNTIL FLAG TURNED OFF
691
692
03F4 E9 02F8 R
...IMP
K27A
;
I NTERRUPT_RETURN_NO_EO I
693
694
;-----
TEST SPEC I AL CASE KEY 55
695
696
03F1
K41 :
NO-PAUSE
691
03F1 3C 31
eMp
AL,SS
698
03F9 15 06
JNE
.42
NOT-KEY-55
699
03FB 86 1200
MOV
AX,1I4·H
START/STOP PRINTING SWITCH
100
03FE E9 048A R
JMP
.57
8UFFER_F I LL
701
702
SET UP TO TRANSLATE CONTROL SHIFT
703
104
040 I
K42 :
NOT-KEY-55
105
040
I
BB 0000 E
MOV
BX ,OFF SET K8
SET UP TO TRANSLATE CTL
106
0404 3C 38
eMP
AL,59
IS
IT
IN TABLE
101
0406 12 lE
JB
.56
YES, GO TRANSLATE CHAR
706
CTL -T ABLE-TRANSLATE
109
0408 88 0000 E
MOV
BX ,OFFSET K9
CTL TABLE SCAN
710
0408 E9 04E
I
R
JMe
.63
TRANSLATE_SCAN
711
712
NOT
I N CONTROL SH I FT
713
714
040E
K44:
NOT-CTL-SHIFT
115
040E 3C 47
eMP
AL.71
TEST FOR KEYPAD REGION
116
0410 73 33
JAE
K48
; HANDLE KEYPAD REG I ON
717
0412 F6 06 0017 R 03
TEST
718
0417 7462
JZ
~~~JLAG'LEFT_SH1FT+R1GH~_~~~~TFOR
SHIFT STATE
719
720
;
-----
UPPER CASE. HANDLE SPEC I AL CASES
721
722
0419 3C OF
eMP
AL,I5
BACK TAB KEY
723
041
B
75 05
JNE
.45
NOT-SACK-TAB
124
0410 B8 OFOO
MOV
AX,15·H
SET PSEUDO SCAN CODE
725
0420 EB 68
JMP
SHORT K51
BUFFERflLL
726
727
0422
K45t
NOT-BACK-TAB
726
0422 3C 37
eMP
AL,55
PR I NT SCREEN KEY
729
0424 75
10
JNE
.46
NOT-PR INT-SCREEN
730
73'
;-----
ISSUE INTERRUPT TO INOICATE PRINT SCREEN FUNCTION
732
733
0426 BO AE
MOV
AL.ENA KBO
I NSURE KEYBOARD I S ENA8LED
734
0428 E8 0595 R
CALL
SHIP
IT
EXECUTE ENABLE
735
0428 80 20
MOV
AL,EOI
END OF CURRENT
INTERRUPT
736
0420 E6 20
OUT
INTAOO,AL
SO FURTHER TH I NGS CAN HAPPEN
737
042F 55
PUSH
BP
SAVE PO INTER
738
0430 CD 05
1NT
05H
ISSUE PRINT SCREEN INTERRUPT
739
0432 50
POP
BP
RESTORE POINTER
740
0433 E9 02F3 R
JMP
.27
GO BACK WITHOUT EO I OCCURR I NG
741
742
0436
K46:
NOT-PR I NT- SCREEN
743
0436 3C 38
eMP
AL,59
FUNCT I ON KEY S
744
0438 72 06
JB
.47
NOT-UPPER-FUNCT
J
ON
745
043A
88
0000 E
MOV
eX,OFFSET K12
UPPER CASE PSEUDO SCAN CODES
746
0430 E9 04E 1 R
JMP
TRANSLATE_SCAN
'63
747
748
0440
K47 :
NOT-UPPER-FUNCT I ON
749
0440 BB 0000 E
MOV
ex ,OFFSET K I I
POINT TO UPPER CASE TABLE
750
0443 EB 41
JMe
SHORT K56
OK. TRANSLA TE THE CHAR
751
752
KEYPAD KEYS, MUST TEST NUM LOCK FOR DETERMINATION
753
754
0445
K48:
755
0445 F6 06 0017
R
20
TEST
756
044A 75 21
JNZ
757
044C F6 06 0017 R 03
TEST
756
0451
75 21
JNZ
759
760
;
-----
BASE CASE FOR KEYPAD
761
762
0453
K49:
I BASE-CASE
763
764
0453 3C 4A
eMP
AL,74
SPECIAL CASE FOR A COUPLE OF KEYS
765
0455
T4
OC
JE
.50
MINUS
766
0451 3C 4E
eMP
AL,78
767
0459 74 00
JE
.51
768
0458 2C 41
SUB
AL.71
CONVERT ORIGIN
169
0450 BB 0000 E
MOV
BX,OFFSET K15
BASE CASE TABLE
77 0
0460 E9 04E3 R
JMP
'64
CONVERT TO PSEUDO SCAN
771
0463
K50,
77 2
0463 B8 4A2D
MOV
AX,14·H+'-'
MINUS
773
0466 EB 22
JMP
SHORT K57
BUFFER_F I LL
774
0468
K51:
775
0468 88 4E2B
MOV
AX,78·H+'+'
PLUS
776
0468 EB
10
JMP
SHORT K51
BUFFER_FILL
777
776
MIGHT BE NUM LOCK, TEST SHIFT STATUS
779
180
0460
K52:
;
ALMOST-NUM-STATE
181
0460 F6 06 0017 R 03
TEST
782
0412 15 OF
JNZ
~~~]·LAG,LEFT_SHIFT+RIGH~_~~:~~ED
TEMP OUT OF NUM STATE
763
784
0474
K53:
REALLY NUM STATE
785
0474 2C 46
SUB
AL,70
CONVERT ORTG I N
786
0476 BB 0000 E
MOV
eX,OFFSET KI4
NUM STATE TABLE
787
0419 EB 09
JOP
SHORT K56
TRANSLATE_CHAR
766
769
PLA I N OLD LOWER CASE
790
791
0478
K54:
NOT-SH I FT
792
0478 3C 38
eMP
AL,S9
TEST FOR FUNCTION KEYS
793
0470 72 04
JB
.55
NOT-LOWER-FUNCT
I
ON
794
047F BO
00
MOV
AL.O
SCAN
CODE IN
AH ALREADY
795
0461
EB 01
JMP
SHORT K57
BUFFER_FILL
796
797
0483
K55:
NOT-LOWER-FUNCT ION
798
0483 BB 0000 E
MOV
BX,OFFSET KIO
LC TABLE
KYBD
5-135

Advertisement

Table of Contents
loading

Table of Contents