彙編僞指令彙集

正在 ARM 彙編言語步驟裏,有一些非凡指令助記符,這些助記符與指令零碎的助記符差別,沒有盡對應的作,一般稱這些非凡指令助記符爲僞指令,他們所完成的作稱爲僞作。僞指令正在源步驟中的作用是爲完成彙編步驟作種種預備勞動的,這些僞指令僅正在彙編過程中起作用,一旦彙編結束,僞指令的任務就完成。     
 
    正在 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   

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章