IBM 5150 Technical Reference page 151

Hide thumbs Also See for 5150:
Table of Contents

Advertisement

LOC OBJ
LINE
SOURCE
E99Q E661
1978
OUT
KB_CTL,AL
E91j1F 66EO
1979
XCHG
AH,Al
I GET BACk ORIGINAL CONTROL
E9Al E661
1. . .
OUT
KB_CTL,AL
, KB HAS BEEN RESET
E9A.3 58
1981
pop
AX
, RECOVER SCAN CODE
E9.604 BAED
1962
Mev
AH,AL
I SAVE SCAN CODE IN AH ALSO
1983
1984
1----- TEST FOR OVERRLN SCAN CODE FROM KEYBOARD
1965
E9...6 3eFF
1986
CMP
AL.OFFH
; IS THIS AN DYE"RRUN CHA.R
E9"8 7503
1987
JHZ
016
I NO. TEST FOR SHIFT KEY
E9AA. E97"02
1988
JMP
062
; BUFFERJUll_BEEP
1989
1990
1----- TEST FOR SHIFT KEYS
1991
E9AD
1992
K16:
I
TEST_SHIFT
E9AD 247F
1993
ANO
AL,07FH
1 TURN OFF THE BREAK BIT
E9"F DE
1994
PUSH
CS
E980 07
l<;l95
POP
ES
I ESTABLISH ADDRESS OF SHIFT TABLE
E981 BF7EE8
1996
MOY
DI. OFFSET K6
I
SHIFT
KE¥ TABLE
E964 890800
1997
MOY
CX,K6L
I
LENGTH
E987 F2
1998
REPNE
SCAse
, LOOK THROUGH THE TABLE FOR A I1ATCH
E988 AE
E989 8"C4
1999
tIDy
AL,AH
, RECOVER SCAN CODE
E9BB 7403
2000
JE
017
I JUMP IF HATCH FOlHJ
E9BD E98500
2001
JMP
025
I IF NO MATCH. THEN SHIFT HOT FOUND
2002
2003
I
~----
SHIFT KEY FOlNl
2004
E9CO 81EF7FE8
2005
K17=
SUB
DI.OFFSET K6+1
I ADJUST PTA TO SCAN CODE mCH
E9C4 2E8AA586E8
2006
tIDy
AH.CS:K7tDIJ
I GET MASK INTO AH
E9C9 A880
2007
TEST
AL.80H
; TEST FOR BREAK KEY
E9CB 7551
2008
JHZ
on
i BREAK_SHIFTJOUNl
2009
2010
;----- SHIFT HAKE FOUND, DETERMINE SET OR TOGGLE
2011
E9CD 80FCI0
2012
CMP
AH.SCROLL_SHIFT
E9DO 7307
2013
JAE
016
IF SCROLL SHIFT OR ABOVE. TOGGLE KEY
2014
2015
; ----­ PLAIN SHIFT KEY, SET SHIFT ON
2016
E9D2 08261700
2017
OR
KB_FlAG.AH
; TURN ON SHIFT BIT
E9D6 E98000
2018
JMP
026
I INTERRUPT_RETURN
2019
2020
1----- TOGGLED SHIFT KEY. TEST FOR 1ST HAKE OR NOT
2021
E9D9
2022
K18;
I SHIFT-TOGGLE
E9D9 F606170004
2023
TEST
KB_FlAG. CTl_SHIFT
J CHECK CTl SHIFT STATE
E90E 7565
2024
JHZ
025
; JII1P IF tTl STATE
E9EO 3C52
2025
CMP
AL. INS_KEY
J CHECK FOR INSERT KEY
E9E2 7522
2026
JHZ
022
I JUMP IF NOT INSERT KEY
E9E4 F606170008
2027
TEST
KBJLAG. ALT_SHIFT
I CHECK FOR AlTERNATE SHIFT
E9E9 755A
2028
JHZ
025
i JUHP IF ALTERNATE SHIFT
E9EB F606170020
2029
K19:
TEST
KBJLAG. NUJ",-STATE
I CHECK FOR BASE STATE
E9FO 7500
2030
JHZ
021
I JUMP IF
NUl'1
LOCK IS ON
E9F2 F606170003
2031
TEST
KBJLAG. LEFT_SHIFT+ IHGHT_SHIFT
E9F7 7400
2032
JZ
K22
i
JUMP IF BASE STATE
2033
E9F9
2034
K20:
; NUHERIC ZERO. NOT INSERT KEY
E9F9 B83052
2035
MOY
AX. 5UOH
; PUT OUT AN ASCII ZERO
E9FC E90601
2:036
JMP
057
; BUFFERJIlL
nFF
2:037
K2:1 :
I HIGHT BE HUMERIC
E9FF F606170003
2:038
TEST
KB_FlAG. LEFT_SHIFT+ RIGHT_SHIFT
EA04 74F3
2:039
JZ
02.
; JUMP NUMERIC. NOT INSERT
2040
EA06
2041
K22:
; SHIFT TOGGLE KEY HIT. PROCESS IT
EA06 84261800
2042
TEST
AH.KBJLAG_l
I IS KEY ALREADY DEPRESSED
EAOA 7540
2043
JI~Z
02.
I JUMP IF KEY ALREADY DEPRESSED
EADC 08261800
2044
OR
KB_FLAG_l.AH
; INDICATE THAT THE KEY IS DEPRESSED
EAI0 30261700
2045
XOR
KBJLAG.AH
I TOGGLE THE SHIFT STATE
EA14 3C52
2046
CMP
Al.INS_KEY
; TEST FOR 1ST MAKE OF INSERT KEY
EA16 7541
2:047
JHE
026
• JUMP IF NOT INSERT KEY
EA18 B80052
2048
tIDy
AX .IH5_KEV*256
i SET SCAN CODE INTO AH. 0 INTO Al
EAIB E9B701
2049
JMP
057
I PUT INTO OUTPUT BUFFER
2050
2051
I-~---
BREAK SHIFT FOUND
2052
EAIE
2053
K2:3:
I BREAK-SHIFT-FOlNJ
5-58 System BIOS

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents