JavaScript is required

Xét đoạn chương trình sau: CMP AL,0 JA GAN MOV CL,AL JMP thoat GAN: MOV BL,AL Thoat: Đoạn chương trình trên được viết bằng cấu trúc nào?

A.

Cấu trúc IF – THEN

B.

Cấu Trúc IF – Then – else

C.

Cấu trúc case

D.

Cấu trúc While – do

Trả lời:

Đáp án đúng: B


Đoạn chương trình sử dụng lệnh `CMP AL,0` để so sánh giá trị của регистр AL với 0. Sau đó, lệnh `JA GAN` (Jump if Above) sẽ nhảy đến nhãn `GAN` nếu giá trị trong AL lớn hơn 0. Nếu không (tức là AL nhỏ hơn hoặc bằng 0), chương trình sẽ tiếp tục thực hiện lệnh `MOV CL,AL`. Sau khi thực hiện một trong hai nhánh, chương trình sẽ nhảy đến nhãn `Thoat`. Cấu trúc này tương ứng với cấu trúc `IF - THEN - ELSE`: - `IF` tương ứng với điều kiện `AL > 0` (kiểm tra bởi `CMP AL,0` và `JA GAN`). - `THEN` tương ứng với khối lệnh `MOV BL,AL` (thực hiện nếu điều kiện đúng, tức AL > 0). - `ELSE` tương ứng với khối lệnh `MOV CL,AL` (thực hiện nếu điều kiện sai, tức AL <= 0). Vì vậy, đáp án chính xác là B. Các đáp án khác không phù hợp vì: - A. Cấu trúc `IF-THEN` chỉ có một nhánh thực hiện nếu điều kiện đúng, không có nhánh `ELSE`. - C. Cấu trúc `CASE` (SWITCH) thường sử dụng để kiểm tra nhiều giá trị khác nhau của một biến, không phù hợp với đoạn code chỉ có một điều kiện. - D. Cấu trúc `WHILE-DO` là cấu trúc lặp, không phù hợp vì đoạn code chỉ thực hiện một lần tùy thuộc vào điều kiện.

Câu hỏi liên quan