Chương 6 - Viết các Macro
lượt xem 19
download
Tham khảo tài liệu 'chương 6 - viết các macro', công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Chương 6 - Viết các Macro
- Chöông 6: Vieát caùc Macro Macro là gì? - Macro là một định nghĩa cụ thể cho một nhóm chỉ thị - Sử dụng Macro nhằm mục đích: * Đơn giản hóa và giảm số lần lặp lại của các chỉ thị được lặp lại * Giảm các lỗi gây ra * Sắp xếp chương trình hợp lý
- Chöông 6: Vieát caùc Macro Định nghĩa Macro Yêu cầu: - * Một macro phải xuất hiện trước bất kỳ segment nào được định nghĩa * Tên macro tuân theo quy ước chung - Cấu trúc macro: MACRO ;Định nghĩa ....... ;Thân Macro ;Kết thúc macro ENDM Code 1: Code 2: .DATA THONGBAO MACRO MSG ‘Hello$’ MSG DB MOV AH,9 .CODE LEA DX,MSG MOV AH,9 INT 21h LEA DX,MSG ENDM INT 21h .DATA ‘Hello$’ .... MSG DB .CODE THONGBAO MSG
- Chöông 6: Vieát caùc Macro Định nghĩa một số Macro cho một số nhóm lệnh thường dùng 1. Nhập ký tự từ bàn phím: a. Macro: NHAPLIEU MACRO MOV AH,1 INT 21 h ENDM b.Sử dụng: NHAPLIEU MACRO MOV AH,1 INT 21 h ENDM .CODE NHAPLIEU ....
- Chöông 6: Vieát caùc Macro Định nghĩa một số Macro cho một số nhóm lệnh thường dùng 2. Xuất ký tự ra màn hình: a. Macro: INKT MACRO KYTU MOV AH,2 MOV DL,KYTU INT 21h ENDM b.Sử dụng: INKT MACRO KYTU MOV AH,2 MOV DL,KYTU INT 21h ENDM .CODE ‘?’ INKT ....
- Chöông 6: Vieát caùc Macro Định nghĩa một số Macro cho một số nhóm lệnh thường dùng 3. Xuất chuỗi ra màn hình: a. Macro: INCHUOI MACRO CHUOI MOV AH,9 LEA DX,CHUOI INT 21 h ENDM b.Sử dụng: INCHUOI MACRO CHUOI MOV AH,9 LEA DX,CHUOI INT 21 h ENDM .CODE ‘I love ASM$’ INCHUOI ....
- Chöông 6: Vieát caùc Macro Định nghĩa một số Macro cho một số nhóm lệnh thường dùng 4. Thoát khỏi chương trình: a. Macro: THOAT MACRO MOV AH,4Ch INT 21 h ENDM b.Sử dụng: THOAT MACRO MOV AH,4Ch INT 21 h ENDM .CODE ....... THOAT
- Chöông 6: Vieát caùc Macro Định nghĩa một số Macro cho một số nhóm lệnh thường dùng • Sử dụng Macro để định nghĩa một Macro: Bằng cách sử dụng một Macro tham chiếu đến một macro đã định nghĩa 4. Thoát khỏi chương trình: b.Sử dụng: a. Macro: {Macro đã định nghĩa ở bên} INCHUOI MACRO CHUOI .DATA MOV AH,9 MSG DB ‘Nhan phim...$’ LEA DX,CHUOI .CODE INT 21h ....... ENDM THOAT NHAPLIEU MACRO MOV AH,1 INT 21h ENDM THOAT MACRO INCHUOI MSG NHAPLIEU MOV AH,4Ch INT 21h ENDM
- Chöông 6: Vieát caùc Macro Chỉ dẫn LOCAL Sử dụng định nghĩa các thành phần/nhãn của chỉ thị bên trong Macro - Đối số/nhãn được định bởi chỉ dẫn LOCAl chỉ hoạt động trong phạm vi - Macro - Cú pháp: LOCAL Ví dụ: Viết hàm chức năng chia lấy số nguyên bằng phép tính trừ - Phương pháp: - Lấy số bị chia trừ số chia - Kiểm tra số bị chia nhỏ hơn số chia? - Nếu chưa, tăng biến đếm lên 1 - Nếu nhỏ hơn, lưu kết quả Ví dụ: Tính kết quả chia lấy nguyên của 9/2 bằng phép tính trừ 9
- Chöông 6: Vieát caùc Macro Chỉ dẫn LOCAL .MODEL SMALL CHIA MACRO SBC,SC,KQ .DATA LOCAL SOSANH S1 DW 9 LOCAL THOAT S2 DW 2 KQ DW ? MOV AX,SBC MOV BX,SC .CODE XOR CX,CX MOV AX,@DATA MOV DS,AX SOSANH: CMP AX,BX CHIA S1,S2,KQ JL THOAT MOV BX,KQ SUB AX,BX INC CX ..................... JMP SOSANH THOAT: MOV KQ,CX ENDM
- Chöông 6: Vieát caùc Macro Chỉ dẫn INCLUDE Trên thực tế, các Macro thường được sử dụng lặp lại trong nhiều chương - trình Để tránh lặp lại việc định nghĩa Macro, liệt kê các Macro trong một thư - viện Phương pháp: Tập hợp các Macro đã định nghĩa là lưu trong một tập tin - (Ví dụ: MACRO.LIB) Sử dụng bằng cách gọi chỉ dẫn INCLUDE: - \ INCLUDE Ví dụ: File MACRO.LIB lưu tại D:\ASM\LIB, để sử dụng: - INCLUDE D:\ASM\LIB\MACRO.LIB ... INCHUOI MSG NHAPLIEU ....
- Chöông 6: Vieát caùc Macro Chỉ dẫn PURGE Chỉ dẫn INCLUDE xác định tất cả các Macro có trong thư viện - Hiện tượng dư thừa với những Macro không sử dụng trong thư viện - Chỉ dẫn PURGE giúp xóa đi các Macro không cần thiết. - - Cú pháp: PURGE [,Macro2,Macro3,..] Ví dụ: File MACRO.LIB lưu tại D:\ASM\LIB, có 3 Macro INCHUOI, - NHAPLIEU, XUATKYTU, nhưng chương trình chỉ sử dụng macro NHAPLIEU: INCLUDE D:\ASM\LIB\MACRO.LIB PURGE INCHUOI,XUATKYTU ;Xóa Macro ... ;Không hợp lệ INCHUOI MSG ;Hợp lệ NHAPLIEU ....
- Chöông 6: Vieát caùc Macro Các chỉ dẫn lặp lại trong Macro Chỉ dẫn REPT Lặp lại một nhóm các chỉ thị - Kết thúc bởi khóa ENDM - - Cú pháp: REPT ..... ENDM Ví dụ: Macro phát ra 5 lần tiếng Beep: - BEEP MACRO MOV AH,2 ;Mã ký tự Beep MOV DL,7 ;Lặp 5 lần REPT 5 INT 21 H ENDM ENDM
- Chöông 6: Vieát caùc Macro Các chỉ dẫn điều kiện trong Macro (điều kiện) ... ELSE .... ENDIF - Cú pháp: IFxx - Các chỉ dẫn thường dùng Thực thi khi biểu thức cho kết quả khác 0 1. IF expression : Thực thi khi biểu thức cho kết quả bằng 0 2. IFE expression: Thực thi khi đối số trống 3. IFB argument: Thực thi khi đối số không trống 4. IFNB argument: 5. IFIDN arg1,arg2: Thực thi khi chuỗi arg1 giống chuỗi agr2 Thực thi khi chuỗi arg1 khác chuỗi arg2 6. IFDIF arg1,arg2: Có thể sử dụng IF và IFE với các toán tử quan hệ EQ (bằng), NE - (không bằng), LT (nhỏ hơn), LE (nhỏ hơn hoặc bằng), GT (lớn hơn) và GE (lớn hơn hoặc bằng) V í dụ: IF exp1 EQ exp2
- Chöông 6: Vieát caùc Macro Các chỉ dẫn điều kiện trong Macro Ví dụ: Một số chỉ thị INT 21h cần giá trị trong DX Kiểm tra đối số không rỗng để nạp cho DX DOS21 MACRO DOSFUNC,DXADDRESS MOV AH,DOSFUNC IFNB DXADDRESS MOV DX,OFFSET DXADDRESS ENDIF INT 21h ENDM Macro DOS21 lúc này có thể sử dụng để nhập liệu: DOS21 01h Macro DOS21 cũng có thể sử dụng để in chuỗi: DOS21 09h,MSG
- Chöông 6: Vieát caùc Macro Chỉ dẫn EXITM Với điều kiện đúng, trình dịch thoát khỏi Macro/chỉ thị lặp và tiếp tục - xử lý chỉ thị sau ENDM Cấu trúc: (điều kiện) - IFxx .... EXITM ENDM Ví dụ: - CHIA MACRO SBC,SC,KQ LOCAL SOSANH LOCAL THOAT ;Nếu chưa có giá trị SBC IFB SBC EXITM ENDIF ;Nếu chưa có giá trị SC IFB SC EXITM ENDIF ...... ENDM
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Khóa Hàm Thụ Visual Basic 6.0 Cơ sở dữ liệu (Database) Table, Record và Field
13 p | 333 | 141
-
Khóa Hàm Thụ Visual Basic 6.0_ Chương 5
8 p | 206 | 76
-
Chương trình AutoCAD - Bài 6 Viết chữ và sữa chữa
14 p | 269 | 29
-
Visual Basic 6 - chương 6
9 p | 106 | 16
-
Chương 6: Sử dụng các phát biểu cấu trúc ra quyết định
9 p | 110 | 14
-
Bài giảng Mã nguồn mở: Chương 6
18 p | 95 | 12
-
Bài giảng Quản lý và xử lý dữ liệu cơ bản: Chương 6 Tìm hiểu về macro- CĐ CNTT Hữu nghị Việt Nhật
12 p | 126 | 12
-
Bài giảng Mã nguồn mở: Chương 6 - ThS. Nguyễn Minh Thành
18 p | 87 | 8
-
Bài giảng Kỹ thuật lập trình: Bài 6 - Phạm Đình Sắc
14 p | 97 | 8
-
Bài giảng Lập trình hướng đối tượng: Chương 6 - ĐH Bách Khoa TP.HCM
11 p | 90 | 7
-
Bài giảng Hướng dẫn lập trình VB.NET - Chương 6: Sử dụng các phát biểu cấu trúc ra quyết định
9 p | 83 | 7
-
Bài giảng Lý thuyết ngôn ngữ lập trình: Chương 6 - CĐ CNTT Hữu nghị Việt Hàn
13 p | 91 | 6
-
Bài giảng học phần Tin học đại cương: Chương 6 - Học viện Nông nghiệp Việt Nam
14 p | 34 | 6
-
Tác giả các chương trình mã độc và mục đích tạo ra
4 p | 78 | 5
-
Bài giảng Object-Oriented programming: Chương 6 - Văn Thị Thiên Trang
9 p | 27 | 2
-
Bài giảng Tin học cơ sở: Chương 6 - Học viện Nông nghiệp Việt Nam
9 p | 37 | 2
-
Bài giảng Win Word: Chương 6 - Huỳnh Phước Hải
7 p | 73 | 1
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn