tailieunhanh - Bài giảng hợp ngữ - Chương 8

Tài liệu tham khảo Bài giảng hợp ngữ gồm 9 chương - Chương 8 Sử dụng ngắt trong hợp ngữ | Bài giảng hợp ngữ Chương VIII Sử dụng ngắt trong hợp ngữ CHƯƠNG VIII SỬ DỤNG NGẮT TRONG HỢP NGỮ Khái niệm ngắt Trong chương II ta đã đề cập tới khái niệm chương trình ngắt nhưng chưa giải thích ngắt là gì. Có thể tóm tắt về khái niệm ngắt như sau Ngắt là hành động dừng chương trình đang chạy để thực hiện một chương trình khác chương trình này được gọi là chương trình xử lý ngắt . Bộ vi xử lý sẽ dừng các công việc đang thực hiện khi nó nhận được một tín hiệu yêu cầu ngắt rồi trao quyền điều khiển lại cho chương trình xử lý ngắt. Tín hiệu yêu cầu ngắt có thể do một thiết bị phần cứng hoặc do một lệnh INT trong chương trình sinh ra. Quá trình ngắt được mô tả trong hình dưới đây Chương trình bị ngắt Chương trình xử lý ngắt cần được kết thúc bằng lệnh IRET để sau khi thực hiện xong có thể quay trở về thực hiện tiếp chương trình bị ngắt trước đó. Có nhiều loại ngắt khác nhau để phân biệt các ngắt cần dựa vào số hiệu của chúng. Bộ vi xử lý 8086 có thể quản lý 256 ngắt được đánh số lần lượt từ 0 1 2 . FFh. Dưới đây là bảng danh sách các ngắt Số hiệu ngắt Chức năng 0 - 1Fh Ngắt của BIOS 20h - 3Fh Ngắt của DOS 40h - 7Fh Dự trữ 80h - F0h Dùng cho chương trình BASIC trong ROM F1h- FFh Không sử dụng Giải thích Chương trình xử lý ngắt có thể là một bộ phận của BIOS hay của DOS cũng có thể do người sử dụng tự viết. Ta cần phân biệt rõ hai khái niệm Ngắt và Chương trình xử lý ngắt . Không phải số hiệu ngắt nào cũng có có chương trình xử lý ngắt tương ứng. Khi một ngắt có số hiệu từ 0 - 1Fh xuất hiện thì chúng sẽ được xử lý bởi các chương trình viết sẵn nằm trong ROM BIOS chủ yếu là giải quyết các yêu cầu vào ra cơ bản . Còn nếu ngắt có số hiệu từ 20h - 3Fh thì sẽ do hệ điều hành DOS xử lý. 60 Bài giảng hợp ngữ Chương VIII Sử dụng ngắt trong hợp ngữ Phân loại ngắt Để phân loại cần dựa trên một tiêu chí nào đó ở đây ta sẽ phân loại ngắt dựa trên cách thức phát sinh ngắt tạm chia làm hai loại sau Ngắt mềm và Ngắt cứng. Ngắt mềm Ta gọi một ngắt là ngắt mềm nếu nó được .