JavaScript is required

Cho đoạn mã Assembler sau:

ORG 0000H

MOV R1, #10

MOV A, #20

LAP: INC A

DJNZ R1, LAP

END.

Kết quả của thanh ghi A là:

A.

20H

B.

30H

C.

1EH

D.

E1H

Trả lời:

Đáp án đúng: C


Đoạn mã Assembler thực hiện như sau: 1. **ORG 0000H**: Khai báo chương trình bắt đầu từ địa chỉ 0000H. 2. **MOV R1, #10**: Gán giá trị 10 (decimal) vào thanh ghi R1. R1 là bộ đếm vòng lặp. 3. **MOV A, #20**: Gán giá trị 20 (decimal) vào thanh ghi A. A là thanh ghi tích lũy. 4. **LAP: INC A**: Tăng giá trị của thanh ghi A lên 1. 5. **DJNZ R1, LAP**: Giảm giá trị của thanh ghi R1 đi 1. Nếu R1 khác 0, quay lại nhãn LAP. Nếu R1 bằng 0, tiếp tục thực hiện các lệnh tiếp theo. 6. **END**: Kết thúc chương trình. Vòng lặp sẽ được thực hiện 10 lần (từ 10 giảm về 0). Mỗi lần lặp, giá trị của thanh ghi A tăng lên 1. Ban đầu A = 20. Sau 10 lần lặp, A sẽ là 20 + 10 = 30. Vậy, kết quả của thanh ghi A là 30 (decimal). Đáp án đúng là B. 30H

Câu hỏi liên quan