Lập trình điều khiển chuột
Chöông 5: X lyù xuaát nhaäp
-Một số định nghĩa bản:
* Mickey: Đơn vị đo sự dịch chuyển của chuột (=1/200 inch)
* Số đếm tính bằng mickey: số mickey quả banh chuột lăn
theo chiều dọc ngang = tương ứng số pixels trên màn hình
* Con trỏ chuột:Trong chế độ văn bản khối sáng, trong chế độ đồ
họa hình mũi tên
* Pixel: phần tử nhỏ nhất, định địa chỉ trên màn hình.
* Tốc độ ngưỡng: số mickey/giây chuột phải di chuyển = tương ứng
tốc độ di chuyển chuột trên màn hình x 2, mặc định 64 mickey/sec
-Hầu hết các chỉ thị liên quan đến chuột đều sử dụng chức năng của ngắt
33h của DOS.
pháp: MOV AX, số hiệu hàm
....
INT 33h
Một số chức năng ngắt 33h
Chöông 5: X lyù xuaát nhaäp
INT Với ngắt 33h
* Số hiệu hàm: 00h Khởi động chuột
Thao tác
Thanh ghi
Giá trị Điều kiện
Vào
AX
00h
Ra
AX
0000h = Không
có chuột
FFFFh = Có hỗ trợ chuột
BX
Số
nút nhấn của chuột
dụ:
MOV AX,00h ;yêu cầu chuột
INT 33h
Một số chức năng ngắt 33h
Chöông 5: X lyù xuaát nhaäp
INT Với ngắt 33h
* Số hiệu hàm: 01h Hiển thị con trỏ của chuột
Thao tác
Thanh ghi
Giá trị Điều kiện
Vào
AX
01h
dụ:
MOV AX,0600h
MOV CX,00h
MOV DX,184Fh
INT 10h
MOV AX,00h
INT 33h
CMP AX,0
JE THOAT
MOV AX,01h
INT 33h
Demo
Một số chức năng ngắt 33h
Chöông 5: X lyù xuaát nhaäp
INT Với ngắt 33h
* Số hiệu hàm: 03h Lấy trạng thái nút nhấn của chuột
Thao tác
Thanh ghi
Giá trị Điều kiện
Vào
AX
03h
Ra
BX
Trạng
thái các nút nhấn, tương ứng
các bit:
Bit 0: nút nhấn trái 0=lên, 1= xuống
Bit 1: nút nhấn phải 0=lên, 1= xuống
Bit 2: nút nhấn giữa 0=lên, 1= xuống
CX:DX
Tọa độ ngang:dọc
dụ: Kiểm tra nếu nút phải nhấn thì thoát
A:
MOV AX,03h
INT 33h
CMP BX,02
JE THOAT
JMP A
Một số chức năng ngắt 33h
Chöông 5: X lyù xuaát nhaäp
INT Với ngắt 33h
* Số hiệu hàm: 04h Thiết lập vị trí của con trỏ
Thao tác
Thanh ghi
Giá trị Điều kiện
Vào
AX
04h
CX:DX
Vị
trí ngang:dọc
Tính bằng pixel với 8 pixels cho mỗi
byte ở mode 3
dụ: MOV AX,00h
INT 33h
MOV AX,01h
INT 33h
MOV AX,04h
MOV CX,24 ;24x8
MOV DX,16 ;16x8
INT 33h