Danh mục

Báo cáo tiểu luận môn Hệ Điều Hành

Số trang: 8      Loại file: doc      Dung lượng: 73.50 KB      Lượt xem: 28      Lượt tải: 0    
10.10.2023

Hỗ trợ phí lưu trữ khi tải xuống: 5,000 VND Tải xuống file đầy đủ (8 trang) 0

Báo xấu

Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Trong quá trình học trên lớp ,tìm hiểu và tham khảo kiến thức về môn HệĐiều Hành,em thấy mảng đề tài về MOUSE là khá hay. Vì vậy với những kiến thứccó được,em đưa ra đề tài gồm nội dung
Nội dung trích xuất từ tài liệu:
Báo cáo tiểu luận môn Hệ Điều Hành Báo cáo tiểu luận môn Hệ ĐiềuHành Sinh viên : Nguyễn Đức Đài 06119009 GVHD: Thầy Khoan.Gới thiệu đề tài: Trong quá trình học trên lớp ,tìm hiểu và tham khảo kiến thức về môn HệĐiều Hành,em thấy mảng đề tài về MOUSE là khá hay. Vì vậy với những kiến thứccó được,em đưa ra đề tài gồm nội dung sau: • Hiển thị biểu tượng MOUSE trong MS DOS. • Hiển thị vị trí của MOUSE trong khi di chuyển. • Khi click MOUSE trái sẽ hiển thị ra vị trí đã click. • Khi click MOUSE phải sẽ thoát khỏi chương trình.Cách làm: int 33hCông cụ: Borland c++3.1Chương trình:Chương trình này kiểm tra xem co mouse kết nối với PC chưa.( tìm driver của mouse) #include #include#include void main() { union REGS i,o; i.x.ax=0; int86(0x33,&i,&o); if(o.x.ax==0) printf(No Mouse Available.....); else printf(Mouse Available......); getch(); }MOUSE1.EXEChương trình trên đưa ra 2 giá trị của loại union REGS trong dos.h,bao gồm 2structs (struct WORDREGS x, struct BYTEREGS h). Hai structures này chứa mộtvài giá trị 1-byte long và 2-byte long đại diện cho thanh ghi của CPU. Đưa giá trị0 (hàm con) vào thanh ghi AX và gọi chuột bằng interrupt(33h),chúng ta có thểkiêm tra chuột có kết nối hay chưa. Ta dùng hàm int86() để gọi interrupt. Hàmint86() chứa 3 đối số: interrupt 33h và 2 kiểu giá trị union REGS. Nếu ko cóchuột,nó returns 0 vào thanh ghi AX. Mọi giá trị trả về được dung truy cập vàoo . Điều đó giải thích vì sao ta có câu lệnh o.x.ax==0.2) Program to show the mouse pointerChương trình đầu chỉ hiển thị có driver cua mouse hay chưa,nếu có thì chúng tavẫn chưa thấy. Để hiện thị,chúng ta sử dụng i.x.ax=1 #include #include#include#include void main() { union REGS i,o; i.x.ax=0; int86(0x33,&i,&o); if(o.x.ax==0) { printf(No Mouse Available.....); exit(1); } i.x.ax=1; //show mouse!!!!!!!!! int86(0x33,&i,&o); getch(); }MOUSE2.EXE3) Program to hide the mouse pointer #include #include#include#include void main() { union REGS i,o; clrscr(); i.x.ax=0; int86(0x33,&i,&o); if(o.x.ax==0) { printf(No Mouse Available.....); exit(1); } i.x.ax=1; int86(0x33,&i,&o); gotoxy(24,23); printf(Press any key to hide mouse cursor...); getch(); i.x.ax=2; //hide mouse!!!!! int86(0x33,&i,&o); gotoxy(10,23); printf(Mouse cursor is hidden !! Press any key to terminate the program ...); getch(); }MOUSE3.EXEChương trình trên dùng hàm con 2 và gọi ngắt để giấu con trỏ chuột.5) Program to print which mouse button is pressed#include #include#include#include void main() { union REGS i,o; int button; clrscr(); i.x.ax=0; int86(0x33,&i,&o); if(o.x.ax==0) { printf(No mouse available....); exit(1); } i.x.ax=1; int86(0x33,&i,&o); gotoxy(24,23); printf(Press any key to exit....); while(!kbhit()) { i.x.ax=3; int86(0x33,&i,&o); button=o.x.bx&7; gotoxy(23,11); switch(button) { case 1: printf(Left button pressed ); break; case 2: printf(Right button pressed ); break; case 4: printf(Middle button pressed ); break; case 3: printf(Left and Right buttons pressed ); break; case 5: printf(Left and Middle buttons pressed ); break; case 6: printf(Right and Middle buttons pressed ); break; case 7: printf(All the three buttons pressed ); break; default: printf(No button pressed....); } } i.x.ax=2; int86(0x33,&i,&o); getch(); }MOUSE5.EXEChương trình trên có thêm 1 vòng lặp phụ. Trong đó ta dùng lệnh i.x.ax=3 và gọingắt. trong đó ta đã dung 3 hàm con giống nhau và gọi ngắt chuột. Hàm này trảvề thong tin nut nhấn vào BX. Toàn bộ thong tin về nut nhấn chúa trong 3 bit đầucủa BX. Sau đó chúng ta AND BX với 7 to separate the first 3 bits và chứa giá trịvào button.Nếu giá trị của bit đầu là 1,nut trái nhấn,0 la không nhấn ,giá trị bit 2 là 1 là phảinhấn,0 là không nhấn. Nếu bit cuối là 1 là nút giữa nhấn,0 là ko nhấn.7) Hiển thị chuột dưới dạng đồ họa #include #include #include#include#include void main() { int gd=DETECT,gm; union REGS i,o; initgraph(&gd,&gm,d:\borlandc\bgi); //hiển thị đồ họa i.x.ax=0; int86(0x33,&i,&o); if(o.x.ax==0) { printf(No Mouse A ...

Tài liệu được xem nhiều: