1. Trang chủ
  2. » Công Nghệ Thông Tin

Cấu trúc máy tính và lập trình Assembly : MACRO part 1 pdf

7 727 7

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 7
Dung lượng 852,62 KB

Nội dung

Định nghĩa Macro và gọi Macro Vấn đề truyền thông số trong Macro.. ĐỊNH NGHĨA MACROMacro là 1 ký hiệu được gán cho 1 nhóm lệnh ASM lệnh ASM – – Macro là tên thay thế cho 1 Macro là tên

Trang 1

Đị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.

Trang 2

ĐỊNH NGHĨA MACRO

Macro là 1 ký hiệu được gán cho 1 nhóm lệnh ASM

lệnh ASM – – Macro là tên thay thế cho 1 Macro là tên thay thế cho 1

nhóm lệnh.

Trong lập trình nhiều lúc ta cần phải viết những lệnh na ná nhau nhiều lần mà ta không muốn viết dưới dạng hàm vì dùng hàm tốn thời gian thực thi, thay vì ta phải viết đầy đủ nhóm lệnh này vào CT,

ta chỉ cần viết Macro mà ta đã gán cho chúng

Tại sao cần có Macro :

Trang 3

LÀM QUEN VỚI MACRO

Khi ta có nhiều đoạn code giống nhau, chúng ta

có thể dùng macro để thay thế, giống như ta

dùng define trong C Thí dụ chúng ta thay thế

đọan lệnh sau 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

Trang 4

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 MOV AH,2 INT 21H MOV DL,10 MOV AH,2 INT 21H ENDM

Sau đó, bất kỳ chỗ nào cần xuống dòng, ta chỉ cần gọi macro

@NewLine.

@NewLine

Trang 5

MACRO (tt)

Khi hợp dịch nội dung nhóm lệnh này mà ta đã gán cho macro sẽ được thay thế vào những nơi có tên macro trước khi CT được hợp dịch thành file OBJ.

Ex1 : nhiều khi ta phải viết lại nhiều lần đoạn lệnh xuất ký tự trong DL ra màn hình.

MOV AH, 2 INT 21H

Thay vì phải viết cả 1 cặp lệnh trên mỗi khi cần xuất ký tự trong DL, ta có thể viết Macro

PUTCHAR như sau :

PUTCHAR MACRO

Trang 6

MỞ RỘNG CỦA MACRO CÓ THỂ XEM

TRONG FILE.LIST.

3 DIRECTIVE BIÊN DỊCH SAU SẼ QUYẾT ĐỊNH MỞ RỘNG MACRO NHƯ THẾ NÀO.

.SALL (SUPRESS ALL) PHẦN MỞ RỘNG MACRO

KHÔNG ĐƯỢC IN SỬ DỤNG KHI MACRO LỚN HAY MACRO ĐƯỢC THAM CHIẾU NHIỀU LẦN TRONG CT.

.XALL CHỈ NHỮNG DÒNG MACRO TẠO MÃ NGUỒN MỚI ĐƯỢC IN RA.THÍ DỤ CÁC DÒNG CHÚ THÍCH

ĐƯỢC BỎ QUA ĐÂY LÀ TUỲ CHỌN DEFAULT.

.LALL (LIST ALL) TOÀN BỘ CÁC DÒNG TRONG

MACRO ĐƯỢC IN RA TRỪ NHỮNG CHÚ THÍCH BẮT

Trang 7

ĐỊNH NGHĨA MACRO

CÚ PHÁP KHAI BÁO MACRO :

MACRO_NAME MACRO [ <THÔNG SỐ HÌNH THỨC>]

STATEMENTS

ENDM

GỌI MACRO :

MACRO_NAME [<THÔNG SỐ THỰC>, ]

THÔNG SỐ HÌNH THỨC CHỈ CÓ TÁC DỤNG ĐÁNH DẤU VỊ TRÍ

CỦA THÔNG SỐ TRONG MACRO QUAN TRỌNG NHẤT LÀ VỊ TRÍ

CÁC THÔNG SỐ.

Ngày đăng: 26/07/2014, 17:20

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w