Chương 3: XỬ LÝ MÀN HÌNH VÀ BÀN PHÍM Cơ bản... MOV AH,0Ah ;Nhập nội dung dữ liệu LEA DX,NAMEPAR... Thiết lập chế độ màn hình... Chương 3: XỬ LÝ MÀN HÌNH VÀ BÀN PHÍM Nâng cao... Thiết lập
Trang 1Chương 3: XỬ LÝ MÀN HÌNH VÀ BÀN PHÍM (Cơ bản) Màn hình
- Màn hình là lưới các ơ được địa chỉ hĩa
* 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
Trang 2Thiế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
MOV DX,050Ch
Chương 3: XỬ LÝ MÀN HÌNH VÀ BÀN PHÍM (Cơ bản)
Trang 3Xĩ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 tồn bộ màn hình
Thao tác Thanh ghi Giá trị Điều kiện
INT 10h
MOV AX,0600h Nền trắng (7) Chữ xanh (1)
Chương 3: XỬ LÝ MÀN HÌNH VÀ BÀN PHÍM (Cơ bản)
Trang 4Nhậ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
Chương 3: XỬ LÝ MÀN HÌNH VÀ BÀN PHÍM (Cơ bản)
Trang 5 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Ử LÝ MÀN HÌNH VÀ BÀN PHÍM (Cơ bản)
Trang 6MSG1 DB ‘Nhập họ tên sinh viên:$'
MSG2 DB 0Ah,0Dh,'Ten sinh vien la:$'
Trang 7MOV AH,0Ah ;Nhập nội dung dữ liệu
LEA DX,NAMEPAR
Trang 8Xóa vùng nhập dữ liệu
* Ví dụ với các dữ liệu được nhập liên tiếp:
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:
Trang 9Thiết lập chế độ màn hình
Chương 3: XỬ LÝ MÀN HÌNH VÀ BÀN PHÍM (Nâ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
Trang 10Chương 3: XỬ LÝ MÀN HÌNH VÀ BÀN PHÍM (Nâng cao)
Các chế độ màn hình văn bản
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
Trang 11Chương 3: XỬ LÝ MÀN HÌNH VÀ BÀN PHÍM (Nâng cao)
Trang 12Chương 3: XỬ LÝ MÀN HÌNH VÀ BÀN PHÍM (Nâng cao)
Trang màn hình
- Chế độ văn bản cho phép lưu dữ liệu trong bộ nhớ video thành từng trang
- Trong chế độ 80 cột
* Mặc nhiên là trang 0 và bắt đầu từ địa chỉ B800
* Trang 1 bắt đầu từ địa chỉ B900
* Trang 2 bắt đầu từ địa chỉ BA00
* Trang 3 bắt đầu từ địa chỉ BB00
- Tại mỗi thời điểm chỉ thể hiện 1 trang màn hình
Thiết lập chế độ màn hình
Trang 13Chương 3: XỬ LÝ MÀN HÌNH VÀ BÀN PHÍM (Nâng cao)
INT – Với ngắt 10h
* Số hiệu hàm: 01h – Thiết lập kích thước cursor
Thao tác Thanh ghi Giá trị Điều kiện
CH 04 Đỉnh cursor
CL 04 Đáy cursor
* Hiệu chỉnh đỉnh và đáy cursor cho các loại màn hình:
CGA: 0:7 VGA: 0:14 EGA: 0;13
* Ví dụ:
MOV AH,1 MOV CH,0 MOV CL,14 INT 10h
Trang 14Thiết lập chế độ màn hình
Chương 3: XỬ LÝ MÀN HÌNH VÀ BÀN PHÍM (Nâng cao)
INT – Với ngắt 10h
* Số hiệu hàm: 02h – Thiết lập vị trí cursor
Thao tác Thanh ghi Giá trị Điều kiện
Trang 15CH/CL Bắt đầu/Kết thúc dòng quét cursor
* Ví dụ: Đọc vị trí curos, sau đó di chuyển cursor đến cột kế tiếp
MOV AH,3 MOV BH,0 INT 10h
MOV AH,2 INC DL INT 10h
Trang 16Thiết lập chế độ màn hình
Chương 3: XỬ LÝ MÀN HÌNH VÀ BÀN PHÍM (Nâng cao)
INT – Với ngắt 10h
* Số hiệu hàm: 06h/07h – Cuộn màn hình (cuộn lên/xuống)/Xĩa màn hình
Thao tác Thanh ghi Giá trị Điều kiện
MOV DX,184Fh ;Đến 18:4F (cả màn hình) INT 10h
Trang 17Thiết lập chế độ màn hình
Chương 3: XỬ LÝ MÀN HÌNH VÀ BÀN PHÍM (Nâng cao)
INT – Với ngắt 10h
* Số hiệu hàm: 08h – đọc thuộc tính/ký tự tại vị trí cursor
Thao tác Thanh ghi Giá trị Điều kiện
Trang 18Thiết lập chế độ màn hình
Chương 3: XỬ LÝ MÀN HÌNH VÀ BÀN PHÍM (Nâng cao)
INT – Với ngắt 10h
* Số hiệu hàm: 09h – Hiển thị thuộc tính/ký tự tại vị trí cursor
Thao tác Thanh ghi Giá trị Điều kiện
MOV BH,0 MOV BL,61h ;nền=Nâu,chữ=lam MOV CX,80 ;lặp 80 lần
INT 10h
Trang 19Thiết lập chế độ màn hình
Chương 3: XỬ LÝ MÀN HÌNH VÀ BÀN PHÍM (Nâng cao)
INT – Với ngắt 10h
* Số hiệu hàm: 0Fh – Xác định chế độ video hiện hành
Thao tác Thanh ghi Giá trị Điều kiện
CMP AL,03
JE
Trang 20Xử lý nhập/xuất từ bàn phím
Chương 3: XỬ LÝ MÀN HÌNH VÀ BÀN PHÍM (Nâng cao)
INT – Với ngắt 21h
* Số hiệu hàm: 07h – Nhập từ bàn phím nhưng khơng hiển thị
Thao tác Thanh ghi Giá trị Điều kiện
INT 21h
Trang 22CMP AL,00h ;có ấn phím chức năng?
JE
CMP AL,E0h
JE