<< Chapter < Page | Chapter >> Page > |
CPU-8086 có 16 thanh ghi, mỗi thanh ghi là 16 bit, có thể chia 4 nhóm sau:
CS: Thanh ghi đoạn mã lệnh, lưu địa chỉ đoạn chứa mã lệnh chương trình của người sử dụng
DS: Thanh ghi đoạn dữ liệu, lưu địa chỉ đoạn chứa dữ liệu (các biến) trong chương trình.
ES: Thanh ghi đoạn dữ liệu thêm, lưu địa chỉ đoạn chứa dữ liệu thêm trong chương trình.
SS: Thanh ghi đoạn ngăn xếp, lưu địa chỉ đoạn của vùng ngăn xếp.
15 0 | |
CS | Code Segment |
DS | Data Segment |
ES | Extra data Segment |
SS | Stack Segment |
Thông thường bốn thanh ghi này có thể chứa những giá trị khác nhau, do đó chương trình có thể được truy cập trên bốn đoạn khác nhau và chương trình chỉ có thể truy cập cùng 1 lúc tối đa bốn đoạn. Mặc khác, đối với những chương trình nhỏ, chỉ sử dụng 1 đoạn duy nhất, khi đó cả bốn thanh ghi đều chứa cùng giá trị địa chỉ đoạn, gọi là đoạn chung.
15 8 | 7 0 | |
AH | AL | AX (Accumulator) |
BH | BL | BX (Base register) |
CH | CL | CX (Count register) |
DH | DL | DX (Data register) |
AX : Là thanh ghi tích lũy cơ bản. Mọi tác vụ vào/ra đều dùng thanh ghi này, tác vụ dùng số liệu tức thời, một số tác vụ chuỗi ký tự và các lệnh tính toán đều dùng thanh AX.
BX: Thanh ghi nền dùng để tính toán địa chỉ ô nhớ.
CX: Là thanh ghi đếm, thường dùng để đếm số lần trong một lệnh vòng lặp hoặc lệnh xử lý chuổi ký tự.
DX: Thanh ghi dữ liệu, thường chứa địa chỉ của một số lệnh vào/ra, lệnh tính toán số học (kể cả lệnh nhân và chia).
Mỗi thanh ghi 16 bit có thể chia đôi thành 2 thanh ghi 8 bit. Do đó, CPU-8086 có 8 thanh ghi 8 bit là: AH, AL; BH, BL; CH, CL; DH, DL (thanh ghi AH và AL tương ứng với byte cao và byte thấp của thanh ghi AX, tương tự cho các thanh ghi 8 bit còn lại).
Ví dụ: AX = 1234h =>AH = 12h, AL = 34h
SI : Thanh ghi chỉ số nguồn
DI : Thanh ghi chỉ số đích
BP: Thanh ghi con trỏ nền dùng để lấy số liệu từ ngăn xếp.
SP : Thanh ghi con trỏ ngăn xếp luôn chỉ vào đỉnh ngăn xếp.
15 0 | |
SI | Source Index Reg. |
DI | Destination Index Reg. |
BP | Base Pointer Reg. |
SP | Stack Pointer Reg. |
SI và DI chứa địa chỉ độ dời của ô nhớ tương ứng trong đoạn có địa chỉ chứa trong DS hoặc ES (dữ liệu, còn gọi là Biến). Còn BP và SP chứa địa chỉ độ dời của ô nhớ tương ứng trong đoạn có địa chỉ chứa trong SS, dùng để thâm nhập số liệu trong ngăn xếp.
Notification Switch
Would you like to follow the 'Lập trình hệ thống' conversation and receive update notifications?