Chuoung 10 Lap trinh xu ly man hinh
Chuoung 10 Lap trinh xu ly man hinh
1
1Giới thiệu màn hình & việc quản lý màn hình
Giới thiệu màn hình & việc quản lý màn hìnhHiểu được tổ chức của màn hình.
Hiểu được tổ chức của màn hình.So sánh chức năng điều khiển màn hình của INT 10h của
So sánh chức năng điều khiển màn hình của INT 10h của
ROM BIOS với chức năng của INT 21h.
ROM BIOS với chức năng của INT 21h.Biết cách lập trình quản lý màn hình trong ASM.
Biết cách lập trình quản lý màn hình trong ASM. Biết cách lập trình xử lý phím và 1 số ứng dụng của nó.
Biết cách lập trình xử lý phím và 1 số ứng dụng của nó.
LẬP TRÌNH XỬ LÝ MÀN HÌNH & BÀN PHÍM
LẬP TRÌNH XỬ LÝ MÀN HÌNH & BÀN PHÍM
i
e
å
m
t
r
o
n
g
m
a
ø
n
h
ì
n
h
.
H
ì
n
h
Ñ
o
ä
m
a
ø
n
h
ì
n
h
.
H
ì
n
h
a
û
n
h
m
a
t
r
n
g
o
à
ñ
i
e
å
m
ậ
a
û
n
h
m
a
t
r
n
g
o
à
m
1
l
ö
ô
ậ
(
t
h
í
d
u
ï
6
4
0
*
4
8
0
)
.
Ñ
o
ä
p
h
a
â
n
u
ï
6
4
0
*
4
8
0
)
.
Ñ
o
ä
p
h
a
â
n
g
i
a
û
i
t
r
o
n
g
ñ
o
ù
h
l
a
ø
s
o
á
l
ö
ô
ï
n
g
p
i
x
e
l
a
ø
s
o
á
l
ö
ô
ï
n
g
p
i
x
e
l
t
h
e
o
d
o
ø
t
h
e
o
c
o
ä
t
.
d
o
ø
n
g
v
a
ø
v
l
a
ø
s
o
á
Chuoung 10 Lap trinh xu ly man hinh
Chuoung 10 Lap trinh xu ly man hinh
4
4
CARD MÀN HÌNH
Cung cấp các chế độ MH
S i m n g a n g x s i m d c x s m à u ố đ ể ố đ ể ọ ố
(s b it m à u )ố
Độ phân giải
RAM MÀ N HÌNH
Du n g l n gượ
800x600x16 bits = 960 000 bytes 1Mb
1024x 768x32 bits 3.145.728 bytes 4Mb
CH Ế ĐỘ
H AĐỒ ỌChuoung 10 Lap trinh xu ly man hinh
Chuoung 10 Lap trinh xu ly man hinh
5
5
a c h (i,j) = B800:0000+ (i*1 60+j*2)Đị ỉChuoung 10 Lap trinh xu ly man hinh
Chuoung 10 Lap trinh xu ly man hinh
6
6
CGA
CGA
(Color Graphic Adaptor) cho phép hiển thò text và đồ
(Color Graphic Adaptor) cho phép hiển thò text và đồ
họa;
họa;
EGA
EGA
(Enhanced Graphics Adaptor) hiển thò text và đồ
(Enhanced Graphics Adaptor) hiển thò text và đồ
họa với độ phân giải cao hơn. Ngoài ra còn có card
họa với độ phân giải cao hơn. Ngoài ra còn có card
VGA
VGA(Video Graphics Array),
(Video Graphics Array),
SVGA .. .
SVGA .. .Bên cạnh 1 số chức năng do INT 21h của Dos cung cấp,
Bên cạnh 1 số chức năng do INT 21h của Dos cung cấp,
1 số tác vụ được thực hiện trên màn hình nhờ các chức
1 số tác vụ được thực hiện trên màn hình nhờ các chức
năng trong INT 10h như xoá màn hình, đònh vò con trỏ,
năng trong INT 10h như xoá màn hình, đònh vò con trỏ,
thiết lập màn hình ...
thiết lập màn hình ...
0
BACKGROUND BITS FOREGROUND BITS
HIGHT/LOW
BLINKChuoung 10 Lap trinh xu ly man hinh
Chuoung 10 Lap trinh xu ly man hinh
10
10
THUỘC TÍNH MÀN HÌNH
THUỘC TÍNH MÀN HÌNH
Ex : các ký tự màu vàng chanh nhấp nháy
Ex : các ký tự màu vàng chanh nhấp nháy
trên nền màu nâu
trên nền màu nâu
BLINK = 1 0000000B
BLINK = 1 0000000B
RED = 1 00B
RED = 1 00B
MO V BH, (RED SHL 4 ) +YELLO W+BLINK
MO V BH, (RED SHL 4 ) +YELLO W+BLINK
ĐỂ TẠO 1 BYTE THUỘC TÍNH VIDEO TỪ 2 MÀU , TA DÙNG SHL CHUYỂN CÁC
BIT MÀU NỀN SANG TRÁI 4 VI TRÍ.Chuoung 10 Lap trinh xu ly man hinh
Chuoung 10 Lap trinh xu ly man hinh
11
11
HEX VALUE ATTRIBUTE
07H
Normal – thường
87H
Blinking – nhấp nháy
0FH
Bright – sáng
70H
Reverse – đảo thuộc tính
01H
Underline
09H
Bright UnderlineChuoung 10 Lap trinh xu ly man hinh
Chuoung 10 Lap trinh xu ly man hinh
13
13
THUỘC TÍNH MÀN HÌNH (tt)
THUỘC TÍNH MÀN HÌNH (tt)
Bất kỳ 1 thuộc tính nào cũng có thể thêm
Bất kỳ 1 thuộc tính nào cũng có thể thêm
thuộc tính nhấp nháy bằng cách cho bit 7 có trò
thuộc tính nhấp nháy bằng cách cho bit 7 có trò
là 1. Thí dụ normal blinking 87H, bright linking
là 1. Thí dụ normal blinking 87H, bright linking
8Fh.
8Fh.
Bất kỳ 1 thuộc tính nào cũng có thể thêm
à
n
B
i
t
2
,
1
,
0
:
m
a
ø
u
c
h
ư
õ
B
i
t
3
:
EX : 11010010 : 0D2H nền Magenta, chữ Green, nhấp nháy.Chuoung 10 Lap trinh xu ly man hinh
Chuoung 10 Lap trinh xu ly man hinh
15
15
CÁC MODE MÀN HÌNH
CÁC MODE MÀN HÌNH
Các Card màn hình CGA,EGA,VGA cho phép
Các Card màn hình CGA,EGA,VGA cho phép
chuyển đổi Video mode nhờ INT 10h.
chuyển đổi Video mode nhờ INT 10h.
Các trình ứng dụng thường dùng INT 10h để
tìm Video mode hiện hành.
Ex: 1 ứng dụng thường muốn thể hiện đồ họa
với độ phân giải cao (640x200) phải kiểm tra
chắc chắn rằng MT hiện đang sử dụng đang
dùng Card màn hình CGA,VGA hoặc EGA.Chuoung 10 Lap trinh xu ly man hinh
Chuoung 10 Lap trinh xu ly man hinh
16
16
CÁC MODE MÀN HÌNH
CÁC MODE MÀN HÌNH
Có 2 chế độ làm việc của màn hình : text và đồ họa.
Có 2 chế độ làm việc của màn hình : text và đồ họa.
Chế độ màn hình :
Chuoung 10 Lap trinh xu ly man hinh
18
18
TRANG MÀN HÌNH (VIDEO PAGE)
TRANG MÀN HÌNH (VIDEO PAGE)
Tất cả các Card CGA đều có khả năng lưu trữ
nhiều màn hình text gọi là các trang màn hình
(video page) trong bộ nhớ. Riêng card mono chỉ
hiển thò 1 trang – trang 0. Số trang phụ thuộc vào
mode màn hình.
Trong card màn hình màu, ta có thể ghi vào 1
trang này trong khi hiển thò trang khác hoặc
chuyển đổi qua lại vò trí giữa các trang. Các trang
được đánh số từ 0 đến 7. Chuoung 10 Lap trinh xu ly man hinh
Chuoung 10 Lap trinh xu ly man hinh
19
19
TRANG MAØN HÌNH (VIDEO PAGE)
TRANG MAØN HÌNH (VIDEO PAGE)
soá trang mode adaptor
0 07h monochrome
0-7 00h – 01h CGA
0-3 02h-03h CGA
0-7 02h-03h EGA
0-7 0Dh EGA
0-3 0Eh EGA
0-1 0Fh, 10h EGA
Ví d : t h i t l p c h v n b n m à u ụ ế ậ ế độ ă ả
XOR AH, AH
MOV AL, 3 ; c h v n b n ế độ ă ả
m à u 80 x 25
INT 1 0H Truy xuất thiết bị xuất chuẩn (màn hình) Chuoung 10 Lap trinh xu ly man hinh
Chuoung 10 Lap trinh xu ly man hinh
23
23
Chức năng AH = 1, ngắt 10H
Vào : AH = 1,
CH = dòng quét đầu, CL = dòng quét
cuối
THAY I SIZE CON TRĐỔ Ỏ
MÀ N HÌNH
Ví dụ : thiết lập con trỏ với kích thước lớn nhất
MOV AH, 1
MOV CH, 0 ; dòng bắt
đầu
MOV CL, 13 ; dòng kết
thúc
INT 10H
Ch c n n g AH = 3, n g t 1 0Hứ ă ắ
Và o : AH = 3, BH = s h i u t ran g ố ệ
Ra : DH = d ò n g , DL = c t ,ộ
CH = d ò n g q u é t u , CL = d ò n g đầ
q u é t c u i ố
Ví d : Di c h u y n c o n t r lê n m t d ò n g n u n ó ụ ể ỏ ộ ế
kh ô n g d ò n g t rê n c ù n g ở
MOV AH, 3
XOR BH, BH ; t ran g 0
INT 1 0H
OR DH, DH ; d ò n g t rê n c ù n g
DH = 0 ?
JZ e xit
MOV AH, 2 ; c h c n n g d c h ứ ă ị
c o n t r ỏ
DEC DH ; g i m m t d ò n g ả ộ
INT 1 0H
e xit :
LẤY VỊ TRÍ KÍCH THUỚC
CON TRỎ HiỆN HÀNH