註:本文是以MASM的語法格式為基礎的,大部分內容參考《Intel彙編語言程式設計 第五版》 1、標識符 標識符是程式員自己定義的名字,用來標識變數、常量、過程或代碼標號。創建標識符時要註意: 1)標識符可以包含1~247個字元; 2)標識符大小寫不敏感(MASM預設不敏感); 3)標識符的第一個字 ...
註:本文是以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彙編中,使用井號 (#)作為註釋標誌。