EasyManua.ls Logo

IBM PC CONVERTIBLE - Page 122

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...
0463
0463
E8
0497 R
0466 26:
8A
04
0469
22
C4
046B
02
EO
0460
BA
CE
046F
02
CO
0471
E9
016F R
0474
0474
0474
50
0475
50
0476
E8
0497
0479
02
E8
047B
22
C4
0470 26:
8A
DC
0480
58
0481
F6
C3
80
0484
75
00
0486
F6
04
0488
22
CC
048A
OA
C1
048C
048C
26:
88
04
048F
58
0490
E9
016F R
0493
0493
32
C1
0495
EB
F5
0497
0497
0497
53
0498
50
0499
BO
28
0498
52
049C
80
E2
FE
049F
F6
E2
READ
DOT
--
WRITE
DOT
THESE
ROUTINES
WILL
WRITE
A
DOT,
OR
READ
THE
DOT
AT
THE
INDICATED
LOCATION
ENTRY
--
EXIT
ox
=
ROW
(0-199)
(THE
ACTUAL
VAL
DEPENDS
ON
THE
MODE)
CX
COLUMN
(
0-639)
(
THE
VALUES
ARE
NOT
RANGE
CHECKED)
AL
OOT
VALUE
TO
WRITE
(1,2
OR
4 BITS
OEPENOING
ON
MODE,
REQ'D
FOR
WRITE
DOT
ONLY,
RIGHT
JUlTIFIED)
BIT 7
OF
AL=l
INDICATES
XOR
THE
VAL
INTO
LOCATION
OS
DATA
SEGMENT
ES
REG
EN
S
EGM
ENT
AL
=
DOT
VALUE
READ,
RIGHT
JUSTIFIED,
READ
ONLY
--- --- - - - - - - - -
--
- - - - - - - -
--
- - - - - - - - - - - - - - - - - - - -
--
- - - --- - -- -
--
- -
--
ASSUME
CS:
ROMCODE,
OS:
DATA,
ES:
DATA
READ_DOT
PROC
NEAR
CALL
R3
;
FIND
BYTE
POSITION
OF
DOT
MOV
AL,ES:-SI-
GET
THE
BYTE
AND
AL,AH
MASK
OFF
OTHER
BITS IN
BYTE
SHL
AL,
CL
LEFT
JUSTI
FY
THE
VALUE
MOV
CL,DH
GET
NUMBER
OF
BITS
IN
RESULT
ROL
AL,CL
RIGHT
JUSTIFY
THE
RESULT
JMP
VIDEO_RETURN
RETURN
FROM
VIDEO
10
READ_DOT
ENDP
WRITE_DOT
PROC
NEAR
PUSH
AX
SAVE
DOT
VALUE
PUSH
AX
TWICE
CALL
R3
FIND
BYTE
POSITION
OF
DOT
SHR
AL,
CL
SHIFT
TO
SET
UP
OUT
BITS
AND
AL,AH
;
STRI
P
OFF
THE
OTHER
BITS
MOV
CL,ES:-SI-
GET
THE
CURRENT
BYTE
POP
BX
RECOVER
XOR
FLAG
TEST
BL
,80H IS
IT
ON
JNZ
R2
YES,
XOR
THE
DOT
NOT
AH
SET
THE
MASK
TO
REMOVE
THE
AND
CL,AH
INDICATED
BITS
OR
AL,CL
OR
IN
THE
NEW
VALUE
OF
BITS
R1
: ;
FINISH_DOT
MOV
ES:-SI-,AL
RESTORE
THE
BYTE
IN
MEMORY
POP
AX
JMP
V
IDEO_RETURN
RETURN
FROM
V
IDEO
10
R2:
XOR_DOT
XOR
AL,CL
EXCLUSIVE
OR
THE
DOTS
JMP
R1
FINISH
UP
THE
WRITING
WRITE_DOT
ENDP
R3
PROCEDURE
THIS
SUBROUTINE
DETERMINES
THE
REGEN
BYTE
LOCATION
OF
THE
INDICATED
ROW
COLUMN
VALUE
IN
GRAPHICS
MODE.
ENTRY
--
EXIT
--
R3
DX
=
ROW
VALUE
(0-199)
CX
=
COLUMN
VALUE
(0-639)
SI 0
OFFSET
INTO
REGEN
BUFFER
FOR
BYTE
OF
INTEREST
AH
=
MASK
TO
STRIP
OFF
THE
BITS
OF
INTEREST
CL
0
BITS
TO
SHIFT
TO
RIGHT
JUSTIFY
THE
MASK
IN
AH
DH
= # BITS
IN
RESULT
PROC
NEAR
PUSH
BX
;
SAVE
BX
DURING
OPERATION
PUSH
AX
;
SAVE
AL
DURING
OPERATION
DETERMINE
1ST
BYTE
IN
INDICATED
ROW
BY
MULTIPLY
ROW
VALUE
BY
40
LOW
BIT
OF
ROW
DETERMINES
EVEN/ODD,
80
BYTES/ROW
MOV
AL,40
PUSH
OX
SAVE
ROW
VALUE
AND
DL,OFEH
STRIP
OFF
ODD/EVEN
BIT
MUL
DL
AX
HAS
ADDRESS
OF
1ST
BYTE
ROM BIOS 2-97

Related product manuals