5.5.3 Org Directive

The .org new-lc[, fill] directive advances the location counter of the current section to new-lc. The new-lc argument is either an absolute expression or an expression with the same section as the current subsection. That is, you can't use .org to cross sections: if new-lc has the wrong section, the .org directive is ignored. If the section of new-lc is absolute, xc32-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 the assembler tries to assemble programs in one pass, new-lc may not be undefined.

Beware that the origin is relative to the start of the section, not to the start of the subsection.

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.