表達(dá)式是由符號(hào)、數(shù)值、單目或多目操作符以及括號(hào)組成的。在一個(gè)表達(dá)式各種元素的優(yōu)先級(jí)如下:
括號(hào)內(nèi)的表達(dá)式優(yōu)先級(jí)最高。
各種操作符有一定的優(yōu)先級(jí)。
相鄰的單目操作符的執(zhí)行順序由左到右,單目操作符優(yōu)先級(jí)高于其他操作符。
優(yōu)先級(jí)相同的雙目操作符執(zhí)行順序?yàn)橛勺蟮接摇?/p>
(1)字符串表達(dá)式
字符串表達(dá)式由字符串、字符串變量、操作符以及括號(hào)組成。
字符串由包含在雙引號(hào)內(nèi)的一系列字符組成。字符串的長(zhǎng)度受到ARM匯編語(yǔ)言語(yǔ)句長(zhǎng)度的限制。當(dāng)在字符串中包含美元符號(hào)$或者引號(hào)”時(shí),用$$表示一個(gè)$,用””表示一個(gè)”。
(2)字符串變量
字符串變量用偽操作GBLS或者LCLS聲明,用SETS賦值。
(3)操作符
下面介紹與字符串表達(dá)式相關(guān)的操作符。
LEN
LEN操作符返回字符串的長(zhǎng)度。其語(yǔ)法格式如下:
:LEN:A
其中:A為某一個(gè)字符的ASCII的值。
STR
STR將一個(gè)數(shù)字量或者邏輯表達(dá)式轉(zhuǎn)換成串。對(duì)于32為的數(shù)字量而言,STR將其轉(zhuǎn)換成8個(gè)十六進(jìn)制組成的串;對(duì)于邏輯表達(dá)式而言,STR將其轉(zhuǎn)換成字符串T(ture)或F(false)。其語(yǔ)法格式如下:
:STR:A
其中:A為數(shù)字量或邏輯表達(dá)式。
示例82 STR操作符舉例
GLBA A1
SETA A1 15
:STR:A1 ;將A1轉(zhuǎn)換為“0000000F”
LEFT
LEFT返回一個(gè)字符串最左端一定長(zhǎng)度的字串。其語(yǔ)法格式如下:
A:LEFT:B
其中:A為源字符串;B為數(shù)字量,表示LEFT將返回的字符個(gè)數(shù)。
示例83 LEFT操作符舉例
GBLS STR1
GBLS STR2
SETS STR1 “AAABBB”
SETS STR2 STR1:LEFT:3
程序運(yùn)行完后,STR2為“AAA”
RIGHT
RIGHT返回一個(gè)字符串最右端一定長(zhǎng)度的字串。其語(yǔ)法格式如下:
A:RIGHT:B
其中:A為源字符串;B為數(shù)字量,表示RIGHT將返回的字符個(gè)數(shù)。
示例83 LEFT操作符舉例
GBLS STR1
GBLS STR2
SETS STR1 “AAABBB”
SETS STR2 STR1:RIGHT:3
程序運(yùn)行完后,STR2為“BBB”
CC
CC用于連接2個(gè)字符串。其語(yǔ)法格式如下:
A:CC:B
其中:A為第1個(gè)源字符串;B為第二個(gè)源字符串。
CC操作符將字符串B連接在字符串A的后面。
示例85 CC操作符舉例。
GBLS STR1 ;聲明字符串變量STR1
GBLS STR2 ;聲明字符串變量STR2
STR1 SETS “AAABBB” ;變量STRING1賦值為“AAACCC”
STR2 SETS “BBB”:CC ;(STR1:LEFT:3)
程序運(yùn)行完后,STR2為“BBBAAA”