Cho đoạn mã Assembler sau:
ORG 0000H
MOV A, #20
JZ NHAN
MOV 30H, #0C0H
SJMP KETTHUC
NHAN: MOV 30H, #4CH
KETTHUC: END.
Kết quả ô nhớ có địa chỉ 30H là:
Trả lời:
Đáp án đúng: B
Đoạn mã Assembler thực hiện như sau:
1. **ORG 0000H**: Khai báo chương trình bắt đầu từ địa chỉ 0000H.
2. **MOV A, #20**: Gán giá trị 20 (hệ thập lục phân) vào thanh ghi A.
3. **JZ NHAN**: Kiểm tra xem thanh ghi A có bằng 0 không. Vì A đang chứa giá trị 20 (khác 0), điều kiện JZ (Jump if Zero) không được thỏa mãn.
4. **MOV 30H, #0C0H**: Gán giá trị 0C0H (hệ thập lục phân) vào ô nhớ có địa chỉ 30H.
5. **SJMP KETTHUC**: Nhảy vô điều kiện đến nhãn KETTHUC.
6. **NHAN: MOV 30H, #4CH**: Đoạn mã này sẽ không được thực hiện vì chương trình đã nhảy qua ở bước 3.
7. **KETTHUC: END**: Kết thúc chương trình.
Như vậy, ô nhớ 30H sẽ chứa giá trị 0C0H.





