JavaScript is required

Cho đoạn mã Assembler sau:MOV R0, #7FHMOV 7EH, #00HMOV 7FH, #40HDEC @R0DEC R0DEC @R0Kết quả của thanh ghi R0 là:

A.

7FH

B.

7EH

C.

FFH

D.

3FH

Trả lời:

Đáp án đúng: C


Đoạn mã Assembler thực hiện các bước sau: 1. `MOV R0, #7FH`: Gán giá trị 7FH (127 trong hệ thập phân) cho thanh ghi R0. 2. `MOV 7EH, #00H`: Gán giá trị 00H cho ô nhớ có địa chỉ 7EH. 3. `MOV 7FH, #40H`: Gán giá trị 40H cho ô nhớ có địa chỉ 7FH. Tại thời điểm này, R0 đang chứa địa chỉ 7FH. 4. `DEC @R0`: Giảm giá trị của ô nhớ được trỏ bởi R0 đi 1. R0 đang trỏ đến địa chỉ 7FH, nơi chứa giá trị 40H. Sau lệnh này, giá trị tại ô nhớ 7FH sẽ là 3FH (40H - 1 = 3FH). 5. `DEC R0`: Giảm giá trị của thanh ghi R0 đi 1. R0 bây giờ sẽ chứa giá trị 7EH. 6. `DEC @R0`: Giảm giá trị của ô nhớ được trỏ bởi R0 đi 1. R0 đang trỏ đến địa chỉ 7EH, nơi chứa giá trị 00H. Sau lệnh này, giá trị tại ô nhớ 7EH sẽ là FFH (00H - 1 = FFH). Tuy nhiên, câu hỏi chỉ hỏi giá trị của R0, không phải giá trị của ô nhớ. Sau lệnh `DEC R0`, giá trị của R0 là 7EH.

Câu hỏi liên quan