2010年4月28日 星期三

組合語言語法

MARCO
就是把MACROENDM這兩個夾起來的部分用另一個名稱來取代
Ex:

FOO  MACRO
MOV AL, 0x32
ADD AL, 0x01
ENDM

之後的程式碼就可以使用以下的方式
  FOO
ADD AL, AL

最後AL的結果就會0x66
===================PUBLIC=====EXTRN=============================
PUBLIC 假指令是宣告副程式、標記或變數為『公用』的,編譯器看到這個假指令,便會把相關資料寫進目的檔,讓 Linker 能夠連結,使得其他程式能夠使用被宣告為公用的副程式或變數。所以 PUBLIC 應該用在被呼叫的程式中。

PUBLIC 常常和EXTRN配合使用。EXTRN 的意思是『外部』的,當 cl.exe 看到被宣告外部的變數、副程式或標記時,雖然在程式中找不到,也不會出現錯誤,而會把相關資訊寫進目的檔,等到連結時會尋找被連結的程式庫或目的檔,如果找到就不會產生錯誤。因為使用外部的『東東』是變數、標記還是副程式的處理方式不同,所以必須在 EXTRN 後面告訴 cl.exe 是那一種。

EXTRN 的語法是:

EXTRN 副程式名:呼叫方式

呼叫方式可以用 near 或 far。
========================EQU=============================
把某一個變數設定為常數!
以下這一個例子是把PEI設定為3這一個常數
PEI EQU 3



參考資料:
小木偶的網頁 - Ch10 程式庫

沒有留言: