新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > ARM匯編器所支持的偽指令

        ARM匯編器所支持的偽指令

        作者: 時間:2012-11-26 來源:網絡 收藏
          在匯編語言程序里,有一些特殊指令助記符,這些助記符與指令系統的助記符不同,沒有相對應的操作碼,通常稱這些特殊指令助記符為,它們所完成的操作稱為偽操作。在源程序中的作用是為完成匯編程序做各種準備工作的,這些僅在匯編過程中起作用,一旦匯編結束,偽指令的使命就完成了。

          在的匯編程序中,有如下幾種偽指令:符號定義偽指令、數據定義偽指令、匯編控制偽指令、宏指令及其他偽指令。

          1.符號定義(Symbol Definition)偽指令

          符號定義偽指令用于定義匯編程序中的變量、對變量賦值以及定義寄存器的別名等操作。常見的符號定義偽指令有如下幾種。

          ·用于定義全局變量的GBLA、GBLL和GBLS。

          ·用于定義局部變量的LCLA、LOLL和LCLS。

          ·用于對變量賦值的SETA、SETL、SETS。

          ·為通用寄存器列表定義名稱的RLIST。

          (1)GBLA、 GBLL不口GBLS

          GBLIA(GBLL或dDr O) 全局變量名

          GBLA、GBLL和GBLS偽指令用于定義一個ARM程序中的全局變量,并將其初始化。其中:

          ·GBLA偽指令用于定義一個全局的數字變量,并初始化為0;

          ·GBLL偽指令用于定義一個全局的邏輯變量,并初始化為F(假);

          。GBLS偽指令用于定義一個全局的字符串變量,并初始化為空。

          由于以上三條偽指令用于定義全局變量,因此在整個程序范圍內變量名必須唯一。

          (2)LCLA、 LCLL不口LCLS

          LCLA(LCLL或LCLS) 局部變量名

          LOLA、LCLL和LCLS偽指令用于定義一個ARM程序中的局部變量,并將其初始化。其中:

          ·LCLA偽指令用于定義一個局部的數字變量,并初始化為0;

          ·LCLL偽指令用于定義一個局部的邏輯變量,并初始化為F(假);

          ·LCLS偽指令用于定義一個局部的字符串變量,并初始化為空。

          以上三條偽指令用于聲明局部變量,在其作用范圍內變量名必須唯一。

          (3) SETA、 SETL 2-fl] SETS

          變量名 SETA(IDLIL或SETS) 表達式

          其中,變量名為已經定義過的全局變量或局部變量,表達式為將要賦給變量的值。

          偽指令SETA、SETL、SETS用于給一個已經定義的全局變量或局部變量賦值。

          ·SETA偽指令用于給一個數學變量賦值;

          ·SETL偽指令用于給一個邏輯變量賦值;

          ·SETS偽指令用于給一個字符串變量賦值。

          (4)RLIST

          名稱 RLTST (寄存器列表)

          RLIST偽指令可用于對一個通用寄存器列表定義名稱,使用該偽指令定義的名稱可在ARM指令LDM/STM中使用。在LDM/STM指令中,列表中的寄存器訪問次序根據寄存器的編號由低到高,而與列表中的寄存器排列次序無關。

          2. 數據定義 (Data Definition) 偽指令

          數據定義偽指令一般用于為特定的數據分配存儲單元,同時可完成已分配存儲單元的初始化。常見的數據定義偽指令有如下幾種。

          (1)DCB

          標號 DCB 表達式

          DCB偽指令用于分配一片連續的字節存儲單元,并用偽指令中指定的表達式初始化。其中,表達式可以為0~255的數字或字符串。DCB也可用“=”代替。

          (2)DCW(或DCWU)

          標號 DCW(或DCWU) 表達式

          DCW(或DCWU)偽指令用于分配一片連續的半字存儲單元,并用偽指令中指定的表達式初始化。其中,表達式可以為程序標號或數字表達式。

          用DOW分配的字存儲單元是半字對齊的,而用DCWU分配的字存儲單元并不嚴格要求半字對齊。


        上一頁 1 2 下一頁

        關鍵詞: ARM 匯編器 偽指令

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 神农架林区| 都匀市| 南岸区| 综艺| 大竹县| 景宁| 遵义县| 东宁县| 成都市| 民和| 汽车| 滦平县| 灌云县| 鹤岗市| 宜丰县| 介休市| 泊头市| 屯留县| 乌鲁木齐市| 德清县| 天津市| 镇安县| 剑河县| 微山县| 太仓市| 五家渠市| 沅江市| 阿鲁科尔沁旗| 阳泉市| 宾阳县| 河北区| 东平县| 天等县| 二连浩特市| 于田县| 奈曼旗| 上饶县| 平度市| 高州市| 增城市| 康定县|