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: 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 Ví 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 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 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: 05h – Lấy thông tin ấn nút nhấn của con trỏ Thao tác Thanh ghi Giá trị Điều kiện Vào AX 05h BX <Số> Số của nút nhấn 0=trái, 1=phải, 2=giữa Ra AX Trạng thái của nút nhấn tương ứng vị trí bit: Bit 0: nút trái 0=lên, 1 = xuống Bit 1: nút phải 0=lên,1=xuống Bit 3: nút giữa 0=lên,1=xuống BX Số đếm số lần ấn nút CX:DX Tọa độ ngang:dọc của lần ấn nút cuối cùng 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: 10h – Thiết lập vùng loại trừ của con trỏ Thao tác Thanh ghi Giá trị Điều kiện Vào AX 10h CX:DX Tọa độ ngang:dọc ở trên trái SI:DX Tọa độ ngang:dọc ở dưới phải Ví dụ: MOV AX,10h MOV CX,10 ;10x8 MOV DX,6 ;6x8 MOV SI,30 ;30x8 MOV DX:12 ;12x8 INT 33h Lp trỡnh x lý xut nhp Chửụng 5: X lyự xuaỏt nhaọp - B vi x lý ni vi thit b bờn ngoi thụng qua PORT: nhn tớn hiu t thit b nhp v gi tớn hiu n thit b xut - Cỏc PORT nhn dng thụng qua cỏc a ch t 0h n 3FFh - S dng cỏc ch th IN v OUT qun lý xut nhp trc tip - Cỳ phỏp: IN <thanh ghi>,PORT OUT PORT,<thanh ghi> Trong ú: thanh ghi l AL (byte) hoc AX (t) - Cú th xỏc nh a ch PORT tnh hoc ng: a ch tnh: S dng trc tip toỏn hng t 0 255: Vớ d: IN AL,port# OUT port#,AX a ch ng: S dng giỏ tr t 065535 cho DX Vớ d: MOV DX,60h ;nhn t bn phớm IN AL,DX ;mt byte Lập trình xử lý xuất nhập Chöông 5: Xử lyù xuaát nhaäp Một số địa chỉ PORT thường dùng: • 060h Nhập từ bàn phím • 061h Loa • 278h-20Fh Cổng máy in song song LPT3 • 378h-37Fh Cổng máy in song song LPT2 • 3BCh-3BFh Cổng máy in song song LPT1 • 3F8h-3FFh Cổng nối tiếp COM1 • 2F8h-2FFh Cổng nối tiếp COM2 • 3F0h-3F7h Bộ điều khiển đĩa . hng t 0 255 : Vớ d: IN AL,port# OUT port#,AX a ch ng: S dng giỏ tr t 0 655 35 cho DX Vớ d: MOV DX,60h ;nhn t bn phớm IN AL,DX ;mt byte Lập trình xử lý xuất nhập Chöông 5: Xử lyù xuaát. 060h Nhập từ bàn phím • 061h Loa • 278h-20Fh Cổng máy in song song LPT3 • 378h-37Fh Cổng máy in song song LPT2 • 3BCh-3BFh Cổng máy in song song LPT1 • 3F8h-3FFh Cổng nối tiếp COM1 • 2F8h-2FFh. ;12x8 INT 33h Lp trỡnh x lý xut nhp Chửụng 5: X lyự xuaỏt nhaọp - B vi x lý ni vi thit b bờn ngoi thụng qua PORT: nhn tớn hiu t thit b nhp v gi tớn hiu n thit b xut - Cỏc PORT nhn dng thụng