JavaScript is required

Cho đoạn mã Assembler sau:

ORG 0000H

MOV A, #0B0H

MOV 30H, #23H

MOV R1, #30H

ADD A, @R1

END.

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

A.

53H

B.

E0H

C.

60H

D.

D3H

Trả lời:

Đáp án đúng: D


Đoạn mã Assembler thực hiện các bước sau: 1. **MOV A, #0B0H**: Gán giá trị B0H (tương đương 176 trong hệ thập phân) vào thanh ghi A. 2. **MOV 30H, #23H**: Gán giá trị 23H (tương đương 35 trong hệ thập phân) vào ô nhớ có địa chỉ 30H. 3. **MOV R1, #30H**: Gán địa chỉ 30H vào thanh ghi R1. R1 bây giờ chứa con trỏ đến ô nhớ 30H. 4. **ADD A, @R1**: Cộng giá trị của ô nhớ được trỏ bởi R1 (tức là ô nhớ 30H, chứa giá trị 23H) vào thanh ghi A. Vậy A = A + (30H) = B0H + 23H. - B0H + 23H = (176 + 35) = 211 (trong hệ thập phân). - Chuyển 211 sang hệ hexa: 211 = D3H. Vậy, kết quả cuối cùng của thanh ghi A là D3H.

Câu hỏi liên quan