Org (segment control) – Echelon Neuron User Manual
Page 162

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