1/ Cỳ phỏp:
Sau khi đó định nghĩa MACRO, ta cú thể gọi trực tiếp chỳng từ chương trỡnh hiện tại tương tự như cỏc lệnh khỏc của hợp ngữ. Theo dạng sau:
<tờn MACRO> <Cỏc tham số thực sự> trong đú:
Giỏo trỡnh VI XỬ Lí http://www.ebook.edu.vn
Bộ mụn Kỹ thuật mỏy tớnh – Khoa CNTT – ĐHSPKT_HY Trang 69
- Tờn MACRO là tờn đó được khai bỏo trong phần định nghĩa.
- Cỏc tham số thực sự là cỏc tham số, cỏc biến của chương trỡnh gọi. Cỏc tham số này cũng phải được ngăn cỏch nhau bởi dấu phẩy.
2/ Vớ dụ:
Giả sử cú hai biến kiểu WORD là a và b. Nếu gọi MACRO đó định nghĩa ở trờn thỡ ta sử
dụng lời gọi như sau:
MOVW a,b ;chuyen noi dung cua bien b sang cho bien a 3/ Chỳ ý:
- Lời gọi MACRO phải nằm trong đoạn mó của chương trỡnh.
- Trong trường hợp cỏc thanh ghi cú thể bị thay đổi, ta cú thể sử dụng ngăn xếp để chứa dữ liệu tạm thời, và sau đú cú thể khụi phục lại.
4/ Bài tập: Viết một chương trỡnh in ra màn hỡnh cỏc thụng tin về bản thõn. Sau mỗi lần hiển thị ra một thụng tin, người sử dụng Chương trỡnh: title ct .MODEL Small .STACK 100h .DATA
hoten DB 'Ho va ten: Nguyen Thanh Toan $' nsinh DB 'Ngay sinh: 10-10-1983 $'
que DB 'Que quan: Thanh Mien-Hai Duong $' ;Dinh nghia MACRO in chuoi ki tu ra man hinh WRITE MACRO st
MOV AH,9
MOV DX,OFFSET st INT 21H
ENDM
;dinh nghia MACRO nhan phim ENTER enter MACRO LOCAL L MOV AH,08H L: INT 21H CMP AL,13 JNE L ENDM
Giỏo trỡnh VI XỬ Lí http://www.ebook.edu.vn
Bộ mụn Kỹ thuật mỏy tớnh – Khoa CNTT – ĐHSPKT_HY Trang 70
;dinh nghia MACRO in chuoi tren 1 dong WRITELN MACRO STR
MOV AH,09 LEA DX,STR INT 21H MOV AH,02 MOV DL,13 INT 21H MOV DL,10 INT 21H ENDM .CODE main PROC
MOV AX,@DATA ;khoi tao DS MOV DS,AX
WRITELN HOTEN ;in ra ho va ten
ENTER ;nhan enter
WRITELN NSINH ;in ra ho va ten ENTER ;nhan enter WRITELN QUE ;in ra ho va ten ENTER ;nhan enter MOV AH,4Ch ;ket thuc
INT 21h ;chuong trinh main ENDP
END main