JavaScript is required

Lệnh nhảy nếu kết quả phép so sánh 2 số không dấu là lớn hơn?

A.

JG

B.

JL

C.

JA

D.

JB

Trả lời:

Đáp án đúng: C


Trong hợp ngữ (assembly), các lệnh nhảy có điều kiện được sử dụng để thay đổi luồng thực thi của chương trình dựa trên kết quả của các phép so sánh hoặc trạng thái của các cờ (flags). Khi so sánh hai số không dấu, các lệnh nhảy khác nhau sẽ được sử dụng tùy thuộc vào ý nghĩa của phép so sánh (lớn hơn, nhỏ hơn, bằng nhau, v.v.).

Trong trường hợp này, câu hỏi yêu cầu xác định lệnh nhảy khi kết quả so sánh hai số không dấu là "lớn hơn". Trong hợp ngữ x86, lệnh nhảy cho trường hợp này là JA (Jump if Above). Lệnh JA sẽ nhảy đến một nhãn (label) được chỉ định nếu cờ Carry (CF) và cờ Zero (ZF) đều không được thiết lập (CF = 0 và ZF = 0). Điều này có nghĩa là số hạng thứ nhất lớn hơn số hạng thứ hai khi cả hai số được xem là không dấu.

Các lựa chọn khác không phù hợp vì:
- JG (Jump if Greater): Được sử dụng cho so sánh số có dấu, không phù hợp cho số không dấu.
- JL (Jump if Less): Được sử dụng cho so sánh số có dấu, không phù hợp cho số không dấu.
- JB (Jump if Below): Được sử dụng cho so sánh số không dấu, nhưng để kiểm tra điều kiện "nhỏ hơn".

Câu hỏi liên quan