Chương 3 - Xử lý màn hình và bàn phím ppt

22 371 1
Chương 3 - Xử lý màn hình và bàn phím ppt

Đ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

Chöông 3: XÖÛ LYÙ MAØN HÌNH VAØ BAØN PHÍM (Cơ bản) Màn hình - Màn hình là lưới các ô được địa chỉ hóa - Màn hình chế độ văn bản có 25 hàng (024) và 80 cột (079) Vị trí trên màn hình Dạng thập phân Dạng số Hex Hàng Cột Hàng Cột Góc trái trên 00 00 00h 00h Góc phải trên 00 79 00h 4Fh Giữa màn hình 12 39/40 0Ch 27h Góc trái dưới 24 00 18h 00h Góc phải dưới 24 79 18h 4Fh - Các ngắt và chức năng: * INT 10h (BIOS) * INT 21h (DOS) - 02h: Thiết lập cursor - 02h/09h/40h: Hiển thị màn hình - 06h: Cuộn màn hình - 0Ah/3Fh: Nhập từ bàn phím Thiết lập cursor INT – Với ngắt 10h * Số hiệu hàm: 2 – Yêu cầu thiết lập cursor Thao tác Thanh ghi Giá trị Điều kiện Vào AH 2 BH <số> Số trang màn hình (Mặc định=0) DH <số> Hàng DL <số> Cột Ví dụ: Thiết lập cursor ở vị trí hàng 5 và cột 12: MOV AH,2 MOV BH,0 MOV DH,5 MOV DL,12 INT 10h MOV DX,050Ch Chöông 3: XÖÛ LYÙ MAØN HÌNH VAØ BAØN PHÍM (Cơ bản) Xóa màn hình INT – Với ngắt 10h * Số hiệu hàm: 6 – Xóa một phần hoặc toàn bộ màn hình Thao tác Thanh ghi Giá trị Điều kiện Vào AH 6 AL 0 Xóa toàn màn hình =0 BH <số> Thuộc tính màu (Back/fore ground) CX <hàng:cột> hàng:cột bắt đầu DX <hàng:cột> hàng:cột kết thúc Ví dụ: Xóa toàn bộ màn hình từ vị trí hàng:cột=00:00h đến 18:4Fh MOV AH,6 MOV AL,0 MOV BH,71h MOV CX,0000h MOV DX,184Fh INT 10h MOV AX,0600h Nền trắng (7) Chữ xanh (1) Chöông 3: XÖÛ LYÙ MAØN HÌNH VAØ BAØN PHÍM (Cơ bản) Nhập dữ liệu từ bàn phím INT – Với ngắt 21h * Số hiệu hàm: 0Ah – Nhập dữ liệu từ bàn phím - Sử dụng một danh sách tham số với cấu trúc: NAMEPAR LABEL BYTE ;bắt đầu danh sách tham số MAXLEN DB <n> ;Số ký tự nhập vào cực đại ACTLEN DB ? ;Số ký tự đã nhập vào NAMEFLD DB <n> DUP(‘ ‘) ;Các ký tự được nhập từ bàn phím - Ví dụ: NAMEPAR LABEL BYTE MAXLEN DB 20 ACTLEN DB ? NAMEFLD DB 20 DUP(‘ ‘) Thao tác Thanh ghi Giá trị Điều kiện Vào AH 6 DX NAMEPAR Nạp địa chỉ của danh sách tham số Ra NAMEFLD Mãng có chiều dài cực đại n-1 Chöông 3: XÖÛ LYÙ MAØN HÌNH VAØ BAØN PHÍM (Cơ bản) Nhập dữ liệu từ bàn phím INT – Với ngắt 21h * Số hiệu hàm: 0Ah – Nhập dữ liệu từ bàn phím - Ví dụ: .DATA NAMEPAR LABEL BYTE MAXLEN DB 20 ACTLEN DB ? NAMEFLD DB 20 DUP(‘ ‘) .CODE MOV AH,0Ah LEA DX,NAMEPAR INT 21h - Gỉa sử nhập nội dung là ‘BROWN’  Danh sách tham số như sau: ASCII 20 5 B R O W N # HEX 14 05 42 52 4F 57 4E 0D  Lưu ký tự Enter (0Dh) vào  Ký tự B được truy cập tại phần tử NAMEFLD  Ký tự R được truy cập tại phần tử NAMEFLD+1  Chöông 3: XÖÛ LYÙ MAØN HÌNH VAØ BAØN PHÍM (Cơ bản) Nhập dữ liệu từ bàn phím Ví dụ: Nhập và tách họ tên sinh viên, sau đó hiển thị tên vừa nhập lên màn hình. .MODEL SMALL .DATA MSG1 DB ‘Nhập họ tên sinh viên:$' MSG2 DB 0Ah,0Dh,'Ten sinh vien la:$' NAMEPAR LABEL BYTE MAXLEN DB 20 ACTLEN DB ? NAMEFLD DB 20 DUP(' ') .CODE MOV AX,@DATA MOV DS,AX MOV AH,9 ;Hiển thị thông báo nhập LEA DX,MSG1 INT 21h Chöông 3: XÖÛ LYÙ MAØN HÌNH VAØ BAØN PHÍM (Cơ bản) MOV AH,0Ah ;Nhập nội dung dữ liệu LEA DX,NAMEPAR INT 21h MOV BH,00 ;Xác định độ dài dữ liệu để MOV BL,ACTLEN ;thay thế nội dung ký tự Enter MOV NAMEFLD[BX],'$' ;thành ký tự ‘$’ MOV AH,9 ;In ra thông báo kết quả LEA DX,MSG2 INT 21h MOV AH,9 ;In dữ liệu LEA DX,NAMEFLD INT 21h MOV AH,4Ch INT 21h END Chöông 3: XÖÛ LYÙ MAØN HÌNH VAØ BAØN PHÍM (Cơ bản) Xóa vùng nhập dữ liệu * Ví dụ với các dữ liệu được nhập liên tiếp: Dữ liệu Giá trị NAMEPAR (HEX) PAINE 14 05 50 41 49 4E 45 0D 20 20 20 20 HAMILTON 14 08 48 41 4D 49 4C 54 4F 4E 0D 20 ADAMS 14 05 41 44 41 4D 53 0D 4F 4E 0D 20  Phải xóa các dữ liệu trước khi nhập dữ liệu mới: MOV CX,20 ;lặp 20 lần cho thao tác MOV SI,0 XOA: MOV NAMEFLD[SI],20h ;thay thế bằng khoảng trắng INC SI LOOP XOA Chöông 3: XÖÛ LYÙ MAØN HÌNH VAØ BAØN PHÍM (Cơ bản) Thiết lập chế độ màn hình Chöông 3: XÖÛ LYÙ MAØN HÌNH VAØ BAØN PHÍM (Naâng cao) INT – Với ngắt 10h * Số hiệu hàm: 00h – Thiết lập chế độ màn hình mới Thao tác Thanh ghi Giá trị Điều kiện Vào AH 00h AL Mode Chế độ video Ví dụ: MOV AH,00 ;yêu cầu thiết lập chế độ MOV AL,03 ;Mode=03:màn hình màu 80x25 INT 10h Chöông 3: XÖÛ LYÙ MAØN HÌNH VAØ BAØN PHÍM (Naâng cao) Các chế độ màn hình văn bản Mode Kích cỡ Loại Độ phân giải/màu 00 40x25 CGA EGA VGA 320x200 /Mono 320x350 /Mono 320x450 /Mono 01 40x25 CGA EGA VGA 320x200 /Color 320x350 /Color 320x450 /Color 02 80x25 CGA EGA VGA 640x200 /Mono 640x350 /Mono 720x400 /Mono 03 80x25 CGA EGA VGA 640x200 /Color 640x350 /Color 720x400 /Color Thiết lập chế độ màn hình [...]... Trng 1 1 1 - Thuc tớnh khỏc: BL (=1:Nhp nhỏy), I (Cng ) - Chửụng 3: Xệ LY MAỉN HèNH VAỉ BAỉN PHM (Naõng cao) Thit lp ch mn hỡnh Trang mn hỡnh Ch vn bn cho phộp lu d liu trong b nh video thnh tng trang - Trong ch 80 ct * Mc nhiờn l trang 0 v bt u t a ch B800 * Trang 1 bt u t a ch B900 * Trang 2 bt u t a ch BA00 * Trang 3 bt u t a ch BB00 - Ti mi thi im ch th hin 1 trang mn hỡnh - Chửụng 3: Xệ LY MAỉN... VAỉ BAỉN PHM (Naõng cao) Thit lp ch mn hỡnh INT Vi ngt 10h * S hiu hm: 03h c v trớ cursor Giỏ tr Thao tỏc Thanh ghi Vo 03 BH Ra AH 03 DH/DL iu kin Hng/Ct S ca trang (0,1,2 ,3) Bt u/Kt thỳc dũng quột cursor CH/CL * Vớ d: c v trớ curos, sau ú di chuyn cursor n ct k tip MOV AH ,3 MOV BH,0 INT 10h MOV INC INT AH,2 DL 10h Chửụng 3: Xệ LY MAỉN HèNH VAỉ BAỉN PHM (Naõng cao) Thit lp ch mn hỡnh INT Vi ngt... CGA: 0:7 VGA: 0:14 EGA: 0; 13 * Vớ d: MOV MOV MOV INT AH,1 CH,0 CL,14 10h Chửụng 3: Xệ LY MAỉN HèNH VAỉ BAỉN PHM (Naõng cao) Thit lp ch mn hỡnh INT Vi ngt 10h * S hiu hm: 02h Thit lp v trớ cursor Giỏ tr Thao tỏc Thanh ghi Vo AH 02 BH 03 DH Hng DL iu kin Ct S ca trang (0,1,2 ,3) * Vớ d: Thit lp cursor hng 5 ct 20 ca trang 0 MOV AH,2 MOV BH,0 MOV DH,5 MOV DL,20 INT 10h Chửụng 3: Xệ LY MAỉN HèNH VAỉ BAỉN... thay th LAP: MOV INT AH,7h 21h MOV MOV INT AH,2 DL,* 21h JMP LAP Chửụng 3: Xệ LY MAỉN HèNH VAỉ BAỉN PHM (Naõng cao) X lý nhp/xut t bn phớm INT Vi ngt 16h * S hiu hm: 00h c mt ký t (bn phớm 83 phớm) Giỏ tr Thao tỏc Thanh ghi iu kin Vo AH 0 Ra AL Mó ASCII * Vớ d: MOV INT AH,0 16h Chửụng 3: Xệ LY MAỉN HèNH VAỉ BAỉN PHM (Naõng cao) X lý nhp/xut t bn phớm INT Vi ngt 16h * S hiu hm: 10h c mt ký t (bn phớm... CX,80 ;lp 80 ln INT 10h Chửụng 3: Xệ LY MAỉN HèNH VAỉ BAỉN PHM (Naõng cao) Thit lp ch mn hỡnh INT Vi ngt 10h * S hiu hm: 0Fh Xỏc nh ch video hin hnh Thao tỏc Thanh ghi Giỏ tr iu kin Vo AH 0Fh Ra AL Mode mn hỡnh AH S ký t/dũng BH S ca trang hin hnh * Vớ d: Xỏc nh ch video hin hnh MOV AH,0Fh INT 10h CMP JE AL, 03 Chửụng 3: Xệ LY MAỉN HèNH VAỉ BAỉN PHM (Naõng cao) X lý nhp/xut t bn phớm INT Vi ngt...Chửụng 3: Xệ LY MAỉN HèNH VAỉ BAỉN PHM (Naõng cao) Thit lp ch mn hỡnh Byte thuc tớnh Byte thuc tớnh trong ch vn bn th hin tớnh cht mt ký t c hin th - Byte thuc tớnh cú dng sau: Background ForeGround Thuc tớnh: BL R G B I R G B S th t Bit: 7 6 5 4 3 2 1 0 Vớ d: Thit lp mu nn mu en v ch trng: 0 0 0 0 0 1 1 1 - Mt s mó mu: Mu R G B Mu R G B en 0 0 0 Lam 0 0... MOV AH,6 MOV AL,1 MOV BH ,30 ;nn=cam, ch=en MOV CX,0000 ;T 00:00 MOV DX,184Fh ;n 18:4F (c mn hỡnh) INT 10h Chửụng 3: Xệ LY MAỉN HèNH VAỉ BAỉN PHM (Naõng cao) Thit lp ch mn hỡnh INT Vi ngt 10h * S hiu hm: 08h c thuc tớnh/ký t ti v trớ cursor Giỏ tr Thao tỏc Thanh ghi Vo AH 08 BH iu kin S trang AL Tr v ký t AH Ra Tr v thuc tớnh ca ký t * Vớ d: MOV MOV INT AH,8 BH,0 10h Chửụng 3: Xệ LY MAỉN HèNH VAỉ BAỉN . Chöông 3: XÖÛ LYÙ MAØN HÌNH VAØ BAØN PHÍM (Cơ bản) Màn hình - Màn hình là lưới các ô được địa chỉ hóa - Màn hình chế độ văn bản có 25 hàng (024) và 80 cột (079) Vị trí trên màn hình Dạng. thị màn hình - 06h: Cuộn màn hình - 0Ah/3Fh: Nhập từ bàn phím Thiết lập cursor INT – Với ngắt 10h * Số hiệu hàm: 2 – Yêu cầu thiết lập cursor Thao tác Thanh ghi Giá trị Điều kiện Vào . Chöông 3: XÖÛ LYÙ MAØN HÌNH VAØ BAØN PHÍM (Cơ bản) Thiết lập chế độ màn hình Chöông 3: XÖÛ LYÙ MAØN HÌNH VAØ BAØN PHÍM (Naâng cao) INT – Với ngắt 10h * Số hiệu hàm: 00h – Thiết lập chế độ màn hình

Ngày đăng: 28/07/2014, 06:20

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan