Danh mục

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

Số trang: 7      Loại file: pdf      Dung lượng: 316.72 KB      Lượt xem: 8      Lượt tải: 0    
10.10.2023

Phí tải xuống: 5,000 VND Tải xuống file đầy đủ (7 trang) 0
Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Một số Macro yêu cầu user định nghĩa các thành phần dữ liệu và các nhãn bên trong định nghĩa của Macro. Nếu sử dụng Macro này nhiều hơn 1 lần trong cùng một chương trình, trình ASM định nghĩa thành phần dữ liệu hoặc nhãn cho mỗi lần sử dụng  các tên giống nhau lặp lại khiến cho ASM báo lỗi. Để đảm bảo tên nhãn chỉ được tạo ra 1 lần, ta dùng chỉ thị LOCAL ngay sau phát biểu Macro Khi ASM thấy 1 biến được định nghĩa là LOCAL...
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 : MACRO part 3 ÑÒNH NGHÓA NHAÕN BEÂN TRONG MACRO TRONG MACRO COÙ THEÅ COÙ NHAÕN. GOÏI MACRO NHIEÀU LAÀN  NHIEÀU NHAÕN ÑÖÔÏC TAÏO RA  LAØM SAO GIAÛI QUYEÁT VAÁN ÑEÀ NHAÛY ÑIEÀU KHIEÅN?ASSEMBLY GIAÛI QUYEÁT VAÁN ÑEÀ NAØY BAÈNG CHÆ THÒ LOCALCÖÔÕNG BÖÙC MASM TAÏO RA 1 TEÂN DUY NHAÁT CHO MOÃI MOÄTLABEL KHI MACRO ÑÖÔÏC GOÏI.. CUÙ PHAÙP : LOCAL LABEL_NAME CHUONG CHUONG 9 MACRO 15Moät soá Macro yeâu caàu user ñònh nghóa caùc thaønh phaàn döõ lieäuvaø caùc nhaõn beân trong ñònh nghóa cuûa Macro.Neáu söû duïng Macro naøy nhieàu hôn 1 laàn trong cuøng moätchöông trình, trình ASM ñònh nghóa thaønh phaàn döõ lieäu hoaëcnhaõn cho moãi laàn söû duïng  caùc teân gioáng nhau laëp laïi khieáncho ASM baùo loãi.Ñeå ñaûm baûo teân nhaõn chæ ñöôïc taïo ra 1 laàn, ta duøng chæ thòLOCAL ngay sau phaùt bieåu Macro Khi ASM thaáy 1 bieán ñöôïc ñònh nghóa laø LOCAL noù seõ thay theá bieán naøy baèng 1 kyù hieäu coù daïng ??n, trong ñoù n laø 1 soá coù 4 chöõ soá. Neáu coù nhieàu nhaõn coù theå laø ??0000, ??0001, ??0002 ...Ta caàn bieát ñieàu naøy ñeå trong CT chính ta khoâng söû duïngcaùc bieán hay nhaõn ñöôùi cuøng 1 daïng. CHUONG CHUONG 9 MACRO 16 Thí duï minh hoïa chæ thò LocalXaây döïng Macro REPEAT coù nhieäm vuï xuaát count laàn soá kyù töïchar ra maøn hình.REPEAT MACRO CHAR, COUNTLOCAL L1 ASM SEÕ DUØNG CÔ CHEÁ ÑAÙNH SOÁ CAÙC NHAÕN (TÖØMOV CX, COUNT GIAÛ SÖÛ GOÏI : 0000H ÑEÁN FFFFH) ÑEÅL1: MOV AH,2 ÑAÙNH DAÁU CAÙC NHAÕN COÙ REPEAT ‘A’, 10 CHÆ ÑÒNH LOCAL. MOV DL, CHAR REPEAT ‘*’, 20 INT 21H LOOP L1ENDM SEÕ ÑÖÔÏC DÒCH RA  CHUONG CHUONG 9 MACRO 17 Thí Thí duï minh hoïa chæ thò Local LocalMOV CX, 10??0000 : MOV AH,2MOV DL, ‘A’INT 21HLOOP ??0000MOV CX, 20??0001 : MOV AH,2MOV DL, ‘*’INT 21HLOOP ??0001 CHUONG CHUONG 9 MACRO 18 Thí duï minh hoïa Vieát 1 macro ñöa töø lôùn hôn trong 2 töø vaøo AXGETMAX MACRO WORD1,WORD2 GIAÛ SÖÛ FIRST,SECOND, THIRD LAØ LOCAL EXIT CAÙC BIEÁN WORD. MOV AX, WORD1 SÖÏ THAM CHIEÁU MACRO ÑÖÔÏC MÔÛ ROÄNG NHÖ SAU : CMP AX, WORD2 MOV AX, FIRSTJG EXIT CMP AX, SECONDMOV AX, WORD2 JG ??0000EXIT : MOV AX, SECONDENDM ??0000: CHUONG CHUONG 9 MACRO 19 Thí duï minh hoïa Vieát 1 macro ñöa töø lôùn hôn trong 2 vaøo AXLÔØI GOÏI MACRO TIEÁP THEO : SÖÏ THAM CHIEÁU LIEÂN TIEÁP MACRO NAØY HAY ÑEÁN MACROGETMAX SECOND, THIRD KHAÙC KHIEÁN TRÌNH BIEÂN DÒCH CHEØN CAÙC NHAÕN ??0002, ??0003 VAØÑÖÔÏC MÔÛ ROÄNG NHÖ SAU : CÖÙ NHÖ VAÄY TRONG CHÖÔNGMOV AX, SECOND TRÌNH CAÙC NHAÕN NAØY LAØ DUY NHAÁT.CMP AX, THIRDJG ??0001??0001 : CHUONG CHUONG 9 MACRO 20 THÖ VIEÄN MACROCAÙC MACRO MAØ CHÖÔNG TRÌNH THAM CHIEÁU COÙ THEÅ ÑAËT ÔÛ FILERIEÂNG  TA COÙ THEÅ TAÏO 1 FILE THÖ VIEÄN CAÙC MACRO. DUØNG 1 EDITOR ÑEÅ SOAÏN THAÛO MACRO LÖU TRÖÕ TEÂN FILE MACRO.LIB KHI CAÀN THAM CHIEÁU ÑEÁN MACRO TA DUØNG CHÆ THò INCLUDE TEÂN FILE THÖ VIEÄN MOÄT COÂNG DUÏNG QUAN TROÏNG CUÛA MACRO LAØ TAÏO RA CAÙC LEÄNH MÔÙI. CHUONG CHUONG 9 MACRO 21

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

Gợi ý tài liệu liên quan: