Cấu trúc thanh ghi cờ trong vi xử lý 8085
Cấu trúc thanh ghi cờ trong vi xử lý 8085

Các Loại Thanh Ghi trong Vi Xử Lý 8085

Vi xử lý 8085 là một vi xử lý 8-bit thuộc thế hệ thứ hai, nền tảng cho việc nghiên cứu và sử dụng tất cả các vi xử lý hiện có trên thị trường. Thanh ghi là thành phần quan trọng trong vi xử lý 8085, đóng vai trò lưu trữ dữ liệu tạm thời, địa chỉ, thông tin trạng thái và tối ưu hóa hiệu suất. Bài viết này sẽ phân loại và mô tả chi tiết các loại thanh ghi trong vi xử lý 8085.

Thanh ghi đa năng (General Purpose Registers):

8085 có sáu thanh ghi đa năng 8-bit: B, C, D, E, H và L. Chúng có thể được kết hợp thành các cặp thanh ghi 16-bit: BC, DE và HL để thực hiện các phép toán 16-bit. Các thanh ghi này được sử dụng để lưu trữ hoặc sao chép dữ liệu tạm thời trong quá trình thực thi chương trình.

Thanh ghi chuyên dụng (Specific Purpose Registers):

  • Bộ tích lũy (Accumulator): Thanh ghi 8-bit, là một phần của đơn vị số học và logic (ALU). Kết quả sau khi thực hiện các phép toán số học hoặc logic sẽ được lưu trữ trong bộ tích lũy, còn được gọi là thanh ghi A.

  • Thanh ghi cờ (Flag Register): Thanh ghi đặc biệt gồm 8 bit, trong đó chỉ có 5 bit được sử dụng. 5 cờ này được đặt hoặc xóa (set/reset – 1/0) sau một phép toán dựa trên điều kiện dữ liệu của kết quả trong bộ tích lũy và các thanh ghi khác.

    • Cờ dấu (Sign Flag – bit thứ 7): Cho biết số trong bộ tích lũy là dương hay âm. Nếu cờ được đặt (1), số là âm; nếu cờ bị xóa (0), số là dương.

    • Cờ zero (Zero Flag – bit thứ 6): Được đặt (1) nếu kết quả phép toán trong ALU bằng 0 (tất cả 8 bit bằng 0); ngược lại bị xóa (0). Giúp xác định hai số có bằng nhau hay không.

    • Cờ nhớ phụ (Auxiliary Carry Flag – bit thứ 4): Được đặt (1) khi có nhớ từ bit thứ 3 sang bit thứ 4 trong phép toán số học; ngược lại bị xóa (0). Sử dụng nội bộ cho các phép toán BCD (Binary-Coded Decimal). Lưu ý: Đây là cờ duy nhất người dùng không thể truy cập.

    • Cờ chẵn lẻ (Parity Flag – bit thứ 2): Kiểm tra số lượng bit 1 trong bộ tích lũy. Nếu số bit 1 là chẵn, cờ được đặt (1) – chẵn lẻ chẵn; nếu số bit 1 là lẻ, cờ bị xóa (0) – chẵn lẻ lẻ.

    • Cờ nhớ (Carry Flag – bit thứ 0): Được đặt (1) nếu phép toán số học dẫn đến nhớ (kết quả lớn hơn 8 bit); ngược lại bị xóa (0).

Cấu trúc thanh ghi cờ trong vi xử lý 8085Cấu trúc thanh ghi cờ trong vi xử lý 8085

Thanh ghi bộ nhớ (Memory Registers):

Hai thanh ghi 16-bit dùng để lưu giữ địa chỉ bộ nhớ:

  • Bộ đếm chương trình (Program Counter): Theo dõi địa chỉ bộ nhớ của lệnh tiếp theo cần thực thi. Khi một byte mã máy được nạp, bộ đếm chương trình sẽ tăng lên 1 để trỏ đến vị trí bộ nhớ tiếp theo.

  • Con trỏ ngăn xếp (Stack Pointer): Trỏ đến một vị trí bộ nhớ trong RAM, gọi là ngăn xếp. Nó luôn tăng/giảm 2 đơn vị trong quá trình đẩy (push) và lấy (pop) dữ liệu từ ngăn xếp.

Ứng dụng của các loại thanh ghi:

  • Bộ tích lũy (A): Thực hiện các phép toán số học và logic, cũng như các phép toán vào/ra (I/O).
  • Bộ đếm chương trình (PC): Quản lý luồng thực thi chương trình.
  • Con trỏ ngăn xếp (SP): Quản lý ngăn xếp, lưu trữ dữ liệu tạm thời và địa chỉ trả về trong quá trình gọi hàm con.
  • Thanh ghi cờ: Cung cấp thông tin trạng thái về kết quả của các phép toán, hỗ trợ ra quyết định trong chương trình.
  • Thanh ghi đa năng (B, C, D, E, H, L): Lưu trữ dữ liệu, địa chỉ bộ nhớ và tham gia vào các phép toán.

Tóm lại, vi xử lý 8085 sử dụng nhiều loại thanh ghi khác nhau, mỗi loại có chức năng riêng biệt, phối hợp hoạt động để thực hiện các tác vụ xử lý dữ liệu. Hiểu rõ chức năng và cách sử dụng các thanh ghi là điều cần thiết để lập trình và điều khiển vi xử lý 8085 một cách hiệu quả.

Comments

No comments yet. Why don’t you start the discussion?

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *