JavaScript is required

Cho đoạn mã Assembler sau:

ORG 0000H CLR C

MOV R1, #10

MOV A, #100

LAP: SUBB A, #2

DJNZ R1, LAP

END.

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

A.

100H

B.

64H

C.

50H

D.

90H

Trả lời:

Đáp án đúng: C


Đoạn mã Assembly thực hiện một vòng lặp để trừ giá trị từ thanh ghi A. Ban đầu: - A = 100 (decimal) - R1 = 10 (decimal) Vòng lặp LAP: - SUBB A, #2: Trừ 2 từ A. - 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, A sẽ giảm đi 2. Vậy tổng cộng A sẽ giảm đi 2 * 10 = 20. Giá trị cuối cùng của A là: 100 - 20 = 80 (decimal). Đổi 80 (decimal) sang hệ Hexadecimal ta có 50H Vậy kết quả của thanh ghi A là 50H

Câu hỏi liên quan