3)基于寄存器和基于PC的表達式
基于寄存器的表達式表示某個寄存器的值加上(或減去)一個數(shù)字表達式。基于PC的表達式表示PC寄存器的值加上(或減去)一個數(shù)字表達式。基于PC的表達式通常由程序中的標(biāo)號與一個數(shù)字表達式組成。相關(guān)的操作符有以下幾種。
(1)BASE
BASE操作符返回基于寄存器的表達式中的寄存器編號。
:BASE:A
其中:A為基于寄存器的表達式。
(2)INDEX
INDEX操作符返回基于寄存器的表達式相對于基址寄存器的偏移量。
:INDEX:A
其中:A為基于寄存器的表達式
(3)+、—
+、—為正負(fù)號。它們可放在數(shù)字表達式或基于PC的表達式前面。
+A
—A
其中:A為基于PC的表達式或數(shù)字表達式。
4)邏輯表達式
邏輯表達式由邏輯量、邏輯操作符、關(guān)系操作符以及括號組成。其取值范圍為{FALSE}和{TURE}。
(1) 關(guān)系操作符
關(guān)系操作符用于表示兩個同類的表達式之間的關(guān)系。關(guān)系操作符一般與兩個操作數(shù)組成一個邏輯表達式。操作數(shù)類型可以是數(shù)字表達式、字符串表達式、基于寄存器的表達式及基于PC的表達式。注意,數(shù)字表達式都看做無符號數(shù),字符串比較是根據(jù)串中對應(yīng)字符的ASCII值進行比較的。關(guān)系操作符及格式如下:
A=B 表示A等于B
A>B 表示A大于B
A>=B 表示A大于或者等于B
A<B 表示A小于B
A<=B 表示A小于或者等于B
A/=B 表示A不等于B
A<>B 表示A不等于B
(2) 邏輯操作符
邏輯操作符用于進行兩個邏輯表達式之間的基本邏輯操作。其語法格式如下:
:LNOT:A 邏輯表達式A的值取反
A:LAND:B 邏輯表達式A和B的邏輯“與”
A:LOR:B 邏輯表達式A和B的邏輯“或”
A:LEOR:B 邏輯表達式A和B的邏輯“異或”。
其中:A和B是兩個邏輯表達式。
5)其他一些操作符
(1)·?
操作符的語法格式及含義如下,其中A為一個字符:
?A
返回定義字符A是代碼行所產(chǎn)生的可執(zhí)行代碼的字節(jié)數(shù)。
(2)·DEF
DEF操作符判斷某個符號是否已經(jīng)定義。其語法格式及含義如下,其中A為一個符號:
:DEF:A
如果符號A已經(jīng)定義,則上述結(jié)果為{TURE};否則上述結(jié)果為{FALSE}。
(3)·SB OFFSET_19_12
SB OFFSET_19_12語法格式及含義如下,其中l(wèi)abel為一個標(biāo)號:
:SB OFFSET_19_12:label
返回(label—SB)的位[19:12]。
(4) ·SB OFFSET_11_0
SB OFFSET_11_0語法格式及含義如下,其中l(wèi)abel為一個標(biāo)號:
:SB OFFSET_11_0:label
返回(label—SB)的位[11:0]。