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...
01
B9
C3
01BA
01BA
01BA
89
OE
0060
01BE
B4
20
01CO
E8
0000 E
01C3
B4
OA
01C5
81
3E
0063
01CB
74
33
RET
LCD~OVE
ENDP
SELCTYPE
INPUT
OUTPUT
R 0304
THIS
ROUTINE
SETS
THE
CURSOR
VALUE.
SPECIAL
HANDLING
OCCURS
FOR
THE
LCD
CURSOR.
IF
THE
LCD
IS
THE
CURRENT
DISPLAY
THE
FOLLOWING
OCCURS:
FOR
THE
DISPLAY
NO
CURSOR
MODE
(BIT
5 = 1 & BIT 6 = 0
OF
THE
CH
REGISTER)
IS
CONVERTED
TO
THE
LCD
CONTROLLER
DISPLAY
NO
CURSOR
MODE
(CX=0808H).
ALSO,
THE
BLINKING
MODE
BITS
(BIT
5
AND
BIT 6
OF
THE
CH
REGISTER)
ARE
TURNED
OFF.
I F
LCD
CONFIGURED
AS
MONO
IS
THE
CURRENT
DISPLAY
THEN
THE
LCDC
REGISTERS
FOR
LCD
CURSOR
START
AND
LCD
CURSOR
END
ARE
REGISTERS
23
AND
24
RESPECTIVELY.
AND
THE
CURSOR
VALUES
ARE
RESCALED
TO
FIT IN
AN
8x8
CHARACTER
BOX.
THIS IS
BECAUSE
THE
MONO
CHARACTER
BOX
IS 9x14
BUT
THE
LCD
HAS
AN
8x8
CHARACTER
BOX.
(ex)
HAS
CURSOR
VALUE
eH-START
LINE,
CL-STOP
LINE
(OS)
=
DATA
SEGMENT
PHYSICAL
CURSOR
SET
SELCTYPE
PROC
NEAR
MOV
CURSOR~OD
E,
CX
MOV
AH,
RTCDSP
_CON
CALL
GELRTCREG
MOV
AH,10
CMP
ADDR_6845,03D4H
JE
SEL2
SAVE
CURSOR
VAL
IN
DATA
AREA
GET
LCD
CONFIGURATION
FROM
RTC.
CURSOR
START
REGISTER
ARE
WE
IN
CGA
MODE
JUMP
TO
CGA
MODE
TEST
;
MONO
IS
CURRENT
MODE
01CD
A8
02
01CF
74
45
OlD1
B4
17
OlD3
F6
C5
40
0106
75
05
0108
F6
C5
20
OlDB
75
36
0100
80
E5
9F
OlEO
80
FD
00
01E3
77
31
01E5
80
F9
00
01E8
77
2C
01
EA
50
01EB
BB
080E
01EE
8A
C5
01FO
E8
021C
R
01F3
8A
E8
01F5
8A
C1
01F7
E8
021C
R
01FA
8A
C8
01FC
58
01FD
EB
17
90
0200
0200
A8
01
0202
74
12
0204
F6
C5
40
0207
74
05
TEST
AL,
DSP
_MLCD
IS
LCD
AS
MONO
CRNT
DISPLAY?
JZ
SELC
NO,
JUMP
ON
IT
I S
MONO
MNTR
MOV
AH,OllH
LCDC
CUR
ST
REG
AS
MONO
TEST
CH,40H
IS
BIT 6
ON
JNZ
SELl
YES
,
JUMP
ON
TEST
CH
,20H IS BIT 5
ON
(NO
CURSOR)
JNZ
SEL4
YES,
JUMP
TO
RST
TO
LCDC
VAL
SELl:
AND
eH,
09
FH
TURN
OFF
BLINK
(BIT
5 & 6)
WHEN
THE
LCD
AS
MONO
IS
CURRENT
MODE
THE
CURS
IS
RESCALED
TO
FIT IN
A 8x8
CHARACTER
BOX.
THE
CURSOR
WILL
ONLY
BE
RESCALED
IF
CURS
START
(CH)
AND
CURSOR
END
(CL)
VALUES
ARE
8ETWEEN
VALUES
0 - 13.
CMP
CH,13 INVALID
CURSOR
START
VALUE?
JA
SELC
YES,
PROCESS
AS
IS.
CMP
CL,
13
I
NVALI
0
CURSOR
END
VALUE?
JA
SELC
YES,
PROCESS
AS
IS
PUSH
AX
SAVE
LCDC
CURSOR
START
REG
MOV
BX,080EH
BH
-
MULT,
BL
-
DIV
FACTOR
MOV
AL,CH
RESCALE
CURSOR
START
CALL
SELRESCALE
MOV
CH,AL
NEW
CUROSR
START
MOV
AL,CL
RESCALE
CURSOR
END
CALL
SELRESCALE
MOV
CL,AL
NEW
CUROSR
START
POP
AX
RESTORE
LCDC
CUSR
START
REG
JMP
SELC
CALL
TO
OUTPUT
ex
REG
CGA
IS
CURRENT
MODE.
SEL2:
TEST
AL,DSP_CLCD
IS
LCD
AS
CGA
CURRENT
DSPL
Y?
JZ
SELC
NO,
ITS
CGA
MONITOR-
AS
IS
TEST
CH,40H
IS
BIT 6
ON
JZ
SEL3
NO,
JUMP
ON
2-88 ROM BIOS

Related product manuals