Xử lý ngắt (Processing Interrupt):

Một phần của tài liệu Thiết kế và thi công máy tính tiền siêu thị cửa hàng (Trang 34 - 35)

Khi ngắt xảy ra và CPU chấp thuận, chương trình chính ngắt quãng những hoạt động sau đây xảy ra:

+ Lệnh hiện hành hoàn tất việc thực thi. + Cất PC vào ngăn xếp.

+ Trạng thái ngắt hiện hành được cất vào bên trong. + Các ngắt bị chặn ở mức ngắt.

+ Nạp vào PC địa chỉ vector của ISR. + ISR thực thi.

ISR thực thi và đáp ứng ngắt. ISR hoàn tất bằng lệnh RETI (quay về từ ngắt). Điều này làm lấy lại giá trị cũ PC từ ngăn xếp và lấp lại trạng thái ngắt cũ.

Thực thi chương trình chính ở chỗ mà nó bị dừng.

Các vector ngắt (Interrupt Vectors):

Khi chấp nhận ngắt, giá trị được nạp vào PC được gọi là vector ngắt. Nó là địa chỉ bắt đầu của ISR cho nguồn tạo ngắt. Các vector ngắt được cho bảng sau:

Chương II:Hoạt động của bộ ngắt (INTERRUPT)

Ngắt Cờ Địa chỉ vector Reset hệ thống RST 0000H

Bên ngoài Ô IEO 0003H

Tìmer 0 TFO0 000BH

Bên ngoài l IEI 0013H

Tìmer 1 TEI 001IBH

Port nối tiếp T1IhoặcRI |0023H

Bảng : Các vector ngắt

Vector Reset hệ thống (RST ở địa chỉ 0000H) được để trong bảng này vì theo nghĩa này nó giống Interrupt: nó ngắt chương trình chính và nạp giá trị mới cho PC.

Khi “chỉ đến một ngắt”, cờ gây ra ngắt tự động bị xóa bởi phần cứng. Các ngoại lệ là RI và TI với các ngắt port nối tiếp và TF2, EXE2 với các Interrupt Timer. Vì có hai nguồn có thể cho mỗi ngắt này, không thực tế để CPU xóa cờ ngắt. Các bit này phải được kiểm tra trong ISR để xác định nguồn ngắt và cờ tạo ngắt sẽ được xóa bằng phần mềm. Thông thường một rẽ nhánh xảy ra với một phản ứng thích hợp, phụ thuộc vào nguồn ngắt.

Vì các vector ngắt ở phần đầu của bộ nhớ chương trình, nên lệnh thứ nhất của chương trình chính thường là lệnh nhảy qua chương trình chính này. Ví dụ như

lệnh LIMP 0030H.

Một phần của tài liệu Thiết kế và thi công máy tính tiền siêu thị cửa hàng (Trang 34 - 35)

Tải bản đầy đủ (PDF)

(48 trang)