beautypg.com

Symbols, Expressions, General expressions – Echelon Neuron User Manual

Page 21

background image

Symbols

A symbol is one or more consecutive alphanumeric characters. A symbol can

comprise either lower or upper case letters a..z or A..Z, the digits 0..9, and any of

the following special characters: underscore (_), period (.), or percent (%). The

first character cannot be one of the numeric digits, nor can it be the period (.)

character. Symbols are case sensitive.
Note that Neuron Assembler keywords are reserved and cannot be used for

symbols, regardless of case. Reserved words include instruction mnemonics,

assembler directives, or register names. See Appendix C, Reserved Keywords, for

a list of assembler keywords.
A label is a type of symbol (see Labels). A symbol that acts as a label for the

EQU directive is defined explicitly by the directive’s argument expression,

regardless of whether the directive is in a relocatable segment. See EQU (Equate

Symbol) for more information about this directive.
You can also define a symbol by importing its value from an assembled object file.

The value of an imported symbol is known only at link time. In addition, you can

export a symbol to make it available at link time to another assembly file or a

Neuron C file. See one of the following sections for more information about

importing and exporting symbols: APEXP (Application Symbol Export), EXPORT

(Export Symbol), and IMPORT (Import External Symbol).

Expressions

Some Neuron assembly instructions accept expressions as arguments. The

simplest expression consists of a literal constant or a symbol. However, the

assembler also accepts expressions for which the value is the result of a

computation. The computation can involve multiple literal constants or symbols

and use a variety of operators. If the value of an expression is not computable at

assembly time, the assembly object output file must contain sufficient

information for the Neuron Linker to compute the expression value at link time.

General Expressions

The assembler supports the following types of operators for creating general

expressions:

Unary

Binary

Special operators

All expression values are 16-bit expressions, and all operators produce 16-bit

results. All operations use unsigned two’s-complement arithmetic. You can add

parentheses to an expression to syntactically determine its boundaries without

changing its value.
Unary operators are symbols that appear in front of an expression and perform

an operation on the value of that expression. Table 2 lists the unary operators.

Neuron Assembly Language Reference

11