注:本文是以MASM的語法格式為基礎的,大部分內容參考《Intel匯編語言程序設計 第五版》
1、標識符
標識符是程序員自己定義的名字,用來標識變量、常量、過程或代碼標號。創建標識符時要注意:
1)標識符可以包含1~247個字符;
2)標識符大小寫不敏感(MASM默認不敏感);
3)標識符的第一個字符必須是字母、下划線、@、?或$,后續字符可以是數字;
4)標識符不能與匯編器的保留字相同。
在匯編時,可以使用命令行的 -Cp選項來使所有關鍵字和標識符大小寫敏感。
2、標號
標號是充當指令或數據位置標記的標識符。放置在一條指令之前的標號表明了該指令的地址,類似的,房子在變量之前的標號表明了該變量的地址。
1)數據標號:
數據標號標識了變量的地址,為在代碼中引用該變量提供了方便,如:
count DWORD 100 ;定義了一個名為count的變量
2)代碼標號:
程序代碼區中的標號必須以冒號(:)結尾。代碼標號通常用作跳轉和循環指令的目標地址,如:
loop: jmp loop ;跳到loop處執行代碼,這是一個死循環
代碼標號可以與指令在同一行也可以獨自成一行。
3、偽指令
偽指令是內嵌在程序源代碼中,由匯編器識別並執行相應動作的命令。與真正的指令不同,偽指令在程序運行時並不執行。偽指令可用於定義變量、宏以及過程,可用於命名段以及執行許多其他與匯編器相關的簿記任務。MASM中偽指令大小寫不敏感,.data和.DATA是等價的。每個匯編器都有一套不同的偽指令,例如,TASM以及NASM和MASM的偽指令有一個公共的交集,而GNU匯編器與MASM的偽指令幾乎完全不同。
4、指令
匯編語句中的指令是一條匯編語句。一條匯編指令包含四個基本部分:標號、指令助記符(操作碼)、操作數(0個或多個)、注釋。其中,標號和注釋是可選的。
1)標號:見第2條;
2)指令助記符:用於輔助記憶,如 MOV、SUB等;
3)操作數:
4)注釋:以分號(;)字符開始,分號后的內容為注釋內容,匯編器會忽略同一行上分號后面所有的內容;
另外:在 as86匯編中,也可以使用感嘆號(!)作為注釋標志;
在 AT&T匯編中,使用井號 (#)作為注釋標志。