Danh mục

GIÁO TRÌNH CẤU TRÚC MÁY TÍNH LẬP TRÌNH HỢP NGỮ_CHƯƠNG 9

Số trang: 27      Loại file: pdf      Dung lượng: 1.08 MB      Lượt xem: 10      Lượt tải: 0    
Thư viện của tui

Xem trước 3 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Tham khảo tài liệu giáo trình cấu trúc máy tính lập trình hợp ngữ_chương 9, công nghệ thông tin, phần cứng phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Nội dung trích xuất từ tài liệu:
GIÁO TRÌNH CẤU TRÚC MÁY TÍNH LẬP TRÌNH HỢP NGỮ_CHƯƠNG 9 MACRO MACROĐịnh nghĩa Macro và gọi MacroVaán ñeà truyeàn thoâng soá trong Macro.Macro loàng nhau. ngSöû duïng Macro ñeå goïi chöông trình con. ngCaùc toaùn töû Macro.Thö vieän MacroSo saùnh vieäc duøng Macro vôùi Procedure nh ngMoät soá Macro maãu. CHUONG 9 MACRO 1 CHUONG ÑÒNH NGHÓA MACRO ÑÒNH NGHÓA MACRO Macro laø 1 kyù hieäu ñöôïc gaùn cho 1 nhoùmleänh ASM – Macro laø teân thay theá cho 1 nhnhoùm leänh. nh Taïi sao caàn coù Macro : Trong laäp trình nhieàu luùc ta caàn phaûi vieát nhöõngleänh na naù nhau nhieàu laàn maø ta khoâng muoán vieát nhdöôùi daïng haøm vì duøng haøm toán thôøi gian thöïc thi, ng ngthay vì ta phaûi vieát ñaày ñuû nhoùm leänh naøy vaøo CT, nhta chæ caàn vieát Macro maø ta ñaõ gaùn cho chuùng. ng CHUONG 9 MACRO 2 CHUONGLÀM QUEN VỚI MACROKhi ta có nhiều đoạn code giống nhau, chúng tacó thể dùng macro để thay thế, giống như ta dùngdefine trong C. Thí dụ chúng ta thay thế đọan lệnhsau bằng macro để in dấu xuống dòng. MOV DL,13 ; về đầu dòng MOV AH,2 INT 21H MOV DL,10 ; xuống dòng mới MOV AH,2 INT 21H CHUONG 9 MACRO 3 CHUONG Thay vì phải viết lại 6 dòng lệnh trên, ta có thể tạo 1 macro có tên @Newline để thay thế đoạn code này :@NewLine Macro MOV DL,13 Sau đó, bất kỳ chỗ nào cần xuống dòng, ta chỉ MOV AH,2 cần gọi macro INT 21H @NewLine. MOV DL,10 @NewLine MOV AH,2 INT 21HENDM CHUONG 9 MACRO 4 CHUONG MACRO (tt) MACRO (tt) Khi hôïp dòch noäi dung nhoùm leänh naøy maø ta ñaõ nhgaùn cho macro seõ ñöôïc thay theá vaøo nhöõng nôi coùteân macro tröôùc khi CT ñöôïc hôïp dòch thaønh file nhOBJ. Ex1 : nhieàu khi ta phaûi vieát laïi nhieàu laàn ñoaïn leänh xuaát kyù töï trong DL ra maøn hình. nh MOV AH, 2 INT 21H Thay vì phaûi vieát caû 1 caëp leänh treân moãi khi caàn nh xuaát kyù töï trong DL, ta coù theå vieát Macro PUTCHAR nhö sau : PUTCHAR MACRO MOV AH,2 INT 21H ENDM CHUONG 9 MACRO 5 CHUONG MÔÛ ROÄNG CUÛA MACRO COÙ THEÅ XEM NGTRONG FILE.LIST. 3 DIRECTIVE BIEÂN DÒCH SAU SEÕ QUYEÁTÑÒNH MÔÛ ROÄNG MACRO NHÖ THEÁ NAØO. NG O. .SALL (SUPRESS ALL) PHAÀN MÔÛ ROÄNG MACRO NGKHOÂNG ÑÖÔÏC IN. SÖÛ DUÏNG KHI MACRO LÔÙN HAY NGMACRO ÑÖÔÏC THAM CHIEÁU NHIEÀU LAÀN TRONG CT. .XALL CHÆ NHÖÕNG DOØNG MACRO TAÏO MAÕ NGUOÀN NGMÔÙI ÑÖÔÏC IN RA.THÍ DUÏ CAÙC DOØNG CHUÙ THÍCH NGÑÖÔÏC BOÛ QUA. ÑAÂY LAØ TUYØ CHOÏN DEFAULT. .LALL (LIST ALL) TOAØN BOÄ CAÙC DOØNG TRONG NGMACRO ÑÖÔÏC IN RA TRÖØ NHÖÕNG CHUÙ THÍCH BAÉTÑAÀU BAÈNG 2 DAÁU ;; NG CHUONG 9 MACRO 6 CHUONG ÑÒNH NGHÓA MACRO ÑÒNH NGHÓA MACRO CUÙ PHAÙP KHAI BAÙO MACRO :MACRO_NAME MACRO [ ] C>] STATEMENTSENDM GOÏI MACRO :MACRO_NAME [, ...] C>, THOÂNG SOÁ HÌNH THÖÙC CHÆ COÙ TAÙC DUÏNG ÑAÙNH DAÁU VÒ TRÍ CUÛA THOÂNG SOÁ TRONG MACRO. QUAN TROÏNG NHAÁT LAØ VÒ TRÍ CAÙC THOÂNG SOÁ. CHUONG 9 MACRO 7 CHUONG MACRO TRUYỀN THAM SỐ.MODEL SMALL MOV AH,4CH.STACK 100H INT 21H PUTCHAR MACRO KT MOV DL,KT MAIN ENDP MOV AH,2 END MAIN INT 21H ENDM.CODE MAIN PROC MOV DL, ‘A’ PUTCHAR MOV DL, ‘*” PUTCHAR CHUONG 9 MACRO 8 CHUONGSWAP MACRO BIEÁN1, BIEÁN2 N1, N2 MOV AX, BIEN1 XCHG AX, BIEN2 MOV BIEN1, AXENDMGOÏI : SWAP TRI1, TRI2 CHUONG 9 MACRO 9 CHUONG TRAO ÑOÅI THAM SOÁ CUÛA MACROMOÄT MACRO COÙ THEÅ COÙ THOÂNG SOÁ HOAËC KHOÂNG COÙ THOÂNG SOÁ. MACRO COÙ THOÂNG SOÁ SÖÛ DUÏNG MACRO . CODEPUTC ...

Tài liệu được xem nhiều: