正在 ARM 的彙編步驟中,有如下幾種僞指令:標記界說僞指令、數據界說僞指令、彙編控制僞指令、宏指令以及其他僞指令。
標記界說( Symbol Definition )僞指令
標記界說僞指令用於界說 ARM 彙編步驟中的變量、對變量賦值以及界說寄存器的又名等作。
多見的標記界說僞指令有如下幾種:
— 用於界說全局變量的 GBLA 、 GBLL 和 GBLS 。
— 用於界說局部變量的 LCLA 、 LCLL 和 LCLS 。
— 用於對變量賦值的 SETA 、 SETL 、 SETS 。
— 爲通用寄存器列表界說稱呼的 RLIST 。
1、 GBLA、GBLL 和GBLS
語法式樣:
GBLA ( GBLL 或 GBLS ) 全局變量名
GBLA 、 GBLL 和 GBLS 僞指令用於界說一個 ARM 步驟中的全局變量,並將其初始化。其中:
GBLA 僞指令用於界說一個全局的數字變量,並初始化爲 0 ;
GBLL 僞指令用於界說一個全局的邏輯變量,並初始化爲 F (假);
GBLS 僞指令用於界說一個全局的字符串變量,並初始化爲空;
由於以上三條僞指令用於界說全局變量,因此正在整個步驟範疇內變量名務必唯一。
使用示例:
GBLA Test1 ;界說一個全局的數字變量,變量名爲 Test1
Test1 SETA 0xaa ;將該變量賦值爲 0xaa
GBLL Test2 ;界說一個全局的邏輯變量,變量名爲 Test2
Test2 SETL {TRUE} ;將該變量賦值爲真
GBLS Test3 ;界說一個全局的字符串變量,變量名爲 Test3
Test3 SETS “ Testing ” ;將該變量賦值爲 “ Testing ”
2、 LCLA、LCLL 和LCLS
語法式樣:
LCLA ( LCLL 或 LCLS ) 局部變量名
LCLA 、 LCLL 和 LCLS 僞指令用於界說一個 ARM 步驟中的局部變量,並將其初始化。其中:
LCLA 僞指令用於界說一個局部的數字變量,並初始化爲 0 ;
LCLL 僞指令用於界說一個局部的邏輯變量,並初始化爲 F (假);
LCLS 僞指令用於界說一個局部的字符串變量,並初始化爲空;
以上三條僞指令用於聲明局部變量,正在其作用範疇內變量名務必唯一。
使用示例:
LCLA Test4 ;聲明一個局部的數字變量,變量名爲 Test4
Test3 SETA 0xaa ;將該變量賦值爲 0xaa
LCLL Test5 ;聲明一個局部的邏輯變量,變量名爲 Test5
Test4 SETL {TRUE} ;將該變量賦值爲真
LCLS Test6 ;界說一個局部的字符串變量,變量名爲 Test6