Assembler Reference

3.6.10Unary 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

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

 

-A

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).

 

 

 

3-26

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

ARM DUI 0068B

Page 104
Image 104
ARM VERSION 1.2 manual Unary operators, Operator Usage Description