JavaScript is required

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

A.

Nạp một byte từ M1 vào AL

B.

Nạp một từ vào M1

C.

Nạp một từ vào AL

D.

Nạp một byte vào M1

Trả lời:

Đáp án đúng: A


Đoạn chương trình thực hiện các thao tác sau:

  1. 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.

  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ớ.

  3. 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,$'.

  4. LODSB: Load String Byte. Lệnh này thực hiện các bước sau:

    1. Nạp byte mà SI đang trỏ tới vào thanh ghi AL (Accumulator Low byte).

    2. 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.

Câu hỏi liên quan