匯編基礎--標識符、標號、偽指令和指令


注:本文是以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匯編中,使用井號 (#)作為注釋標志。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM