Đáp án đúng: D
Lệnh XCHG (Exchange) được sử dụng để hoán đổi nội dung giữa hai toán hạng (thường là hai thanh ghi hoặc một thanh ghi và một vị trí nhớ). Các lệnh khác có chức năng khác:
- MOV: Di chuyển dữ liệu từ một vị trí sang vị trí khác.
- SWAP: Không phải là một lệnh assembly thông thường trong kiến trúc x86.
- ADD: Cộng hai toán hạng lại với nhau.
Câu hỏi liên quan
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 thao tác dữ liệu trong kiến trúc tập lệnh của bộ vi xử lý, đặc biệt là các lệnh liên quan đến việc nạp địa chỉ vào thanh ghi.
Đánh giá các phương án:
- A. LDS (Load Data Segment): Lệnh này nạp một con trỏ từ bộ nhớ vào thanh ghi đích và thanh ghi đoạn dữ liệu (DS). Con trỏ này bao gồm một offset (địa chỉ offset) và một segment selector (địa chỉ segment). Lệnh này không chỉ nạp địa chỉ hiệu dụng mà còn nạp cả segment selector.
- B. MOV (Move): Lệnh này dùng để di chuyển dữ liệu giữa các thanh ghi, hoặc giữa thanh ghi và bộ nhớ. Nó không có chức năng tính toán hoặc nạp địa chỉ hiệu dụng một cách trực tiếp như các lệnh khác.
- C. LES (Load Extra Segment): Tương tự như LDS, lệnh này nạp một con trỏ từ bộ nhớ vào thanh ghi đích và thanh ghi đoạn mở rộng (ES). Con trỏ này bao gồm một offset và một segment selector. Lệnh này không chỉ nạp địa chỉ hiệu dụng mà còn nạp cả segment selector.
- D. LEA (Load Effective Address): Lệnh này tính toán địa chỉ hiệu dụng của toán hạng nguồn (ví dụ: một biểu thức địa chỉ phức tạp) và nạp địa chỉ này vào thanh ghi đích. Lệnh này không truy cập nội dung của bộ nhớ tại địa chỉ đó, mà chỉ tính toán và nạp địa chỉ.
Kết luận:
Lệnh LEA (Load Effective Address) được sử dụng để nạp địa chỉ hiệu dụng vào thanh ghi. Các lệnh LDS và LES cũng nạp địa chỉ, nhưng đồng thời nạp cả segment selector, trong khi MOV dùng để di chuyển dữ liệu chứ không trực tiếp nạp địa chỉ hiệu dụng.
- JA (Jump if Above): Nhảy nếu lớn hơn.
- JB (Jump if Below): Nhảy nếu nhỏ hơn.
- JAE (Jump if Above or Equal): Nhảy nếu lớn hơn hoặc bằng.
- JBE (Jump if Below or Equal): Nhảy nếu nhỏ hơn hoặc bằng.
Vậy, lệnh nhảy nếu kết quả phép so sánh 2 số không dấu là nhỏ hơn là JB.
* Lệnh JMP (Jump): Đây là lệnh nhảy không điều kiện. Khi gặp lệnh này, CPU sẽ ngay lập tức chuyển đến thực hiện lệnh tại địa chỉ được chỉ định bởi JMP.
* Lệnh JL (Jump if Less): Đây là lệnh nhảy có điều kiện. Nó chỉ nhảy nếu kết quả của phép so sánh trước đó cho thấy giá trị thứ nhất nhỏ hơn giá trị thứ hai.
* Lệnh LOOP: Đây là lệnh nhảy có điều kiện, thường được sử dụng trong các vòng lặp. Nó giảm giá trị của thanh ghi CX (hoặc ECX) và nhảy đến một nhãn nếu CX khác 0.
* Lệnh SHL (Shift Left): Đây là lệnh dịch bit sang trái, không phải là lệnh nhảy.
Vậy, đáp án đúng là lệnh JMP.
Lệnh nhảy có điều kiện là lệnh mà việc thực thi lệnh nhảy hay không phụ thuộc vào một điều kiện nào đó (ví dụ như giá trị của một cờ trạng thái).
- Lệnh JMP (A): Là lệnh nhảy không điều kiện, luôn nhảy đến địa chỉ được chỉ định.
- Lệnh JL (B): Là lệnh nhảy có điều kiện, nhảy nếu nhỏ hơn (Jump if Less than). Điều kiện nhảy phụ thuộc vào cờ dấu (SF) và cờ tràn (OF).
- Lệnh LOOP (C): Là lệnh lặp, giảm giá trị của thanh ghi CX và nhảy nếu CX khác 0. Đây cũng là một lệnh nhảy có điều kiện.
- Lệnh SHL (D): Là lệnh dịch trái logic, không phải lệnh nhảy.
Trong các đáp án trên, lệnh JL là lệnh nhảy có điều kiện rõ ràng nhất, vì việc nhảy hay không phụ thuộc trực tiếp vào kết quả so sánh (nhỏ hơn).
Trong các lệnh nhảy có điều kiện (conditional jump) của hợp ngữ (assembly language), đặc biệt là x86, các hậu tố thường được dùng để chỉ các điều kiện khác nhau sau một phép so sánh. Khi so sánh hai số không dấu (unsigned numbers), chúng ta sử dụng các lệnh nhảy khác với khi so sánh số có dấu (signed numbers).
- JGE (Jump if Greater or Equal): Nhảy nếu lớn hơn hoặc bằng (có dấu).
- JLE (Jump if Less or Equal): Nhảy nếu nhỏ hơn hoặc bằng (có dấu).
- JAE (Jump if Above or Equal): Nhảy nếu lớn hơn hoặc bằng (không dấu).
- JBE (Jump if Below or Equal): Nhảy nếu nhỏ hơn hoặc bằng (không dấu).
Câu hỏi yêu cầu lệnh nhảy khi kết quả so sánh 2 số không dấu là nhỏ hơn hoặc bằng. Do đó, đáp án đúng là JBE.

Bộ Đồ Án Tốt Nghiệp Ngành Trí Tuệ Nhân Tạo Và Học Máy

Bộ 120+ Đồ Án Tốt Nghiệp Ngành Hệ Thống Thông Tin

Bộ Đồ Án Tốt Nghiệp Ngành Mạng Máy Tính Và Truyền Thông

Bộ Luận Văn Tốt Nghiệp Ngành Kiểm Toán

Bộ 370+ Luận Văn Tốt Nghiệp Ngành Kế Toán Doanh Nghiệp

Bộ Luận Văn Tốt Nghiệp Ngành Quản Trị Thương Hiệu
ĐĂNG KÝ GÓI THI VIP
- Truy cập hơn 100K đề thi thử và chính thức các năm
- 2M câu hỏi theo các mức độ: Nhận biết – Thông hiểu – Vận dụng
- Học nhanh với 10K Flashcard Tiếng Anh theo bộ sách và chủ đề
- Đầy đủ: Mầm non – Phổ thông (K12) – Đại học – Người đi làm
- Tải toàn bộ tài liệu trên TaiLieu.VN
- Loại bỏ quảng cáo để tăng khả năng tập trung ôn luyện
- Tặng 15 ngày khi đăng ký gói 3 tháng, 30 ngày với gói 6 tháng và 60 ngày với gói 12 tháng.