0
Tải bản đầy đủ (.pdf) (54 trang)

Ứng dụng các ngắt của BIOS & DOS

Một phần của tài liệu CÁC CÔNG CỤ HỖ TRỢ (Trang 35 -38 )

- Lệnh điều khiển #pragma inline

3.4.1 Ứng dụng các ngắt của BIOS & DOS

Máy tính có 256 ngắt được đánh số hiệu từ 00h đến FFh. Trong đó các ngắt có số hiệu từ

00h đến 1Fh là các ngắt của BIOS, còn các ngắt còn lại từ 20h đến FFh là các ngắt của DOS. Dưới đây ta sẽ tìm hiểu các ngắt theo từng nhóm ngắt.

a. Các ngắt của BIOS & DOS

Địa chỉ Số hiệu ngắt Chức năng

Các ngắt phục vụ hệ thống

0-3 0 CPU: chia cho 0

4-7 1 CPU: chạy từng bước của DEBUG 8-B 2 CPU: ngắt NMI (hiện thông báo halt) C-F 3 CPU: thực hiện đến điểm dừng (break point) 10-13 4 CPU: tràn số (overflow) 14-17 5 In nội dung ra mà hình 18-1B 6 Phục vụ liên lạc 1C-1F 7 Dự trữ Các ngắt cứng 20-23 8 IRQ0: CLK (18.2 lần/s) nối từ chip 8253 24-27 9 IRQ1: bàn phím 28-2B A IRQ2: đầu vào của 8259 thứ 2 2C-2F B IRQ3: giao diện nối tiếp

30-33 C IRQ4:giao diện nối tiếp

34-37 D IRQ5: thường nối với máy in nối tiếp 38-3B E IRQ6: phục vụđĩa mềm

3C-3F F IRQ5: thường nối với máy in song song Các ngắt thực sựđặc trưng cho BIOS

40-43 10 Màn hình (I/O video) 44-47 11 Xác định cấu hình

48-4B 12 Cho biết kich cỡ của RAM 4C-4F 13 Thâm nhập đĩa mềm, đĩa cứng. 50-53 14 Giao diện nối tiếp

54-57 15 Giao diện với cassete 58-5B 16 Kiểm tra bàn phím

5C-5F 17 Truy nhập máy in song song 60-63 18 Gọi BASIC trong ROM

64-67 19 Khởi động nóng hệ thống (Ctrl+Alt+Del) 68-6B 1A Thông báo thời gian

6C-6F 1B Quản lý phím Ctrl+Break 70-73 1C Dành cho dồng hồ 74-77 1D Địa chỉ bảng tham số cho màn hình 78-7B 1E Cho biết các tham số của đĩa mềm 7C-7F 1F Địa chỉ các bảng font các kí tự mở rộng Các ngắt của DOS 80-83 20 Kết thúc chương trình dạng COM 84-87 21 Các hàm của DOS 88-8B 22 Địa chỉ kết thúc chương trình 8C-8F 23 Địa chỉ thủ tục Ctrl+Break 90-93 24 Báo lỗi đĩa 94-97 25 Đọc đĩa mềm, đĩa cứng 98-9B 26 Ghi đĩa 9C-9F 27 Kết thúc chương trình và thường trú

liệu 29-3F Dự trữ 40 BIOS phục vụđĩa mềm 41 Địa chỉ của bảng đĩa cứng 1 42-49 Dự trữ 4A Hẹn giờ 4B-6F Dự trữ 70-77 Ngắt cứng của 8259 thứ 2 78-7F Dự trữ

80-F0 Dùng cho bộ thông dịch BASIC

F1-FF Dự trữ

b. Cơ chế hoạt động khi một ngắt được kích hoạt

Khi có một yêu cầu ngắt số hiệu N đến chân CPU và nếu yêu cầu ngắt này được CPU đáp

ứng Khi đó CPU sẽ thực hiện các công việc sau:

1. Cất nội dung của thanh ghi cờ (FR) vào đỉnh của ngăn xếp. (Bằng việc tự động thực hiện câu lệnh PUSHF).

2.Cấm các ngắt khác tác động vào CPU để CPU chạy ở chếđộ bình thường. Đặt các cờ

Ì=0 và TF =0 bằng cách thực hiện các lệnh: CLI và CLT.

3. Cất địa chỉđoạn (segment) của chương trình gọi chương trình ngắt vào ngăn xếp bằng lệnh PUSH CS.

4. Cất địa chỉ lệch (offset) của lệnh kế tiếp của chương trình gọi chương trình ngắt vào ngăn xếp PUSH IP.

5. Lấy địa chỉ mới của chương trình con phục vụ ngắt số hiệu N trong bảng vector ngắt bằng cách lấy địa chỉ offset và segment của ngắt N từ bảng vector ngắt.

IP=[N*4] CS=[N*4+2]

6. Khi gặt lệnh cuối cùng của chương trình con phục ngắt (lênh IRET). Bộ vi xử lý sẽ quay lại chương trình gọi ngắt tại địa chỉ trả về và khôi phục các giá trị của các thanh ghi từ ngăn xếp bằng các lệnh sau:

POP IP POP CS POPF

Giải thích cho mục 5. Ta biết rằng các địa chỉ của chương trình con phục vụ ngắt được lưu vào trong một bảng có kích thước 1K từđịa chỉ 0000h đến 03FFh của bộ nhớ RAM. Bảng vector ngăt lưu địa chỉ của 256 chương trình con phục vụ ngắt và mối địa chỉ chiếm 4 byte trong đó 2

byte dành cho địa chỉđoạn (segment) và 2 byte dành cho địa chỉ lệch (offset). Như bảng ở trên,

điạ chỉ của chương trình con phục vụ ngắt 0 chiếm byte 0-3, ngắt 1 chiếm byte 4-7 … và chương trình con phục vụ ngắt thứ N sẽ có địa chỉ 4*N. Trong đó 2 byte [4*N] và [4*N+1] là địa chỉ lệch (offset) và 2 byte [4*N+2] và [4*N+3] là địa chỉđoạn (segment).

c. Các ngắt của BIOS và DOS phục vụ bàn phím

Một phần của tài liệu CÁC CÔNG CỤ HỖ TRỢ (Trang 35 -38 )

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×