MACRO MACRO

ị ị

ọ ọ

Đ nh nghĩa Macro và g i Macro   Đ nh nghĩa Macro và g i Macro   Vaán ñeà truyeàn thoâng soá trong Macro. Vaán ñeà truyeàn thoâng soá trong Macro.   Macro loàng nhau. Macro loàng nhau. Söû duïng Macro ñeå goïi chöông trình con.   Söû duïng Macro ñeå goïi chöông trình con. Caùc toaùn töû Macro.   Caùc toaùn töû Macro. Thö vieän Macro   Thö vieän Macro   So saùnh vieäc duøng Macro vôùi Procedure So saùnh vieäc duøng Macro vôùi Procedure Moät soá Macro maãu.   Moät soá Macro maãu.

CHUONG 9 MACRO CHUONG 9 MACRO

11

ÑÒNH NGHÓA MACRO ÑÒNH NGHÓA MACRO

Macro laø 1 kyù hieäu ñöôïc gaùn cho 1    Macro laø 1 kyù hieäu ñöôïc gaùn cho 1  nhoùm leänh ASM – Macro laø teân thay theá  nhoùm leänh ASM – Macro laø teân thay theá  cho 1 nhoùm leänh. cho 1 nhoùm leänh.

Taïi sao caàn coù Macro : Taïi sao caàn coù Macro :

Trong laäp trình nhieàu luùc ta caàn phaûi vieát  Trong laäp trình nhieàu luùc ta caàn phaûi vieát  nhöõng leänh na naù nhau nhieàu laàn maø ta  nhöõng leänh na naù nhau nhieàu laàn maø ta  khoâng muoán vieát döôùi daïng haøm vì duøng  khoâng muoán vieát döôùi daïng haøm vì duøng  haøm toán thôøi gian thöïc thi, thay vì ta phaûi vieát  haøm toán thôøi gian thöïc thi, thay vì ta phaûi vieát  ñaày ñuû nhoùm leänh naøy vaøo CT, ta chæ caàn  ñaày ñuû nhoùm leänh naøy vaøo CT, ta chæ caàn  vieát Macro maø ta ñaõ gaùn cho chuùng.  vieát Macro maø ta ñaõ gaùn cho chuùng.

CHUONG 9 MACRO CHUONG 9 MACRO

22

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

CHUONG 9 MACRO 3

ả ế ạ

ệ i 6 dòng l nh trên, ta

t l

ế ạ

Thay vì ph i vi ể ể ạ 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

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

MOV DL,10

@NewLine

MOV AH,2

INT 21H

ENDM

CHUONG 9 MACRO 4

MACRO (tt)  MACRO (tt)

Khi hôïp dòch noäi dung nhoùm leänh naøy maø ta    Khi hôïp dòch noäi dung nhoùm leänh naøy maø ta  ñaõ gaùn cho macro seõ ñöôïc thay theá vaøo nhöõng  ñaõ gaù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  nôi coù teân macro tröôùc khi CT ñöôïc hôïp dòch  thaønh file OBJ. thaønh file OBJ. Ex1 : nhieàu khi ta phaûi vieát laïi nhieàu laàn    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. ñoaïn leänh xuaát kyù töï trong DL ra maøn hình. MOV AH, 2             MOV AH, 2              INT 21H             INT 21H              Thay vì phaûi vieát caû 1 caëp leänh treân moãi  Thay vì phaûi vieát caû 1 caëp leänh treân moãi  khi caàn xuaát kyù töï trong DL, ta coù theå vieát  khi caàn xuaát kyù töï trong DL, ta coù theå vieát  Macro PUTCHAR nhö sau : Macro PUTCHAR nhö sau :

PUTCHAR MACRO

CHUONG 9 MACRO CHUONG 9 MACRO

55

MOV AH,2     INT 21H

ENDM

MÔÛ ROÄNG CUÛA MACRO COÙ THEÅ  MÔÛ ROÄNG CUÛA MACRO COÙ THEÅ

XEM TRONG FILE.LIST. XEM TRONG FILE.LIST.

.SALL (SUPRESS ALL)  PHAÀN MÔÛ ROÄNG MACRO  .SALL (SUPRESS ALL)  PHAÀN MÔÛ ROÄNG MACRO

3 DIRECTIVE BIEÂN DÒCH SAU SEÕ  3 DIRECTIVE BIEÂN DÒCH SAU SEÕ  QUYEÁT ÑÒNH MÔÛ ROÄNG MACRO  QUYEÁT ÑÒNH MÔÛ ROÄNG MACRO  NHÖ THEÁ NAØO. NHÖ THEÁ NAØO. KHOÂNG ÑÖÔÏC IN. SÖÛ DUÏNG KHI MACRO LÔÙN  KHOÂNG ÑÖÔÏC IN. SÖÛ DUÏNG KHI MACRO LÔÙN  HAY MACRO ÑÖÔÏC THAM CHIEÁU NHIEÀU LAÀN  HAY MACRO ÑÖÔÏC THAM CHIEÁU NHIEÀU LAÀN  TRONG CT. TRONG CT.

.XALL CHÆ NHÖÕNG DOØNG MACRO TAÏO MAÕ  .XALL CHÆ NHÖÕNG DOØNG MACRO TAÏO MAÕ  NGUOÀN MÔÙI  ÑÖÔÏC IN RA.THÍ DUÏ CAÙC DOØNG  NGUOÀN MÔÙI  ÑÖÔÏC IN RA.THÍ DUÏ CAÙC DOØNG  CHUÙ THÍCH ÑÖÔÏC BOÛ QUA. ÑAÂY LAØ TUYØ  CHUÙ THÍCH ÑÖÔÏC BOÛ QUA. ÑAÂY LAØ TUYØ  CHOÏN DEFAULT. CHOÏN DEFAULT.

.LALL (LIST ALL) TOAØN BOÄ CAÙC DOØNG TRONG  .LALL (LIST ALL) TOAØN BOÄ CAÙC DOØNG TRONG

MACRO ÑÖÔÏC IN RA TRÖØ NHÖÕNG CHUÙ THÍCH  MACRO ÑÖÔÏC IN RA TRÖØ NHÖÕNG CHUÙ THÍCH  BAÉT ÑAÀU BAÈNG 2 DAÁU ;; BAÉT ÑAÀU BAÈNG 2 DAÁU ;;

CHUONG 9 MACRO 6

ÑÒNH NGHÓA MACRO ÑÒNH NGHÓA MACRO

CUÙ PHAÙP KHAI BAÙO MACRO :   CUÙ PHAÙP KHAI BAÙO MACRO :

] MACRO  [ ]

MACRO_NAME    MACRO MACRO_NAME STATEMENTS        STATEMENTS           ENDMENDM

GOÏI MACRO :    GOÏI MACRO :    [, ...]        MACRO_NAME  [, ...]        MACRO_NAME

CHUONG 9 MACRO CHUONG 9 MACRO

77

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Á.

MACRO TRUYỀN THAM SỐ MACRO TRUYỀN THAM SỐ

.MODEL SMALL .MODEL SMALL .STACK 100H .STACK 100H PUTCHAR MACRO KT MOV DL,KT MOV AH,2 INT 21H

MOV AH,4CH MOV AH,4CH INT 21H INT 21H MAIN ENDP MAIN ENDP END MAIN END MAIN

ENDM .CODE .CODE MAIN PROC MAIN PROC MOV DL, ‘A’ MOV DL, ‘A’ PUTCHAR PUTCHAR MOV DL, ‘*” MOV DL, ‘*” PUTCHAR PUTCHAR

CHUONG 9 MACRO 8

SWAP MACRO BIEÁN1, SWAP MACRO BIEÁN1,

BIEÁN2 BIEÁN2

MOV AX, BIEN1 MOV AX, BIEN1 XCHG AX, BIEN2 XCHG AX, BIEN2 MOV BIEN1, AX MOV BIEN1, AX ENDMENDM GOÏI : SWAP TRI1, TRI2 GOÏI : SWAP TRI1, TRI2

CHUONG 9 MACRO 9

TRAO ÑOÅI THAM SOÁ CUÛA  TRAO ÑOÅI THAM SOÁ CUÛA  MACRO MACRO MOÄ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

. CODE

.. ...

PUTCHAR   ‘A’

CHAR PUTCHAR  MACRO  CHAR PUTCHAR  MACRO   MOV AH, 2        MOV AH, 2         MOV DL, CHAR        MOV DL, CHAR         INT 21H        INT 21H         ENDMENDM

PUTCHAR   ‘B’

PUTCHAR   ‘C’

...

CHUONG 9 MACRO 10

Ề Ố MACRO TRUY N THÔNG S

Thí dụ : macro @Printstr

Viết chương trình in 2 chuổi ‘Hello’ và ‘Hi”.

.DATA

Ta thấy đoạn 1 và đoạn 2 gần giống nhau  có thể tạo macro có tham số như sau :

;1 ;1 ;1 ;2 ;2 ;2

MSG1 DB ‘Hello’,13,10 MSG2 DB‘Hi’,13,10 .CODE ………. MOV DX, OFFSET MSG1 MOV AH,9 INT 21H MOV DX, OFFSET MSG2 MOV AH,9 INT 21H ……..

CHUONG 9 MACRO 11

THÍ DUÏ VEÀ MACRO THÍ DUÏ VEÀ MACRO

DISPLAY MACRO STRING DISPLAY MACRO STRING PUSH AX PUSH AX PUSH DX PUSH DX LEA DX, STRING LEA DX, STRING MOV AH,9 MOV AH,9 INT 21H INT 21H POP DX POP DX POP AX POP AX ENDM ENDM

GOÏI :  DISPLAY   CHUOI

CHUONG 9 MACRO 12

TRAO ÑOÅI THAM SOÁ CUÛA MACRO TRAO ÑOÅI THAM SOÁ CUÛA MACRO

MACRO LOCATE : ÑÒNH VÒ CURSOR MAØN HÌNH

SÖÛ DUÏNG MACRO

TA COÙ CAÙC DAÏNG SÖÛ  DUÏNG SAU :

LOCATE 10,20

LOCATE ROW, COL

LOCATE MACRO  ROW, COLUMN LOCATE MACRO  ROW, COLUMN        PUSH AX PUSH AX         PUSH BX        PUSH BX         PUSH DX           PUSH DX         MOV BX, 0        MOV BX, 0         MOV AH, 2        MOV AH, 2         MOV DH, ROW        MOV DH, ROW         MOV DL, COLUMN        MOV DL, COLUMN         INT 10H        INT 10H                POP DX POP DX         POP BX        POP BX                POP AX POP AX         ENDMENDM

LOCATE CH, CL

CHUÙ YÙ : KHOÂNG DUØNG  CAÙC THANH GHI  AH,AL,BH,BL VÌ SEÕ ÑUÏNG  ÑOÄ VÔÙI CAÙC THANH GHI  ÑAÕ SÖÛ DUÏNG TRONG  MACRO

CHUONG 9 MACRO 13

MACRO LOÀNG NHAU MACRO LOÀNG NHAU MOÄT CAÙCH ÑÔN GIAÛN ÑEÅ XAÂY DÖÏNG MACRO LAØ XAÂY  DÖÏNG 1 MACRO MÔÙI TÖØ MACRO ÑAÕ COÙ.

EX : HIEÅN THÒ 1 CHUOÅI TAÏI 1 TOAÏ ÑOÄ CHO  EX : HIEÅN THÒ 1 CHUOÅI TAÏI 1 TOAÏ ÑOÄ CHO  TRÖÔÙC  TRÖÔÙC  DISPLAY_AT  MACRO ROW, COL, STRING

LOCATE ROW, COL ;Goïi macro ñònh vò  cursor

DISPLAY STRING ; Goïi Macro xuaát string

ENDM

MOÄT MACRO COÙ THEÅ THAM CHIEÁU ÑEÁN CHÍNH  NOÙ, NHÖÕNG MACRO NHÖ VAÄY GOÏI LAØ MACRO  ÑEÄ QUI.

CHUONG 9 MACRO 14

ÑÒNH NGHÓA NHAÕN BEÂN TRONG MACRO ÑÒ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?

CUÙ PHAÙP :     LOCAL   LABEL_NAME

ASSEMBLY GIAÛI QUYEÁT VAÁN ÑEÀ NAØY BAÈNG CHÆ THÒ  LOCAL CÖÔÕNG BÖÙC MASM TAÏO RA 1 TEÂN DUY NHAÁT CHO  MOÃI MOÄT LABEL KHI MACRO ÑÖÔÏC GOÏI..

CHUONG 9 MACRO 15

Moät soá Macro yeâu caàu user ñònh nghóa caùc thaønh phaàn  döõ lieäu vaø 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ät  chöông  trình,  trình  ASM  ñònh  nghóa  thaønh  phaàn  döõ  lieäu hoaëc nhaõn cho moãi laàn söû duïng   caùc teân gioáng  nhau laëp laïi  khieán cho 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ïng caùc bieán hay nhaõn ñöôùi cuøng 1 daïng. 16

CHUONG 9 MACRO

Thí duï minh hoïa chæ thò Local Thí duï minh hoïa chæ thò Local

Xaâ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, COUNT

LOCAL L1

MOV CX, COUNT

GIAÛ SÖÛ GOÏI :

L1: MOV AH,2

REPEAT ‘A’, 10

