(Load a String)
Lệnh này còn được gọi là lệnh nạp chuỗi. Dạng 1: LODSB
Lệnh trên chuyển 1 byte dữ liệu từ ô nhớ có địa chỉ DS:SI vào thanh ghi AL.
Dạng 2: LODSW
Lệnh trên chuyển 1 word dữ liệu từ ô nhớ có địa chỉ DS:SI vào thanh ghi AX.
Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT
Kiến trúc máy tính 2 - 44
Ví dụ:
Xét chuỗi sau đây: .DATA
ChuoiKT DB ‘Viet Nam’
Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT
Kiến trúc máy tính 2 - 45
Giải:
Vì chuỗi không kết thúc bằng dấu ‘$’ nên không thể hiện chuỗi bằng chức năng số 9 của ngắt 21h. Ta sẽ cho hiện lần lượt các kí tự của chuỗi bằng chức năng số 2 của ngắt 21h (các tham số: AH = 2, DL = Mã ASCII của kí tự cần hiển thị). Chuỗi có 8 kí tự nên cần 8 lần lặp.
Đầu tiên cần chuyển từng kí tự từ chuỗi vào
thanh ghi AL bằng lệnh LODSB, sau đó chuyển từ AL sang DL, rồi gọi chức năng số 2 của ngắt 21h.
Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 2 - 46 TITLE Vi du .MODEL SMALL .STACK 100H .DATA
ChuoiKT DB ’Viet Nam’ .CODE
MAIN PROC
MOV AX, @DATA
MOV DS, AX ;DS chứa segment của đoạn dữ liệu MOV CX, 8 ;Số lần lặp bằng 8
LEA SI, ChuoiKT ;SI chứa offset của ChuoiKT CLD ;Xoá cờ định hướng: DF = 0 Lap:
LODSB ;Chuyển kí tự từ chuỗi vào AL
;SI được tự động tăng lên 1 (để trỏ tới kí tự tiếp theo) MOV DL, AL ;Chuyển kí tự vào DL
MOV AH, 2 ;Hiển thị kí tự INT 21h LOOP Lap MOV AH, 4Ch ;Kết thúc INT 21h MAIN ENDP END MAIN
Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT
Kiến trúc máy tính 2 - 47