Tiền tố REP (Repeat String Instruction until CX= 0).

Một phần của tài liệu Giáo trình assembly pot (Trang 47 - 49)

- US E: chỉ có từ thế hệ 80386 và chỉ được dùng với chỉ dẫn hướng 386 use16 ASM 16 bit (default): Độ dài đoạn cực đại là 64Kbyte

5)Tiền tố REP (Repeat String Instruction until CX= 0).

Chức năng: Lặp đi lặp lai lệnh làm việc với xâu kí tự đằng sau nó cho đến khi cx = 0. Sau mỗi lần thực hiện cx tự động giảm đi 1

rep lệnh làm việc với xâu ; rep movsb Thuật toán 1. DS:SI 2. ES:DI 3. D = 0 4. CX = 5

5. rep movsb; sau mỗi lần cx = cx – 1 cho đến khi cx = 0.

3.5 Các lệnh nhảy – Chuyển điều khiển

1) Lệnh Call

Chức năng: Gọi chương trình con Cú pháp

2) Lệnh RET

Chức năng: quay về chương trình đã gọi chương trình con Cú pháp: RET (nằm ở cuối chương trình con)

3) Lệnh INT

Chức năng: Kích hoạt một ngắt (chuyển sang chạy chương trình con phục vụ ngắt) (Ngắt mềm).

Cú pháp: int n (số ngắt viết theo số hexa) Ví du: int 21h = int 33

Các ngắt hay dùng hỗ trợ cho lập trình Assembler

• Hàm 1: Chờ 1 kí tự

mov ah,1 ; gán ah = 1 al chứa mã ASCII

; al = 0 khi kí tự gõ vào là các phím chức năng. int 21h

Cách 1:

mov al, mã ASCII mov ah,0eh

int 10h Cách 2:

mov dl, mã ASCII

; dl = mã ASCII của kí tự cần hiển thị mov ah,2

int 21h

• Hàm 3: Hiện xâu kí tự kết thúc ‘$’ lên màn hình. lea dx, tên biến xâu

; mov dx,offset tên biến xâu mov ah,9 int 21h • Hàm 4: Trở về DOS mov ah,4ch int 21h 4) Lệnh IRET

Chức năng: quay về chương trình đã kích hoạt nó từ chương trình con phục ngắt.

Cú pháp: IRET - Lệnh JMP (go to)

Chức năng: nhảy không điều kiện Cú pháp:

Chú ý: Bước nhảy của lệnh jump < 64k

Một phần của tài liệu Giáo trình assembly pot (Trang 47 - 49)