JavaScript is required

Lệnh nhảy nào trong số các lệnh sau đây có tầm nhảy đến phải ở trong cùng khối 2KB của bộ nhớ chương trình:

A.

SJMP

B.

AJMP

C.

LJMP

D.

RJMP

Trả lời:

Đáp án đúng: B


Phân tích câu hỏi: Câu hỏi này kiểm tra kiến thức về các lệnh nhảy trong kiến trúc vi điều khiển 8051 và phạm vi nhảy (tầm nhảy) của chúng.

Đánh giá các phương án:

  • A. SJMP (Short Jump): Lệnh nhảy ngắn, sử dụng địa chỉ tương đối 8-bit có dấu. Phạm vi nhảy là -128 đến +127 byte so với địa chỉ lệnh tiếp theo. Phạm vi này nằm trong khoảng 256 bytes, không phải 2KB.
  • B. AJMP (Absolute Jump): Lệnh nhảy tuyệt đối, sử dụng 11-bit địa chỉ trong opcode. 11-bit cho phép định địa chỉ 211 = 2048 bytes = 2KB. Lệnh AJMP chỉ có thể nhảy đến một địa chỉ nằm trong cùng một khối 2KB của bộ nhớ chương trình.
  • C. LJMP (Long Jump): Lệnh nhảy dài, sử dụng địa chỉ 16-bit đầy đủ. Phạm vi nhảy là toàn bộ bộ nhớ chương trình 64KB.
  • D. RJMP (Relative Jump): Lệnh này không phải là một lệnh hợp lệ trong tập lệnh 8051. Nó có thể là một biến thể hoặc lệnh từ một kiến trúc khác. Tuy nhiên, dựa vào tiền tố 'R' (Relative), nó có thể ngụ ý một lệnh nhảy tương đối, tương tự như SJMP nhưng có thể với một phạm vi khác. Ngay cả khi nó có nghĩa là nhảy tương đối thì nó cũng không có tầm nhảy 2KB như yêu cầu.

Kết luận: Lệnh AJMP có tầm nhảy đến phải ở trong cùng khối 2KB của bộ nhớ chương trình.

Câu hỏi liên quan