10 unary operators – ARM VERSION 1.2 User Manual

Page 104

Advertising
background image

Assembler Reference

3-26

Copyright © 2000, 2001 ARM Limited. All rights reserved.

ARM DUI 0068B

3.6.10

Unary operators

Unary operators have the highest precedence and are evaluated first. A unary operator
precedes its operand. Adjacent operators are evaluated from right to left.

Table 3-4 lists the unary operators.

Table 3-4 Unary operators

Operator

Usage

Description

?

?A

Number of bytes of executable code generated by line defining symbol A.

BASE

:BASE:A

If A is a pc-relative or register-relative expression,

BASE

returns the number

of its register component

BASE

is most useful in macros.

INDEX

:INDEX:A

If A is a register-relative expression,

INDEX

returns the offset from that base

register.

INDEX

is most useful in macros.

+

and

-

+A

-A

Unary plus. Unary minus. + and – can act on numeric and program-relative
expressions.

LEN

:LEN:A

Length of string A.

CHR

:CHR:A

One-character string, ASCII code A.

STR

:STR:A

Hexadecimal string of A.

STR

returns an eight-digit hexadecimal string corresponding to a numeric

expression, or the string

"T"

or

"F"

if used on a logical expression.

NOT

:NOT:A

Bitwise complement of A.

LNOT

:LNOT:A

Logical complement of A.

DEF

:DEF:A

{

TRUE

} if A is defined, otherwise {

FALSE

}.

SB_OFFSET_19_12

:

SB_OFFSET_19_12: label

Bits[19:12] of (

label

– sb). See Example of use of :SB_OFFSET_19_12:

and :SB_OFFSET_11_ 0 on page 3-27

SB_OFFSET_11_0

:

SB_OFFSET_11_0

: label

Least-significant 12 bytes of (

label

– sb).

Advertising