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