JavaScript is required

Giả sử AX=35F7H, BX=126EH, sau lệnh CMP AX, BX lệnh nào sau đây chuyển điều khiển chương trình đến nhãn N?

A.

JG N

B.

JL N

C.

JE N

D.

JB N

Trả lời:

Đáp án đúng: A


Trong đoạn mã Assembly, lệnh CMP AX, BX sẽ so sánh giá trị của thanh ghi AX và BX. Kết quả của phép so sánh này sẽ ảnh hưởng đến các cờ (flags) trong thanh ghi cờ (EFLAGS). Các lệnh nhảy có điều kiện (conditional jump instructions) sẽ kiểm tra các cờ này để quyết định có nhảy đến nhãn được chỉ định hay không.

Trong trường hợp này, AX = 35F7H và BX = 126EH.

Đổi sang hệ thập phân: AX = 13815, BX = 4718

Do đó, AX > BX.

- JG (Jump if Greater): Nhảy nếu lớn hơn (có dấu). Lệnh này sẽ nhảy nếu ZF=0 và SF=OF (Zero Flag = 0 và Sign Flag = Overflow Flag). Trong trường hợp AX > BX, JG sẽ nhảy. - JL (Jump if Less): Nhảy nếu nhỏ hơn (có dấu). Lệnh này sẽ nhảy nếu SF!=OF (Sign Flag khác Overflow Flag). Trong trường hợp AX > BX, JL sẽ không nhảy. - JE (Jump if Equal): Nhảy nếu bằng. Lệnh này sẽ nhảy nếu ZF=1 (Zero Flag = 1). Trong trường hợp AX > BX, JE sẽ không nhảy. - JB (Jump if Below): Nhảy nếu nhỏ hơn (không dấu). Lệnh này sẽ nhảy nếu CF=1 (Carry Flag = 1). Trong trường hợp AX > BX, JB sẽ không nhảy.

Vậy, đáp án đúng là A. JG N.

Câu hỏi liên quan