3)基于寄存器和基于PC的表達式
基于寄存器的表達式表示某個寄存器的值加上(或減去)一個數字表達式。基于PC的表達式表示PC寄存器的值加上(或減去)一個數字表達式?;赑C的表達式通常由程序中的標號與一個數字表達式組成。相關的操作符有以下幾種。
(1)BASE
BASE操作符返回基于寄存器的表達式中的寄存器編號。
:BASE:A
其中:A為基于寄存器的表達式。
(2)INDEX
INDEX操作符返回基于寄存器的表達式相對于基址寄存器的偏移量。
:INDEX:A
其中:A為基于寄存器的表達式
(3)+、—
+、—為正負號。它們可放在數字表達式或基于PC的表達式前面。
+A
—A
其中:A為基于PC的表達式或數字表達式。
4)邏輯表達式
邏輯表達式由邏輯量、邏輯操作符、關系操作符以及括號組成。其取值范圍為{FALSE}和{TURE}。
(1) 關系操作符
關系操作符用于表示兩個同類的表達式之間的關系。關系操作符一般與兩個操作數組成一個邏輯表達式。操作數類型可以是數字表達式、字符串表達式、基于寄存器的表達式及基于PC的表達式。注意,數字表達式都看做無符號數,字符串比較是根據串中對應字符的ASCII值進行比較的。關系操作符及格式如下:
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是代碼行所產生的可執行代碼的字節數。
(2)·DEF
DEF操作符判斷某個符號是否已經定義。其語法格式及含義如下,其中A為一個符號:
:DEF:A
如果符號A已經定義,則上述結果為{TURE};否則上述結果為{FALSE}。
(3)·SB OFFSET_19_12
SB OFFSET_19_12語法格式及含義如下,其中label為一個標號:
:SB OFFSET_19_12:label
返回(label—SB)的位[19:12]。
(4) ·SB OFFSET_11_0
SB OFFSET_11_0語法格式及含義如下,其中label為一個標號:
:SB OFFSET_11_0:label
返回(label—SB)的位[11:0]。