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