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 thực hiện các thao tác sau:
DATA M1 DB 'abcd,$': Khai báo một vùng nhớ tên M1 chứa chuỗi 'abcd,$'. Mỗi ký tự chiếm 1 byte.
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ớ.
LEA SI, M1: Load Effective Address. Lệnh này nạp địa chỉ của vùng nhớ M1 vào thanh ghi SI. SI bây giờ trỏ đến byte đầu tiên của chuỗi 'abcd,$'.
LODSB: Load String Byte. Lệnh này thực hiện các bước sau:
Nạp byte mà SI đang trỏ tới vào thanh ghi AL (Accumulator Low byte).
Tăng SI lên 1 (do CLD đã được thực hiện trước đó).
Vì vậy, LODSB nạp một byte từ M1 vào AL.





