Cấu trúc Máy tính và Lập trình Assembly - Chương 9
Số trang: 27
Loại file: pdf
Dung lượng: 1.13 MB
Lượt xem: 14
Lượt tải: 0
Xem trước 3 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
MACRO MACROĐịnh nghĩa Macro v go.i Macro Vấn đề truyền thông số trong Macro. Macro lồng nhau. ng Sử dụng Macro để gọi chương trình con. ng Các toán tử Macro. Thư viện Macro So sánh việc dùng Macro với Procedure nh ng Một số Macro mẫu.
Nội dung trích xuất từ tài liệu:
Cấu trúc Máy tính và Lập trình Assembly - 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.Macro lo ngSöû duïng Macro ñeå goïi chöông trình con. ng MacroCaùc toaùn töû Macro.Thö vieän MacroSo saùnh vieäc duøng Macro vôùi ProcedureSo sa nh ng Macro vôMoät soá Macro maãu. Macro maã 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ùm Macro la ky nholeänh ASM – Macro laø teân thay theá cho 1 nh ASM Macro lanhoùm leänh.nho nh Taïi sao caàn coù Macro : Ta 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,thay nh CT,ta chæ caàn vieát Macro maø ta ñaõ gaùn cho chuùng.ta Macro ma 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 MACRO (tt) Khi hôïp dòch noäi dung nhoùm leänh naøy maø ta ñaõ Khi dung nho nhgaùn cho macro seõ ñöôïc thay theá vaøo nhöõng nôi coù macro seõteân macro tröôùc khi CT ñöôïc hôïp dòch thaønh file macro tr CT ñö nh fileOBJ.OBJ.x1 : nhieàu khi ta phaûi vieát laïi nhieàu laàn ñoaïn E Ex1 nhie leänh xuaát kyù töï trong DL ra maøn hình. nh DL ra MOV AH, 2 INT 21H Thay vì phaûi vieát caû 1 caëp leänh treân moãi khi caàn ca nh xuaát kyù töï trong DL, ta coù theå vieát Macro DL, ta Macro PUTCHAR nhö sau : nh PUTCHAR MACRO MOV AH,2 INT 21H ENDM CHUONG 9 MACRO 5 CHUONG MÔÛ ROÄNG CUÛA MACRO COÙ THEÅ XEM NG XEMTRONG FILE.LIST.TRONG 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 MACROKHOÂNG ÑÖÔÏC IN. SÖÛ DUÏNG KHI MACRO LÔÙN HAY ÑÖ NG HAYMACRO ÑÖÔÏ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ÍCHMÔ ÑÖ NG CHÑÖÔÏC BOÛ QUA. ÑAÂY LAØ TUYØ CHOÏN DEFAULT.ÑÖ QUA. .LALL (LIST ALL) TOAØN BOÄ CAÙC DOØNG TRONGMACRO ÑÖÔÏ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 : MACROMACRO_NAME [, ...]MACRO_NAME ...] 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.MODEL MOV AH,4CH.STACK 100H.STACK INT 21H PUTCHAR MACRO KT MOV DL,KT MAIN ENDP MOV AH,2 END MAIN INT 21H ENDM.CODE MAIN PROC MOV DL, ‘A’ MOV PUTCHAR MOV DL, ‘*” MOV PUTCHAR CHUONG 9 MACRO 8 CHUONGSWAP MACRO BIEÁN1, BIEÁN2 N1, N2 MOV AX, BIEN1 XCHG AX, ...
Nội dung trích xuất từ tài liệu:
Cấu trúc Máy tính và Lập trình Assembly - 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.Macro lo ngSöû duïng Macro ñeå goïi chöông trình con. ng MacroCaùc toaùn töû Macro.Thö vieän MacroSo saùnh vieäc duøng Macro vôùi ProcedureSo sa nh ng Macro vôMoät soá Macro maãu. Macro maã 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ùm Macro la ky nholeänh ASM – Macro laø teân thay theá cho 1 nh ASM Macro lanhoùm leänh.nho nh Taïi sao caàn coù Macro : Ta 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,thay nh CT,ta chæ caàn vieát Macro maø ta ñaõ gaùn cho chuùng.ta Macro ma 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 MACRO (tt) Khi hôïp dòch noäi dung nhoùm leänh naøy maø ta ñaõ Khi dung nho nhgaùn cho macro seõ ñöôïc thay theá vaøo nhöõng nôi coù macro seõteân macro tröôùc khi CT ñöôïc hôïp dòch thaønh file macro tr CT ñö nh fileOBJ.OBJ.x1 : nhieàu khi ta phaûi vieát laïi nhieàu laàn ñoaïn E Ex1 nhie leänh xuaát kyù töï trong DL ra maøn hình. nh DL ra MOV AH, 2 INT 21H Thay vì phaûi vieát caû 1 caëp leänh treân moãi khi caàn ca nh xuaát kyù töï trong DL, ta coù theå vieát Macro DL, ta Macro PUTCHAR nhö sau : nh PUTCHAR MACRO MOV AH,2 INT 21H ENDM CHUONG 9 MACRO 5 CHUONG MÔÛ ROÄNG CUÛA MACRO COÙ THEÅ XEM NG XEMTRONG FILE.LIST.TRONG 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 MACROKHOÂNG ÑÖÔÏC IN. SÖÛ DUÏNG KHI MACRO LÔÙN HAY ÑÖ NG HAYMACRO ÑÖÔÏ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ÍCHMÔ ÑÖ NG CHÑÖÔÏC BOÛ QUA. ÑAÂY LAØ TUYØ CHOÏN DEFAULT.ÑÖ QUA. .LALL (LIST ALL) TOAØN BOÄ CAÙC DOØNG TRONGMACRO ÑÖÔÏ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 : MACROMACRO_NAME [, ...]MACRO_NAME ...] 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.MODEL MOV AH,4CH.STACK 100H.STACK INT 21H PUTCHAR MACRO KT MOV DL,KT MAIN ENDP MOV AH,2 END MAIN INT 21H ENDM.CODE MAIN PROC MOV DL, ‘A’ MOV PUTCHAR MOV DL, ‘*” MOV PUTCHAR CHUONG 9 MACRO 8 CHUONGSWAP MACRO BIEÁN1, BIEÁN2 N1, N2 MOV AX, BIEN1 XCHG AX, ...
Tìm kiếm theo từ khóa liên quan:
Cấu trúc Máy tính Lập trình Assembly nhập môn Assembly hương trình gỡ rối vi điều khiểnGợi ý tài liệu liên quan:
-
50 trang 480 0 0
-
67 trang 282 1 0
-
Giáo trình Vi điều khiển (Nghề: Cơ điện tử - Trình độ: Cao đẳng) - Trường Cao đẳng nghề Ninh Thuận
127 trang 257 0 0 -
Giáo trình Cấu trúc máy tính toàn tập
130 trang 186 0 0 -
Báo cáo môn học vi xử lý: Khai thác phần mềm Proteus trong mô phỏng điều khiển
33 trang 172 0 0 -
78 trang 164 3 0
-
Giáo trình Vi điều khiển (Nghề: Điện công nghiệp - Cao đẳng) - Trường Cao đẳng Cơ giới (2022)
144 trang 154 0 0 -
Tài liệu giảng dạy Cấu trúc và bảo trì máy tính - Trường CĐ Kinh tế - Kỹ thuật Vinatex TP. HCM
133 trang 128 0 0 -
Đề cương chi tiết học phần Vi điều khiển
15 trang 127 0 0 -
Thuyết trình môn kiến trúc máy tính: CPU
20 trang 126 0 0