beautypg.com

Org (segment control) – Echelon Neuron User Manual

Page 162

background image

ORG (Segment Control)

The ORG directive closes the currently open and active segment, and opens a

new segment of the same type. When a segment is closed, it is complete and can

be assembled and written to the object output file. However, you do not need to

explicitly close a segment because the assembler automatically closes all

remaining open segments when the end of the input file is reached, or when the

END directive is encountered.
Because the Neuron Linker operates on segments as the smallest relocatable

unit, it is often best to break a large assembly source file into multiple segments

(even of the same type) to allow for more versatile linkage.
See also SEG (Segment Control).

Syntax:
The ORG directive can have one optional argument, but cannot have a label.

The argument, if any, can either be a constant expression or the keyword

CONSTRAINED. The argument specifies the nature of the new segment being

opened.

ORG

ORG const_expr

ORG CONSTRAINED

If no argument is specified, the ORG directive opens a new relocatable segment

of any size.
The value of the const_expr argument is used as the absolute starting address of

the segment. The starting address is passed to the linker. The assembler does

not check the validity of this starting address. However, the linker does check

the validity of the starting address, and checks for address conflicts between

multiple absolute segments.
The CONSTRAINED keyword instructs the linker to relocate the segment so

that it does not cross a Neuron memory page boundary. A Neuron memory page

is 256 bytes.

152

Neuron Assembler Directives