Để đánh địa chỉ chuỗi đọc vào (chuỗi nguồn) thì thanh ghi đoạn DS (Data segment) ta phải kết hợp với thanh ghi nào sau đây?
Trả lời:
Đáp án đúng: A
Trong ngữ cảnh lập trình hợp ngữ (assembly), để truy cập một vị trí nhớ trong bộ nhớ, ta thường kết hợp một thanh ghi đoạn (segment register) với một thanh ghi offset. Thanh ghi đoạn xác định địa chỉ cơ sở của một đoạn bộ nhớ, và thanh ghi offset xác định khoảng cách từ địa chỉ cơ sở này đến vị trí bộ nhớ cụ thể mà ta muốn truy cập.
Trong trường hợp đọc vào một chuỗi (chuỗi nguồn), thanh ghi đoạn **DS (Data Segment)** thường được sử dụng để trỏ đến đoạn dữ liệu. Để xác định địa chỉ chính xác của từng ký tự trong chuỗi nguồn, ta kết hợp DS với một thanh ghi offset. Thanh ghi **SI (Source Index)** thường được dùng làm thanh ghi offset để trỏ đến địa chỉ của ký tự hiện tại trong chuỗi nguồn. Khi thực hiện các lệnh thao tác chuỗi như `LODSB` (load string byte), `LODSW` (load string word), `MOVSB` (move string byte), `MOVSW` (move string word), SI sẽ tự động được tăng hoặc giảm (tùy thuộc vào cờ Direction Flag) để trỏ đến ký tự tiếp theo trong chuỗi.
Các thanh ghi khác không được sử dụng cho mục đích này:
* **ES (Extra Segment)** thường được sử dụng cho chuỗi đích.
* **SS (Stack Segment)** được sử dụng cho stack.
* **SP (Stack Pointer)** được sử dụng để trỏ đến đỉnh của stack.
Do đó, đáp án chính xác là B.
Câu hỏi liên quan

FORM.08: Bộ 130+ Biểu Mẫu Thống Kê Trong Doanh Nghiệp

FORM.07: Bộ 125+ Biểu Mẫu Báo Cáo Trong Doanh Nghiệp

FORM.06: Bộ 320+ Biểu Mẫu Hành Chính Thông Dụng

FORM.05: Bộ 330+ Biểu Mẫu Thuế - Kê Khai Thuế Mới Nhất

FORM.04: Bộ 240+ Biểu Mẫu Chứng Từ Kế Toán Thông Dụng
