nasm定義了一套标準宏,當開始處理源檔案時,這些宏都已經被定義了,如果希望程式在執行前沒有預定義的宏存在,可以使用%clear清空預處理器的一切宏。
__nasm_major__ 主版本号
__nasm_minor__ 次版本号
__nasm_subminor__ 子次版本号
__nasm_patchlevel__ 更新檔号
__nasm_version_id__ nasm版本id
__nasm_ver__ nasm版本字元串
__file__ 檔案名
__line__ 行号
struc 和 endstruc 聲明一個結構資料類型:
如果要在多個結構體中定義相同的元素可以這樣定義:
由于nasm沒有内部結構體支援,是以不支援以句點形式引用結構體中的成員,是以mov ax,[type_val.word]是非法的;.word是一個常數,正确文法為:
下面是如何定義一個結構的變量:
資料對齊align和alignb
%line操作符用來通知nasm,輸入行與另一個檔案中指定的行号相關
%! 讀取一個環境變量