IBM XT 5160 Technical Reference page 281

Hide thumbs Also See for XT 5160:
Table of Contents

Advertisement

; ----- TEST FOR RESET KEY SEQUENCE
(CTL AL T DEL)
SOURCE
(BIOS FOR THE IBM PERSONAL COMPUTER XT)
1 I /08/82
; ----- TOGGLED SH I FT KEY,
TEST FOR
I ST MAKE OR NOT
;----- CTL-ALT-DEL HAS BEEN FOUND, DO I/O CLEANUP
SCAN CODE OF 0
ZERO OUT THE FIELD
WAS THE
I NPUT=O
I NTERRUPT RETURN
IT WASN' T~ SO PUT
I N BUFFER
BREAK - TOGGLE
I NVERT MASK
I ND I CA TE NO LONGER DEPRE SSED
I NTERRUPT_RETURN
NO-SHIFT-FOUND
TEST FOR BREAK KEY
NOTHING FOR BREAK CHARS FROM HERE ON
ARE WE IN HOLD STATE
BRANCH AROUND TEST I F NOT
10 NUMBERS ON KEYPAD
TEST-RESET
,
ARE WE
I N CONTROL SH I FT ALSO
; NO RESET
;
SHTFT STATE IS THERE,
TEST KEY
; NO_RESET
;
SET FLAG FOR RESET FUNCT I ON
; JUMP TO POWER ON DIAGNOSTICS
; NO-HOLD-STATE
;
ARE WE
I N ALTERNATE SH I FT
;
JUMP IF AL TERNA TE SH I FT
; JUMP I F NOT AL TERNA TE
SH I FT - TOGGLE
CHECK CTL SHIFT STATE
JUMP IF CTL STATE
CHECK FOR
I NSERT KEY
JUMP I F NOT I NSERT KEY
CHECK FOR AL TERNA TE SH I FT
JUMP IF AL TERNA TE SH I FT
CHECK FOR BASE STATE
;
JUMP IF NUM LOCK
I S ON
LEFT SH I FT + RIGHT SH I FT
-
JUMP IF BASE STATE
71,72,73
AL,EOI
020H, AL
; NUMER I C ZERO, NOT
I NSERT KEY
AX,
5230H
; PUT OUT AN ASC I I
ZERO
K57
; BUFFER FILL
; MIGHT BE NUMER I C
KB FLAG, LEFT SHIFT+ RIGHT SHIFT
K20
-
JUMP NUMERIC, NOT INSERT
SH I FT TOGGLE KEY HIT; PROCESS
IT
I S KEY ALREADY DEPRESSED
JUMP I F KEY ALREADY DEPRESSED
INDICATE THAT THE KEY
IS DEPRESSED
TOGGLE THE SHIFT STATE
TEST FOR
I ST MAKE OF I NSERT KEY
JUMP I F NOT I NSERT KEY
SET SCAN CODE
INTO AH,
0
INTO AL
PUT I NTO OUTPUT BUFFER
AL,80H
K26
KB FLAG I ,HOLD STATE
K28
-
AL,NUM KEY
K26
-
; CAN'T END HOLD ON NUM LOCK
KB_FLAG_l ,NOT HOLD_STATE
;
TURN OFF THE HOLD STATE BIT
INTERRUPT-RETURN
TURN OFF INTERRUPTS
END OF I NTERRUPT COMMAND
SEND COMMAND TO I NT CONTROL PORT
I NTERRUPT-RETURN-NO-EO I
ES
DS
DI
S I
DX
CX
BX
AX
KB FLAG, CTL SH I FT
K3T
-
AL,DEL KEY
K31
-
RESET FLAG,
1234H
RESET-
AH,KB FLAG I
K26
-
-
KB FLAG I, AH
KB-FLAG~AH
AL~INS KEY
K26
-
AX, I NS KEY -256
K57
-
KB FLAG, CTL SH I FT
K25
-
AL,
INS KEY
K22
-
~~5FLAG,
AL T_ SH I FT
KB FLAG, NUM_STATE
K2T
KB FLAG,
K22
KB FLAG, AL T SH I FT
K29
-
K38
TEST
JNZ
JMP
TEST
JZ
CMP
JNE
MOV
JMP
DB
; RESTORE STATE
; RETURN,
I NTERRUPTS BACK ON
;
,W I TH FLAG CHANGE
; ----- NOT I N
HOLD STATE, TEST FOR SPEC I AL CHARS
K 18:
TEST
JNZ
CMP
JNZ
TEST
JNZ
K 19:
TEST
JNZ
TEST
JZ
K20:
MOV
JMP
K21 :
TEST
JZ
K22:
TEST
JNZ
OR
XOR
CMP
JNE
MOV
JMP
CMP
JAE
TEST
JZ
CMP
JE
AND
K26:
CLI
MOV
OUT
K27:
POP
POP
POP
POP
POP
POP
POP
POP
IRET
SUPER-SH 1FT-TABLE
DB
16,17,18,19,20,21,22,23
A-Z TYPEWRITER CHARS
MOV
AL , AL T_I NPUT
MOV
AH,O
MOV
ALT INPUT ,AH
CMP
AL,O
JE
K26
JMP
K58
K24:
NOT
AH
AND
KB FLAG I,AH
JMP
SHORT K26
;----- BREAK SHIFT FOUND
K23:
BREAK-SHIFT-FOUND
CMP
AH, SCROLL SH I FT
I S TH I S A TOGGLE KEY
JAE
K24
-
YES, HANDLE BREAK TOGGLE
NOT
AH
I NVERT MASK
AND
KB FLAG, AH
TURN OFF SH I FT BI T
CMP
AL~ALT KEY+80H
IS THIS ALTERNATE SHIFT RELEASE
JNE
K26
-
I NTERRUPT_RETURN
; - - - - -
AL TERNA TE SH I FT KEY RELEASED, GET THE VALUE
I NTO BUFFER
; ----- TEST FOR HOLD STATE
K25:
K28:
K29:
; ----- AL T-I NPUT-TABLE
K30
LABEL
BYTE
DB
82,79,80,81,75,76,77
LOC OBJECT
LINE
1907
1908
1909
E9D9
1910
E9D9 F606170004
1911
E9DE 7565
1912
E9EO 3C52
1913
E9E2 7522
1914
E9E4 F606170008
1915
E9E9 755A
1916
E9EB F6061 70020
1917
E9FO 750D
1918
E9F2 F606170003
1919
E9F7 740D
1920
1921
E9F9
1922
E9F9 B83052
1923
E9FC E9D60 I
1924
E9FF
1925
E9FF F606170003
1926
EA04 74F3
1927
1928
EA06
1929
EA06 84261800
1930
EAOA 754D
1931
EAOC 08261800
1932
EA 10 30261700
1933
EAI43C52
1934
EA 16 7541
1935
EA 18 B80052
1936
EAIB E9B701
1937
1938
1939
1940
EA IE
1941
EA1E 80FCIO
1942
EA21
731 A
1943
EA23 F6D4
1944
EA25 20261700
1945
EA29 3CB8
1946
EA2B 752C
1947
I~t~
1950
EA2D AO 1900
1951
EA30 B400
1952
EA32 88261900
1953
EA36 3COO
1954
EA38 741F
1955
EA3A E9A 10 I
1956
EA3D
1957
EA3D F6D4
1958
EA3F 20261800
1959
EA43 EB14
1960
1961
1962
1963
EA45
1964
EA45 3C80
1965
EA47 7310
1966
EA49 F606180008
1967
EA4E 7417
1968
EA50 3C45
1969
EA52 7405
1970
EA54 80261800F7
1971
EA59
1972
EA59 FA
1973
EA5A B020
1974
EA5C E620
1975
EA5E
1976
EA5E 07
1977
EA5F
IF
1978
EA60 5F
1979
EA61
5E
1980
EA62 5A
1981
EA63 59
1982
EA64 5B
1983
EA65 58
1984
EA66 CF
1985
1986
1987
1988
1989
EA67
1990
EA67 F606170008
1991
EA6C 7503
1992
EA6E E99100
1993
1994
1995
1996
EA71
1997
EA71 F606170004
1998
EA76 7433
1999
EA78 3C53
2000
EA7A 752F
2001
2002
2003
2004
EA7C C70672003412
2005
EA82 EA5BEOOOFO
2006
2007
2008
EA87
2009
EA87 52
20 I 0
EA88 4F
EA89 50
EA8A 51
EA8B 4B
EA8C 4C
EA8D 4D
EA8E 47
20 11
EA8F 48
EA90 49
2012
EA91
10
2013
EA92
11
5-134
PC-XT System BIOS (11/08/82)

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents