(1)定義宏
宏名 MACRO [形參1, 形參2, ……]
宏的定義體
ENDM
MACRO和ENDM是二個必須成對出現(xiàn)的關(guān)鍵字,它們分別表示宏定義的開始和結(jié)束;
MACRO和ENDM之間的部分是宏的定義體,它是由指令、偽指令或引用其它宏所組成的程序片段,是宏所包含的具體內(nèi)容;
“宏名”是由程序員指定的一個合法的標(biāo)識符,它代表該宏;
宏名可以與指令助憶符、偽指令名相同。在這種情況下,宏指令優(yōu)先,而同名的指令或偽指令都失效;
在ENDM的前面不要再寫一次宏名,這與段或子程序定義的結(jié)束方式有所不同;
在宏定義的首部可以列舉若干個形式參數(shù),每個參數(shù)之間要用逗號分隔。
(2)取消宏定義偽指令
偽指令PURGE的一般格式如下:
PURGE 宏名1, 宏名2, ……
(3)停止宏擴展偽指令
偽指令EXITM的一般格式如下:
EXITM
(4)其他在宏里面注意的
在宏定義中,如果形式參數(shù)與其它字符連接在一起,或形式參數(shù)出現(xiàn)在字符串之中,那么,就必須使用連接運算符(&)。
字符串整體傳遞運算符是一對尖括號<>,用它括起來的內(nèi)容將作為一個字符串來進行形式參數(shù)的整體替換
在引用宏時,如果實參中含有特殊字符,而又要該特殊字符當(dāng)作普通字符來出來,那么,就必須在該特殊字符前加上字符轉(zhuǎn)義運算符“!”。
在引用宏時,使用計算表達式運算符“%”表示把其后面表達式的結(jié)果當(dāng)作實參進行替換,而不是該表達式的整個式子。
(5)重復(fù)匯編偽指令
a、偽指令REPT的作用是把一組語句重復(fù)指定的次數(shù),該重復(fù)次數(shù)由偽指令后面的數(shù)值表達式來確定。其一般使用格式如下:
REPT 數(shù)值表達式
重復(fù)的語句組
ENDM
b、偽指令I(lǐng)RP的作用是用每個參數(shù)創(chuàng)建一組語句,其重復(fù)次數(shù)由偽指令后面參數(shù)表中參數(shù)的個數(shù)來確定。其一般使用格式如下:
IRP 形式參數(shù), <實參1, 實參2, ……, 實參n>
重復(fù)的語句組
ENDM
c、偽指令I(lǐng)RPC的作用與IRP相似,其實參表是一個字符串,并對字符串中的每個字符創(chuàng)建一組語句,所以,其重復(fù)次數(shù)是由該字符串中的字符數(shù)來確定。其一般使用格式如下:
IRPC 形式參數(shù), 字符串
重復(fù)的語句組
ENDM
posted on 2007-07-20 21:28
merlinfang 閱讀(4017)
評論(2) 編輯 收藏 引用 所屬分類:
匯編語言