8085 Chế độ địa chỉ & ngắt

Bây giờ chúng ta hãy thảo luận về các chế độ định địa chỉ trong Bộ vi xử lý 8085.

Chế độ địa chỉ trong 8085

Đây là các lệnh được sử dụng để chuyển dữ liệu từ thanh ghi này sang thanh ghi khác, từ bộ nhớ sang thanh ghi, và từ thanh ghi sang bộ nhớ mà không có bất kỳ sự thay đổi nào về nội dung. Các chế độ địa chỉ trong 8085 được phân thành 5 nhóm -

Chế độ giải quyết ngay lập tức

Trong chế độ này, dữ liệu 8/16 bit được chỉ định trong chính lệnh như một trong các toán hạng của nó. For example: MVI K, 20F: nghĩa là 20F được sao chép vào thanh ghi K.

Đăng ký chế độ địa chỉ

Trong chế độ này, dữ liệu được sao chép từ thanh ghi này sang thanh ghi khác. For example: MOV K, B: nghĩa là dữ liệu trong thanh ghi B được sao chép sang thanh ghi K.

Chế độ địa chỉ trực tiếp

Trong chế độ này, dữ liệu được sao chép trực tiếp từ địa chỉ đã cho vào thanh ghi. For example: LDB 5000K: có nghĩa là dữ liệu ở địa chỉ 5000K được sao chép vào thanh ghi B.

Chế độ địa chỉ gián tiếp

Trong chế độ này, dữ liệu được chuyển từ thanh ghi này sang thanh ghi khác bằng cách sử dụng địa chỉ được chỉ bởi thanh ghi. For example: MOV K, B: nghĩa là dữ liệu được chuyển từ địa chỉ bộ nhớ được trỏ bởi thanh ghi đến thanh ghi K.

Chế độ địa chỉ ngụ ý

Chế độ này không yêu cầu bất kỳ toán hạng nào; dữ liệu được chỉ định bởi chính opcode.For example: CMP.

Ngắt trong 8085

Ngắt là tín hiệu do thiết bị bên ngoài tạo ra để yêu cầu bộ vi xử lý thực hiện một tác vụ. Có 5 tín hiệu ngắt, tức là TRAP, RST 7.5, RST 6.5, RST 5.5 và INTR.

Ngắt được phân loại thành các nhóm sau dựa trên tham số của chúng:

  • Vector interrupt - Trong kiểu ngắt này, bộ xử lý đã biết địa chỉ ngắt. For example: RST7.5, RST6.5, RST5.5, TRAP.

  • Non-Vector interrupt - Trong kiểu ngắt này, bộ xử lý không biết địa chỉ ngắt do đó địa chỉ ngắt cần được thiết bị gửi ra bên ngoài để thực hiện ngắt. For example: INTR.

  • Maskable interrupt - Trong kiểu ngắt này, chúng ta có thể vô hiệu hóa ngắt bằng cách ghi một số lệnh vào chương trình. For example: RST7.5, RST6.5, RST5.5.

  • Non-Maskable interrupt - Trong kiểu ngắt này, chúng ta không thể vô hiệu hóa ngắt bằng cách ghi một số lệnh vào chương trình. For example: BẨY.

  • Software interrupt- Trong kiểu ngắt này, người lập trình phải thêm các lệnh vào chương trình để thực hiện ngắt. Có 8 phần mềm ngắt trong 8085, tức là RST0, RST1, RST2, RST3, RST4, RST5, RST6 và RST7.

  • Hardware interrupt - Có 5 chân ngắt trong 8085 dùng làm ngắt phần cứng, tức là TRAP, RST7.5, RST6.5, RST5.5, INTA.

Note- NTA không phải là ngắt, nó được sử dụng bởi bộ vi xử lý để gửi báo nhận. TRAP có mức độ ưu tiên cao nhất, sau đó đến RST7.5, v.v.

Quy trình dịch vụ ngắt (ISR)

Một chương trình nhỏ hoặc một quy trình mà khi thực thi, dịch vụ nguồn ngắt tương ứng được gọi là ISR.

BẨY

Nó là một ngắt không che được, có mức ưu tiên cao nhất trong số tất cả các ngắt. Mặc định, nó được kích hoạt cho đến khi được xác nhận. Trong trường hợp không thành công, nó thực thi dưới dạng ISR và gửi dữ liệu đến bộ nhớ sao lưu. Ngắt này chuyển điều khiển đến vị trí 0024H.

RST7,5

Nó là một ngắt có thể che dấu, có mức ưu tiên cao thứ hai trong số tất cả các ngắt. Khi ngắt này được thực hiện, bộ xử lý lưu nội dung của thanh ghi PC vào ngăn xếp và các nhánh tới địa chỉ 003CH.

RST 6,5

Nó là một ngắt có thể che dấu, có mức ưu tiên cao thứ ba trong số tất cả các ngắt. Khi ngắt này được thực hiện, bộ xử lý lưu nội dung của thanh ghi PC vào ngăn xếp và các nhánh tới địa chỉ 0034H.

RST 5.5

Nó là một ngắt có thể che giấu. Khi ngắt này được thực hiện, bộ xử lý lưu nội dung của thanh ghi PC vào ngăn xếp và các nhánh tới địa chỉ 002CH.

INTR

Nó là một ngắt có thể che dấu, có mức ưu tiên thấp nhất trong số tất cả các ngắt. Nó có thể bị vô hiệu hóa bằng cách đặt lại bộ vi xử lý.

Khi nào INTR signal goes high, các sự kiện sau có thể xảy ra:

  • Bộ vi xử lý kiểm tra trạng thái của tín hiệu INTR trong quá trình thực hiện từng lệnh.

  • Khi tín hiệu INTR cao, khi đó bộ vi xử lý hoàn thành lệnh hiện tại của nó và gửi tín hiệu xác nhận ngắt hoạt động ở mức thấp.

  • Khi nhận được lệnh, bộ vi xử lý sẽ lưu địa chỉ của lệnh tiếp theo trên ngăn xếp và thực hiện lệnh đã nhận.