.org new-lc , fill
Advance the location counter of the current section to new-lc. new-lc is either an absolute expression or an expression with the same section as the current subsection. That is, you cant use .org
to cross sections: if new-lc has the wrong section, the .org
directive is ignored. To be compatible with former assemblers, if the section of new-lc is absolute, as
issues a warning, then pretends the section of new-lc is the same as the current subsection.
.org
may only increase the location counter, or leave it unchanged; you cannot use .org
to move the location counter backwards.
Because as
tries to assemble programs in one pass, new-lc may not be undefined. If you really detest this restriction we eagerly await a chance to share your improved assembler.
Beware that the origin is relative to the start of the section, not to the start of the subsection. This is compatible with other peoples assemblers.
When the location counter (of the current subsection) is advanced, the intervening bytes are filled with fill which should be an absolute expression. If the comma and fill are omitted, fill defaults to zero.