JavaScript is required

Cho đoạn mã Assembler sau:

ORG 0000H

MOV R0, #30H

MOV 31H, #4BH

MOV A, R0

INC A

MOV R0, A

ADD A, @R0

END.

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

A.

7CH

B.

30H

C.

7AH

D.

61H

Trả lời:

Đáp án đúng: C


Đoạn mã Assembly thực hiện các bước sau: 1. `MOV R0, #30H`: Gán giá trị 30H cho thanh ghi R0. R0 chứa địa chỉ 30H. 2. `MOV 31H, #4BH`: Gán giá trị 4BH vào ô nhớ có địa chỉ 31H. 3. `MOV A, R0`: Gán giá trị của R0 (30H) vào thanh ghi A. Lúc này A = 30H. 4. `INC A`: Tăng giá trị của A lên 1. Lúc này A = 31H. 5. `MOV R0, A`: Gán giá trị của A (31H) vào thanh ghi R0. R0 chứa địa chỉ 31H. 6. `ADD A, @R0`: Cộng giá trị của ô nhớ có địa chỉ được chứa trong R0 (tức là ô nhớ 31H) vào thanh ghi A. Giá trị của ô nhớ 31H là 4BH. Vậy A = A + (31H) = 31H + 4BH = 7CH. Vậy, kết quả cuối cùng của thanh ghi A là 7CH.

Câu hỏi liên quan