MOV DL, CHAR

REPEAT ‘*’, 20

ASM SEÕ DUØNG CÔ  CHEÁ ÑAÙNH SOÁ CAÙC  NHAÕN (TÖØ 0000H ÑEÁN  FFFFH) ÑEÅ ÑAÙNH DAÁU  CAÙC NHAÕN COÙ CHÆ  ÑÒNH LOCAL.

INT 21H

LOOP L1

ENDM

SEÕ ÑÖÔÏC DÒCH RA 

CHUONG 9 MACRO 17

Thí duï minh hoïa chæ thò  Thí duï minh hoïa chæ thò  Local Local

MOV CX, 10

??0000 : MOV AH,2

MOV DL, ‘A’

INT 21H

Ö

LOOP ??0000

A

0

G I

A

MOV CX, 20

E

Û   S P

E

O Ï I : Û   G 0 T  ‘ A ’,  1 T  ‘ * ’,  2

R

A

E

P

??0001 : MOV AH,2

E

R

MOV DL, ‘*’

INT 21H

LOOP ??0001

CHUONG 9 MACRO 18

Thí duï minh Thí duï minh hoïahoïa

Vieát 1 macro ñöa töø lôùn hôn trong 2 töø  vaøo AX

GETMAX   MACRO   WORD1, WORD2

LOCAL  EXIT

MOV AX, WORD1

CMP AX, WORD2

GIAÛ SÖÛ FIRST,SECOND, THIRD  LAØ CAÙC BIEÁN WORD.

JG EXIT

SÖÏ THAM CHIEÁU MACRO ÑÖÔÏC  MÔÛ ROÄNG NHÖ SAU :

MOV AX, FIRST

MOV AX, WORD2

CMP AX, SECOND

EXIT :

JG ??0000

ENDM

MOV AX, SECOND

??0000:

CHUONG 9 MACRO 19

Thí duï minh Thí duï minh hoïahoïa

Vieát 1 macro ñöa töø lôùn hôn trong 2 vaøo AX

LÔØI GOÏI MACRO TIEÁP THEO :

GETMAX  SECOND, THIRD

ÑÖÔÏC MÔÛ ROÄNG NHÖ SAU :

MOV AX, SECOND

CMP AX, THIRD

JG  ??0001

??0001 :

SÖÏ THAM CHIEÁU LIEÂN TIEÁP  MACRO NAØY HAY ÑEÁN MACRO  KHAÙC KHIEÁN TRÌNH BIEÂN  DÒCH CHEØN CAÙC NHAÕN ??0002,  ??0003  VAØ CÖÙ NHÖ VAÄY  TRONG CHÖÔNG TRÌNH CAÙC  NHAÕN NAØY LAØ DUY NHAÁT.

CHUONG 9 MACRO 20

THÖ VIEÄN MACRO THÖ VIEÄN MACRO

CAÙC MACRO MAØ CHÖÔNG TRÌNH THAM CHIEÁU COÙ THEÅ ÑAËT  ÔÛ FILE RIEÂ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 9 MACRO 21

SO SAÙNH GIÖÕA MACRO &  SO SAÙNH GIÖÕA MACRO &  THUÛ TUÏC THUÛ TUÏC

THÔØI GIAN BIEÂN DÒCH. THÔØI GIAN BIEÂN DÒCH.

MACRO ÍT TOÁN THÔØI GIAN BIEÂN  MACRO ÍT TOÁN THÔØI GIAN BIEÂN

DÒCH HÔN PROCEDURE DÒCH HÔN PROCEDURE

THÔØI  GIAN  THÖÏC  HIEÄN  :  NHANH  THÔØI  GIAN  THÖÏC  HIEÄN  :  NHANH  HÔN  PROCEDURE  VÌ  KHOÂNG  TOÁN  HÔN  PROCEDURE  VÌ  KHOÂNG  TOÁN  THÔØI  GIAN  KHOÂI  PHUÏC  TRAÏNG  THÔØI  GIAN  KHOÂI  PHUÏC  TRAÏNG  THAÙI  THOÂNG  TIN  KHI  ÑÖÔÏC  GOÏI      THAÙI  THOÂNG  TIN  KHI  ÑÖÔÏC  GOÏI  TOÁC ÑOÄ NHANH HÔN.  TOÁC ÑOÄ NHANH HÔN.

KÍCH  THÖÔÙC  :  KÍCH  THÖÔÙC  CT     KÍCH  THÖÔÙC  :  KÍCH  THÖÔÙC  CT

DAØI HÔN  DAØI HÔN

