在匯編語言程序設(shè)計中,經(jīng)常使用各種符號代替地址、變量和常量等,以增加程序的可讀性。盡管符號的命名由編程者決定,但并不是任意的,必須遵循以下的約定。
·符號區(qū)分大小寫,同名的大、小寫符號會被編譯器認為是兩個不同的符號。
·符號在其作用范圍內(nèi)必須唯一。
·自定義的符號名不能與系統(tǒng)的保留字相同。
·符號名不應(yīng)與指令或偽指令同名。
(1)程序中的變量
程序中的變量是指其值在程序運行過程中可以改變的量ARM(Thumb)匯編程序所支持的變量有數(shù)字變量、邏輯變量和字符串變量。
·數(shù)字變量用于在程序運行中保存數(shù)字值,但注意數(shù)字值的大小不應(yīng)超出數(shù)字變量所能表示的范圍。
·邏輯變量用于在程序運行中保存邏輯值,邏輯值只有兩種取值情況:真或假。
·字符串變量用于在程序運行中保存一個字符串,但注意字符串的長度不應(yīng)超出字符串變量所能表示的范圍。
在ARM(Thumb)匯編語言程序設(shè)計中,可使用GBLA、GBLL、GBLS偽指令聲明全局變量,使用LCLA、LCLL、LCLS偽指令聲明局部變量,并可使用SETA、SETL和SETS對其進行初始化。
(2)程序中的常量
程序中的常量是指其值在程序運行過程中不能被改變的量。ARM(Thumb)匯編程序所支持的常量有數(shù)字常量、邏輯常量和字符串常量。
·數(shù)字常量一般為32位的整數(shù),當作為無符號數(shù)時,其取值范圍為0~2(32)-1;當作為
有符號數(shù)時,其取值范圍為-2(31)~2(31)-1。
·邏輯常量只有兩種取值情況:真或假。
·字符串常量為一個固定的字符串,一般用于程序運行時的信息提示。
(3)程序中的變量代換
程序中的變量可通過代換操作取得一個常量。代換操作符為“$”。
·如果在數(shù)字變量前面有一個代換操作符“$”,那么編譯器會將該數(shù)字變量的值轉(zhuǎn)換為十六進制的字符串,并將該十六進制的字符串代換“$”后的數(shù)字變量。
·如果在邏輯變量前面有一個代換操作符“$”,那么編譯器會將該邏輯變量代換為它的取值(真或假)。
·如果在字符串變量前面有一個代換操作符“$”,那么編譯器會將該字符串變量的值代換“$”后的字符串變量。
來源:ks992次