JavaScript is required

Lệnh nào trong số các lệnh sau đây sử dụng kiểu định địa chỉ tuyệt đối:

A.

SJMP rel

B.

ACALL rel

C.

LCALL rel

D.

MOV A, @A+DPTR

Trả lời:

Đáp án đúng: B


**Phân tích câu hỏi:** Câu hỏi yêu cầu xác định lệnh nào sử dụng kiểu định địa chỉ tuyệt đối (absolute addressing). Kiểu định địa chỉ tuyệt đối sử dụng địa chỉ cụ thể (địa chỉ trực tiếp) trong bộ nhớ để truy cập dữ liệu, khác với các kiểu định địa chỉ tương đối (relative addressing) hoặc gián tiếp (indirect addressing). **Đánh giá các phương án:** * **A. SJMP rel:** `SJMP` (Short Jump) là lệnh nhảy ngắn, sử dụng kiểu định địa chỉ tương đối (relative addressing). `rel` là offset tương đối so với địa chỉ hiện tại của bộ đếm chương trình (program counter). * **B. ACALL rel:** `ACALL` (Absolute Call) là lệnh gọi chương trình con tuyệt đối trong phạm vi 2KB, sử dụng kiểu định địa chỉ tương đối (relative addressing). * **C. LCALL addr16:** `LCALL` (Long Call) là lệnh gọi chương trình con dài, sử dụng kiểu định địa chỉ tuyệt đối (absolute addressing). `addr16` là địa chỉ 16-bit trực tiếp của chương trình con trong bộ nhớ. * **D. MOV A, @A+DPTR:** Đây là lệnh di chuyển dữ liệu từ địa chỉ được tính toán bằng cách cộng giá trị của thanh ghi A và DPTR (Data Pointer) vào thanh ghi A. Đây là kiểu định địa chỉ gián tiếp (indirect addressing) sử dụng thanh ghi. **Kết luận:** Lệnh `LCALL addr16` sử dụng kiểu định địa chỉ tuyệt đối vì `addr16` là địa chỉ trực tiếp trong bộ nhớ.

Câu hỏi liên quan