CHUONG 9 MACRO 22

CAÙC LEÄNH LAËP TRONG    CAÙC LEÄNH LAËP TRONG  MACRO MACRO

REP  :   REP  :      ......       ENDM        ENDM

TAÙC DUÏNG : LAËP LAÏI CAÙC KHOÁI LEÄNH TRONG  TAÙC DUÏNG : LAËP LAÏI CAÙC KHOÁI LEÄNH TRONG  MACRO VÔÙI SOÁ LAÀN LAØ  MACRO VÔÙI SOÁ LAÀN LAØ 

EX : MSHL MACRO OPER, BITS GOÏI  MSHL BX, 3

REPT BITS

SHL DEST, 1 SEÕ ÑÖÔÏC THAY THEÁ  BAÈNG :

ENDM SHL BX, 1

ENDM SHL BX, 1

CHUONG 9 MACRO CHUONG 9 MACRO

2323

SHL BX, 1

CAÙC LEÄNH LAËP TRONG    CAÙC LEÄNH LAËP TRONG  MACRO MACRO

TAÙC DUÏNG :  TAÙC DUÏNG :    LAËP LAÏI KHOÁI LEÄNH TUØY THEO DANH SAÙCH TRÒ. LAËP LAÏI KHOÁI LEÄNH TUØY THEO DANH SAÙCH TRÒ.   SOÁ LAÀN LAËP CHÍNH LAØ SOÁ TRÒ TRONG DANH SAÙCH SOÁ LAÀN LAËP CHÍNH LAØ SOÁ TRÒ TRONG DANH SAÙCH   MOÃI LAÀN LAËP LAÏI SEÕ THAY  BAÈNG 1  MOÃI LAÀN LAËP LAÏI SEÕ THAY  BAÈNG 1  TRÒ TRONG DANH SAÙCH VAØ SEÕ LAÀN LÖÔÏT LAÁY HEÁT  TRÒ TRONG DANH SAÙCH VAØ SEÕ LAÀN LÖÔÏT LAÁY HEÁT  CAÙC TRÒ TRONG DANH SAÙCH. CAÙC TRÒ TRONG DANH SAÙCH.

IRP  :   IRP  :       ......              ENDMENDM

EX : PROCTABLE  LABEL  WORD

IRP PROCNAME, 

DW  PROCNAME

CHUONG 9 MACRO CHUONG 9 MACRO

2424

ENDM

CAÙC LEÄNH LAËP TRONG    CAÙC LEÄNH LAËP TRONG  MACRO MACRO

TUY NHIEÂN CAÙCH KHAI BAÙO NAØY RÖÔØM RAØ HÔN    TUY NHIEÂN CAÙCH KHAI BAÙO NAØY RÖÔØM RAØ HÔN  LAØ DUØNG : LAØ DUØNG :   PROCTABLE  DW  MOVUP,  PROCTABLE  DW  MOVUP,  MOVDOWN,MOVLEFT,MOVRIGHT MOVDOWN,MOVLEFT,MOVRIGHT

 VIEÄC SÖÛ DUÏNG CAÙC MACRO LAËP VOØNG NAØY CHO  COÙ HIEÄU QUAÛ LAØ ÑIEÀU KHOÙ, ÑOØI HOÛI PHAÛI COÙ  NHIEÀU KINH NGHIEÄM

CHUONG 9 MACRO CHUONG 9 MACRO

2525

BÀI TẬP MACRO BÀI TẬP MACRO

ế ộ ủ t m t MACRO tính USCLN c a 2

ậ ế ố ư

Bài 1 :  1. Vi bi n s  M và N. Thu t toán USCLN nh  sau :                             WHILE   N <> 0 DO                                   M = M MOD N                                  Hoán v   M và N                             END_WHILE

Bài 2 : MACRO doi tu so chua trong ax sang  chuoi tro  den boi DI ;   in :  DI =offset  chuoi ;          AX =so can doi ;   out: khong co(chuoi van do di tro toi)

CHUONG 9 MACRO 26

ế Bài 3 :Vi t macro  chuyen tu chuoi thanh so chua trong ax

;  in                 : DI =offset chuoi ;  out            : AX =so da  doi

Bài 4 : Viết MACRO xuất số hecxa chứa trong AL ra màn hình * ; INPUT : AL chứa số cần xuất; OUTPUT: nothing

Bài 5 : Viết Macro in số hecxa chứa trong BL ra dạng binary ;Input: BL chứa số cần in ;Output: Nothing

CHUONG 9 MACRO 27