EasyManua.ls Logo

IBM PC CONVERTIBLE

IBM PC CONVERTIBLE
275 pages
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...
NO
OVERFLOW
0208
PREP60:
0208
B7
00
BH,O
;
CLEAR
BH
020A
8A
IE
OOBC
R
020E
88 87
OOBO
R
02E2
88
OE
OOBC
R
MOV
MOV
MOV
MOV
BL,KILNMLTAIL ;
MOV
ORIGINAL
TAIL
POINTER
TO
BL
KB~MLBUFFER[BX]
,AL ;
BUFFER
SIC
AT
ORIGINAL
TAIL
POINTER
KB~MLTAIL,CL
;
UPDATE
TAIL
POINTER
,
;
ATTEMPT
TO
DEQUEUE
KEYSTROKE
AND
TRANSLATE
02E6
PREP70:
02E6
F6
06
00B4
R
10
TEST
JNZ
CALL
JMP
KB~MLCNTL.XLATE_BUSY
; IS A
XLATION
ALREADY
IN
PROGRESS?
02EB
75
06
02ED
E8
0319
R
02FO
E9
0050
R
02F3
02F3
E9
0050
R
02F6
PREP90
JUMP
I F
ACTIVE
KYBD_XL
T
XLATE
AND
WRITE
TO
PORT
60
NMIH_EXIT
EXIT
KEYBOARD
DATA
ROUTINE
PREP90:
JMP
KYBD_PREP
ENDP
GO
TO
1ST
LEVEL
INTERRUPT
HANDLER
PROCEDURE
END
Keyboard Clear
NMI
(KYBD_CLR)
02F6
02F6
IE
02F7
07
*******************************************************************
KYBD_CLR
-
KEYBOARD
CLEAR
NMI
PROCESSING
DESCRIPTION:
THIS
ROUTINE
IS
JUMPED
TO
FROM
THE
FIRST
LEVEL
NMI
INTERRUPT
HANDLER
WHEN
THE
INTERRUPT
IS
THE
RESULT
OF
PORT
60
BEING
CLEARED.
A
BUFFER
EMPTY
TEST
IS
MADE
TO
DETERMINE
I F
THERE
ARE
MORE
KEY
SCAN
CODES
TO
BE
XLATED.
IF
THE
BUFFER
IS
NOT
EMPTY
A
CALL
IS
MADE
TO
THE
XLATE
ROUTINE
TO
PROCESS
THE
KEY
AT
THE
BUFFER
HEAD.
THE
FIRST
LEVEL
NMI
INTERRUPT
HANDLER
SAVES
REGISTERS
AND
MOVES
THE
ADDRESS
OF
"DATA"
TO
THE
DS
REGISTER
BEFORE
IT
JUMPS
TO
THIS
ROUTINE.
ON
EXIT
THE
FIRST
LEVEL
INTERRUPT
HANDLER
RESTORES
REGISTERS.
INPUT:
P60JlOLD_BYTE
OUTPUT:
P60_HOLD_BYTE
RESET
P60_LOADED
RESET
CLILKEYBD
OF
PORT
6IH
RESET
INTERNAL
ROUTI
NES:
KYBDJL T
EXTERNAL
ROUTINES:
NONE
REGISTERS
MODIFIED:
NIA
INTERRUPTS:
LEFT
AS
ARE
NORMAL
EXIT:
JMP
NMIH_EXIT
*******************************************************************
NEAR
ASSUME
DS:DATA
ASSUME
ES:DATA
PUSH
DS
POP
ES
DATA
POINTER
TO
ES
ROM BIOS 2-37

Related product manuals