1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Cấu trúc máy tính và lập trình hợp ngữ - Chương 11: Lập trình xử lý màn hình và bàn phím

61 45 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 61
Dung lượng 2,32 MB

Nội dung

Mục tiêu học tập của chương gồm: Giới thiệu màn hình & việc quản lý 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 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 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 Giới thiệu hình & việc quản lý hình Hiểu tổ chức hình So sánh chức điều khiển hình INT 10h ROM BIOS với chức INT 21h Biết cách lập trình quản lý hình ASM Biết cách lập trình xử lý phím số ứng dụng Chuoung 10 Lap trinh xu ly man hinh MÀN HÌNH ĐẶC TRƯNG CỦA MÀN HÌNH h n ì H nh điểm ì h n c m c i ĐỘ PHÂN GIÀI t g ậ n o h d tr ữ n g cho m h ể c i ng đ ò h n d n ố ì h :s eo i h i h t t ả i i l e iả x g n g ồm l i â p n h â g Độ p trận g ) Độ ph số lượn a l m h t h * ộ n ó c ả đ o g e ụ n h t d o r l í t ixe (th h x v p g n g ợ n l d số l v Chuoung 10 Lap trinh xu ly man hinh Chuoung 10 Lap trinh xu ly man hinh CARD MÀN HÌNH Độ phân giải Cung cấp chế độ MH Số điểm ngang x số điểm dọc x số màu (số bit màu) CHẾ ĐỘ ĐỒ HỌA 800x600x16 bits = 960 000 bytes  1Mb 1024x 768x32 bits 3.145.728 bytes  4Mb RAM MÀN HÌNH Dung lượng Chuoung 10 Lap trinh xu ly man hinh Địa (i,j) = B800:0000+ (i*160+j*2) Chuoung 10 Lap trinh xu ly man hinh Chuoung 10 Lap trinh xu ly man hinh QUẢN LÝ MÀN HÌNH Màn hình điều khiển hiệu nhờ chức INT 10H Rom Bios Các chức quản lý hình tốt chức INT 21h Dos Bên cạnh số chức INT 21h Dos cung cấp, số tác vụ thực hình nhờ chức INT 10h xố hình, định vị trỏ, thiết lập hình IBM PC hỗ trợ loại hình có tên tùy thuộc vào loại Card hình cắm Bus mở rộng Mianboard : Monochrome hiển thị text đơn sắc; CGA (Color Graphic Adaptor) cho phép hiển thị text đồ họa; EGA (Enhanced Graphics Adaptor) hiển thị text đồ họa với độ phân giải cao Ngồi cịn có card VGA (Video Graphics Array), SVGA Chuoung 10 Lap trinh xu ly man hinh THUỘC TÍNH MÀN HÌNH Chuoung 10 Lap trinh xu ly man hinh THUỘC TÍNH MÀN HÌNH Mỗi vị trí hình lưu ký tự đơn với thuộc tính riêng ký tự chẳng hạn nh đảo màu, nhấp nháy, chiếu sáng, gạch Thuộc tính ký tự lưu byte gọi byte thuộc tính HIGHT/LOW BIT BLINK BACKGROUND BITS 1 1 FOREGROUND BITS Chuoung 10 Lap trinh xu ly man hinh THUỘC TÍNH MÀN HÌNH Ex : ký tự màu vàng chanh nhấp nháy màu nâu BLINK = 10000000B RED = 100B MOV BH, (RED SHL 4) +YELLOW+BLINK ĐỂ TẠO BYTE THUỘC TÍNH VIDEO TỪ MÀU , TA DÙNG SHL CHUYỂN CÁC BIT MÀU NỀN SANG TRÁI VI TRÍ Chuoung 10 Lap trinh xu ly man hinh 10 GHI KÝ TỰ VÀ THUỘC TÍNH KÝ TỰ HÀM 0AH INT 10H WRITE CHARACTER AND ATTRIBUTE CHỨC NĂNG 0AH INT 10H : XUẤT (GHI) HOẶC NHIỀU KÝ TỰ CÙNG VỚI THUỘC TÍNH CỦA CHÚNG LÊN MÀN HÌNH CHỨC NĂNG NÀY CĨ THỂ XUẤT MỌI MÃ ASCII KỂ CẢ KÝ TỰ ĐỒ HỌA ĐẶC BIỆT CÓ MÃ TỪ ĐẾN 31 AH =9 ; BH = TRANG VIDEO AL = KÝ TỰ SẼ XUẤT ; BL = THUỘC TÍNH CỦA KÝ TỰ SẼ XUẤT CX = HỆ SỐ LẶP Chuoung 10 Lap trinh xu ly man hinh 47 LẤY VIDEO MODE HÀM 0FH INT 10H GET VIDEO MODE CHỨC NĂNG 0FH INT 10H : LẤY VIDEO MODE AH =0F ; BH = TRANG HIỆN HÀNH AH = SỐ CỘT MÀN HÌNH ; AL = MODE MÀN HÌNH HIỆN HÀNH EX : MOV AH,0FH ; Get Video Mode Function INT 10H ; gọi BIOS MOVE VIDEO_MODE, AL ; lưu Video Mode vào biến nhớ MOV PAGE, BH ; lưu trang hành Chuoung 10 Lap trinh xu ly man hinh 48 LẬP TRÌNH XỬ LÝ PHÍM Đọc phím nhấn : Chức AH = 0, ngắt 16H Vào : AH = Ra : AL = mã ASCII phím ASCII nhấn = phím điều khiển nhấn AH = mã scan phím nhấn Chuoung 10 Lap trinh xu ly man hinh 49 LẬP TRÌNH XỬ LÝ PHÍM BÀN PHÍM Chuoung 10 Lap trinh xu ly man hinh 50 BÀN PHÍM Chuoung 10 Lap trinh xu ly man hinh 51 BÀN PHÍM Chuoung 10 Lap trinh xu ly man hinh 52 BÀN PHÍM Chuoung 10 Lap trinh xu ly man hinh 53 BÀN PHÍM Chuoung 10 Lap trinh xu ly man hinh 54 BÀN PHÍM Chuoung 10 Lap trinh xu ly man hinh 55 LẬP TRÌNH XỬ LÝ PHÍM Kiểm tra trạng thái phím Ctrl, Alt, Shift : Chúng ta cĩ thể đọc trực tiếp từ địa thơng qua hàm AH = ngắt 16H Cách đọc trực tiếp XOR AX, AX MOV ES, AX MOV AL, ES:[417H] TEST AL, 01H JNZ SHIFT_DANGNHAN TEST AL, 04H JNZ CTRL_DANGNHAN TEST AL, 08H JNZ ALT_DANGNHAN 0:0417 lấy AL ; kiểm tra phím Shift ; kiểm tra phím Ctrl ; Kiểm tra phím Alt Chuoung 10 Lap trinh xu ly man hinh 56 Kiểm tra thiết lập trạng thái phím Caps/Num/Scroll Lock tương tự với mã scan khác Scroll = 10H, Num = 20H, Cap = 40H Đặt lại trạng thái đèn Caps/Num/Scroll Lock, ta cần đặt lại giá trị địa 0:0417 Vd, để bật đèn Caps Lock đổi trạng thái đèn Num Lock ta làm sau: XOR AX, AX MOV ES, AX ; ES = MOV AL, ES:[417H] ; đọc trạng thái đèn OR AL, 40H ; bật đèn Caps Lock XOR AL, 20H ; đảo đèn Nums Lock MOV ES:[417H], AL ; MOV AH , 2H INT 16H Chuoung 10 Lap trinh xu ly man hinh 57 BÀI TẬP LẬP TRÌNH BÀI : VIẾT ĐOẠN CHƯƠNG TRÌNH LÀM CÁC VIỆC SAU : CUỘN WINDOW TỪ HÀNG 5, CỘT 10 TỚI HÀNG 20 CỘT 70 VỚI THUỘC TÍNH MÀN HÌNH ĐẢO ĐỊNH VỊ CURSOR TẠI HÀNG 10, CỘT 20 HIỂN THỊ DÒNG TEXT “ DAY LA DONG TEXT TRONG WINDOW” SAU KHI XUẤT TEXT ĐỢI NHẤN PHÍM CUỘN WINDOW TỪ HÀNG 5, CỘT 15 TỚI HÀNG 18 CỘT 68 VỚI THUỘC TÍNH THƯỜNG XUẤT KÝ TỰ A VỚI THUỘC TÍNH NHẤP NHÁY TẠI GIỮA WINDOW ĐỢI GỎ PHÍM, XĨA TỒN BỘ MÀN HÌNH Chuoung 10 Lap trinh xu ly man hinh 58 BÀI TẬP LẬP TRÌNH BÀI : VIẾT CHƯƠNG TRÌNH LÀM CÁC VIỆC SAU : XUẤT CHUỔI “GO VAO KY TU THUONG : ‘ KHI USER GỎ KÝ TỰ (KHI GỎ KHÔNG HIỂN THI KÝ TỰ GỎ RA MÀN HÌNH) ,ĐỔI KÝ TỰ NÀY THÀNH CHỮ HOA RỒI XUẤT RA MÀN HÌNH.GIẢ SỬ CHỈ NHẬP CÁC KÝ TỰ HỢP LỆ KHI GỎ KÝ TỰ MỞ RỘNG SẼ THỐT VỀ DOS, NHƯNG CĨ LẼ BẠN CỊN NHÌN THẤY KÝ TỰ XUẤT THÊM TRÊN MÀN HÌNH GIẢI THÍCH Chuoung 10 Lap trinh xu ly man hinh 59 Viết chương trình để : a Xố hình, tạo kích thước to cho trỏ di chuyển nĩ đến gĩc trái b Nếu nhấn phím Home : chuyển trỏ đến gĩc trái trên, End : chuyển đến gĩc trái dưới, Page Dn : chuyển trỏ đến gĩc phải dưới, Esc : kết thúc chương trình Dịch chuyển trỏ đến gĩc trái hình phím F1 nhấn, gĩc trái phím F2 nhấn Chương trình bỏ qua kí tự thơng thường Viết chương trình soạn thảo văn sau : a Xố hình, định vị trỏ đầu dịng 12 b Để người sử dụng đánh vào kí tự Con trỏ dịch chuyển sau hiển thị kí tự nĩ khơng lề phải hình c Phím mũi tên trái , phải, lên , xuống dịch trỏ tương ứng d Phím Insert : chèn kí tự, Delete : Xố kí tự , Esc : kết thúc chương trình Chuoung 10 Lap trinh xu ly man hinh 60 BÀI TẬP LẬP TRÌNH BÀI : VIẾT CHƯƠNG TRÌNH LÀM CÁC VIỆC SAU : CHO PHÉP VẼ ĐƠN GIẢN NHỜ CÁC PHÍM MỦI TÊN TRÊN BÀN PHÍM ĐỂ DI CHUYỂN THEO HƯỚNG MONG MUỐN PHẢI BẢO ĐẢM XUẤT CÁC KÝ TỰ GĨC THÍCH HỢP BIẾT RẰNG MÃ ASCII CỦA SỐ KÝ TỰ : xem bảng mã ASCII MÃ SCAN CODE CỦA CÁC PHÍM MŨI TÊN : TRÁI 4BH PHẢI 4DH LÊN 48H Chuoung 10 Lap trinh xu ly man hinh XUỐNG 50H 61 ... LẬP TRÌNH XỬ LÝ PHÍM Đọc phím nhấn : Chức AH = 0, ngắt 16H Vào : AH = Ra : AL = mã ASCII phím ASCII nhấn = phím điều khiển nhấn AH = mã scan phím nhấn Chuoung 10 Lap trinh xu ly man hinh 49 LẬP... ghi vào trang hiển thị trang khác chuyển đổi qua lại vị trí trang Các trang đánh số từ đến Chuoung 10 Lap trinh xu ly man hinh 18 TRANG MÀN HÌNH (VIDEO PAGE) số trang 0-7 0-3 0-7 0-7 0-3 0-1 mode... xuống đọc ký tự thuộc tính ký tự vị trí trỏ hành ghi ký tự thuộc tính ký tự vị trí trỏ hành Chuoung 10 Lap trinh xu ly man hinh 28 CÁC HÀM XỬ LÝ MÀN HÌNH Các chức xử lý hình nằm INT 10h Chức

Ngày đăng: 20/05/2021, 02:05

TỪ KHÓA LIÊN QUAN