JavaScript is required

Cho đoạn mã Assembler sau:

ORG 0000H

MOV R1, #10

MOV A, #20

LAP: ADD A, #2

DJNZ R1, LAP

END.

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

A.

20H

B.

40H

C.

30H

D.

28H

Trả lời:

Đáp án đúng: D


Đoạn chương trình thực hiện một vòng lặp. Ban đầu, R1 được khởi tạo bằng 10 (tương đương 0AH), và A được khởi tạo bằng 20 (tương đương 14H). Vòng lặp LAP: ADD A, #2; DJNZ R1, LAP Lệnh ADD A, #2 cộng giá trị 2 vào thanh ghi A. Lệnh DJNZ R1, LAP giảm R1 đi 1 và nhảy về LAP nếu R1 khác 0. Vòng lặp này sẽ thực hiện 10 lần. Mỗi lần lặp, A sẽ tăng thêm 2. Vì vậy, sau 10 lần lặp, A sẽ tăng thêm 2 * 10 = 20. Giá trị ban đầu của A là 20. Sau 10 lần lặp, giá trị của A sẽ là 20 + 20 = 40. Vậy, kết quả cuối cùng của thanh ghi A là 40 (tương đương 28H theo hệ thập lục phân).

Câu hỏi liên quan