JavaScript is required

Cho đoạn mã Assembler sau:

ORG 0000H

MOV A, #3BH

MOV R0, #0B3H

ADD A, R0

CJNE A, #EEH, NHAN

MOV 30H, #23

SJMP KETTHUC

NHAN: MOV 30H, #32

KETTHUC: END.

Kết quả ô nhớ có địa chỉ 30H là:

A.

23H

B.

32H

C.

17H

D.

EEH

Trả lời:

Đáp án đúng: C


Đầu tiên, A được gán giá trị 3BH (59 theo hệ thập phân). Sau đó, R0 được gán giá trị 0B3H (179 theo hệ thập phân). Tiếp theo, A được cộng với R0, tức là A = 3BH + 0B3H = 59 + 179 = 238 (theo hệ thập phân), tương đương với EEH. Câu lệnh CJNE A, #EEH, NHAN so sánh A với EEH. Vì A = EEH, điều kiện này không đúng (A không khác EEH), do đó chương trình không nhảy đến NHAN mà tiếp tục thực hiện lệnh MOV 30H, #23. Vì vậy, ô nhớ 30H sẽ chứa giá trị 23H.

Câu hỏi liên quan