
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 cơ 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: là số mickey mà quả banh chuột lăn
theo chiều dọc và ngang = tương ứng số pixels trên màn hình
* Con trỏ chuột:Trong chế độ văn bản là khối sáng, trong chế độ đồ
họa là 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 là 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.
Cú 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
Ví 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: 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
Ví 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
Ví dụ: MOV AX,00h
INT 33h
MOV AX,01h
INT 33h
MOV AX,04h
MOV CX,24 ;24x8
MOV DX,16 ;16x8
INT 33h


