aero lab&num db' HELLO MR &xyZ enam msg ary, 1, wang 宏调用 msg ary, 2, Zhang 宏展开: 1 aryl db HELLO MR wang 1 ary db HELLO MR zhang
11 宏定义: msg macro lab,num,xyz lab&num db ‘HELLO MR.&xyz’ endm 宏调用: msg ary,1,wang …… msg ary,2,zhang 宏展开: 1 ary1 db ‘HELLO MR.wang’ …… 1 ary2 db ‘HELLO MR.zhang’
msgdcount b string enam errmsg macro text cntr= cntr+l msg %cntr, text enam cntr=O 宏调用: erring‘ SYNTAX ERROR errmsg INVALID OPERAND 1 cntr= cntr+l msa %cntr, SYNTAX ERROR 宏展开 2msg1db‘ SYNTAX ERROR cntr= cntr+l ms %cntr, INVALID OPERAND msg2 db INVALID OPERAND 12
12 宏定义: msg macro count,string msg&count db string endm errmsg macro text cntr = cntr+1 msg %cntr,text endm 宏调用: cntr=0 …… errmsg ‘SYNTAX ERROR’ …… errmsg ‘INVALID OPERAND’ 宏展开: 1 cntr = cntr+1 1 msg %cntr,‘SYNTAX ERROR’ 2 msg1 db ‘SYNTAX ERROR’ …… 1 cntr = cntr+1 1 msg %cntr,‘INVALID OPERAND’ 2 msg2 db ‘INVALID OPERAND’