Xét đoạn chương trình và cho biết kết quả ? DATA M1 DB ‘abcd,$’ Code …… CLD LEA SI,M1 LODSB
Trả lời:
Đáp án đúng: A
Đoạn chương trình sử dụng các lệnh sau:
1. `DATA M1 DB 'abcd,$'` : Định nghĩa một vùng nhớ `M1` chứa chuỗi 'abcd,$'. Mỗi ký tự trong chuỗi này chiếm 1 byte.
2. `CLD`: Xóa cờ hướng (Direction Flag). Điều này có nghĩa là `SI` (Source Index) sẽ tự động tăng lên sau mỗi lần truy xuất bộ nhớ bằng các lệnh như `LODSB`.
3. `LEA SI, M1`: Nạp địa chỉ của `M1` vào thanh ghi `SI`. `SI` bây giờ trỏ đến byte đầu tiên của chuỗi 'abcd,$'.
4. `LODSB`: Lệnh này nạp một byte từ vị trí bộ nhớ mà `SI` đang trỏ tới vào thanh ghi `AL` (Accumulator Low byte). Sau đó, `SI` sẽ tự động tăng lên 1 (do `CLD` đã được thực hiện).
Như vậy, lệnh `LODSB` sẽ nạp byte đầu tiên của chuỗi 'abcd,$' (tức là ký tự 'a') vào thanh ghi `AL`.
Do đó, đáp án đúng là: Nạp một byte từ M1 vào AL.
Câu hỏi liên quan

FORM.08: Bộ 130+ Biểu Mẫu Thống Kê Trong Doanh Nghiệp

FORM.07: Bộ 125+ Biểu Mẫu Báo Cáo Trong Doanh Nghiệp

FORM.06: Bộ 320+ Biểu Mẫu Hành Chính Thông Dụng

FORM.05: Bộ 330+ Biểu Mẫu Thuế - Kê Khai Thuế Mới Nhất

FORM.04: Bộ 240+ Biểu Mẫu Chứng Từ Kế Toán Thông Dụng
