intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Cấu trúc máy tính: Chương 9 - Ngô Phước Nguyên

Chia sẻ: Trương Thị Mỹ | Ngày: | Loại File: PDF | Số trang:26

36
lượt xem
5
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Nội dung chương 9 trình bày đến người học những vấn đề liên quan đến "Macro", cụ thể như: Định nghĩa macro và gọi macro, vấn đề truyền thông số trong macro, macro lồng nhau, sử dụng macro để gọi chương trình con, các toán tử macro, thư viện macro, so sánh việc dùng macro với procedure, một số macro mẫu.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Cấu trúc máy tính: Chương 9 - Ngô Phước Nguyên

ĐỊNH NGHĨA MACRO<br /> Macro là 1 ký hiệu được gán cho 1 nhóm<br /> lệnh ASM – Macro là tên thay thế cho 1 nhóm<br /> lệnh.<br /> Tại sao cần có Macro :<br /> Trong lập trình nhiều lúc ta cần phải viết những<br /> lệnh na ná nhau nhiều lần mà ta không muốn viết<br /> dưới dạng hàm vì dùng hàm tốn thời gian thực thi,<br /> thay vì ta phải viết đầy đủ nhóm lệnh này vào CT, ta<br /> chỉ cần viết Macro mà ta đã gán cho chúng.<br /> CHUONG 9 MACRO<br /> <br /> 1<br /> <br /> LÀM QUEN VỚI MACRO<br /> Khi ta cĩ nhiều đoạn code giống nhau, chúng ta cĩ thể<br /> dùng macro để thay thế, giống như ta dùng define trong<br /> C. Thí dụ chúng ta thay thế đọan lệnh sau bằng macro<br /> để in dấu xuống dịng.<br /> <br /> MOV DL,13 ; về đầu dịng<br /> MOV AH,2<br /> INT 21H<br /> MOV DL,10 ; xuống dịng mới<br /> MOV AH,2<br /> INT 21H<br /> <br /> CHUONG 9 MACRO<br /> <br /> 2<br /> <br /> Thay vì phải viết lại 6 dịng lệnh trên, ta cĩ<br /> thể tạo 1 macro cĩ tên @Newline để thay thế<br /> đoạn code này :<br /> @NewLine Macro<br /> MOV DL,13<br /> MOV AH,2<br /> INT 21H<br /> MOV DL,10<br /> <br /> Sau đó, bất kỳ chỗ nào<br /> cần xuống dòng, ta chỉ<br /> cần gọi macro<br /> @NewLine.<br /> @NewLine<br /> <br /> MOV AH,2<br /> INT 21H<br /> ENDM<br /> <br /> CHUONG 9 MACRO<br /> <br /> 3<br /> <br /> MACRO (tt)<br /> Khi hợp dịch nội dung nhóm lệnh này mà ta đã gán<br /> cho macro sẽ được thay thế vào những nơi có tên<br /> macro trước khi CT được hợp dịch thành file OBJ.<br /> Ex1 : nhiều khi ta phải viết lại nhiều lần đoạn lệnh<br /> xuất ký tự trong DL ra màn hình.<br /> MOV AH, 2<br /> INT 21H<br /> Thay vì phải viết cả 1 cặp lệnh trên mỗi khi cần<br /> xuất ký tự trong DL, ta có thể viết Macro<br /> PUTCHAR như sau :<br /> PUTCHAR MACRO<br /> MOV AH,2<br /> INT 21H<br /> ENDM<br /> <br /> CHUONG 9 MACRO<br /> <br /> 4<br /> <br /> MỞ RỘNG CỦA MACRO CÓ THỂ XEM<br /> TRONG FILE.LIST.<br /> 3 DIRECTIVE BIÊN DỊCH SAU SẼ QUYẾT<br /> ĐỊNH MỞ RỘNG MACRO NHƯ THẾ NÀO.<br /> .SALL (SUPRESS ALL) PHẦN MỞ RỘNG MACRO<br /> KHÔNG ĐƯỢC IN. SỬ DỤNG KHI MACRO LỚN HAY<br /> MACRO ĐƯỢC THAM CHIẾU NHIỀU LẦN TRONG CT.<br /> .XALL CHỈ NHỮNG DÒNG MACRO TẠO MÃ NGUỒN<br /> MỚI ĐƯỢC IN RA.THÍ DỤ CÁC DÒNG CHÚ THÍCH<br /> ĐƯỢC BỎ QUA. ĐÂY LÀ TUỲ CHỌN DEFAULT.<br /> .LALL (LIST ALL) TOÀN BỘ CÁC DÒNG TRONG<br /> MACRO ĐƯỢC IN RA TRỪ NHỮNG CHÚ THÍCH BẮT<br /> ĐẦU BẰNG 2 DẤU ;;<br /> CHUONG 9 MACRO<br /> <br /> 5<br /> <br />
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2