Indicate the start of a section at an absolute address to the assembler.
The range from the .org directive to the line with the next section definition directive (.cseg, .dseg, .section or .org) is regarded as a section where the code is placed at absolute addresses. |
The name of each section starting at an absolute address takes the form of "section for which .org was written" + ".AT" + "specified address". The relocation attribute is the same as that of the section for which .org was written. |
If .org is written prior to a section definition directive at the beginning of a file of source code, the name of the section will be ".text.AT" + "specified address" and the relocation attribute will be "TEXT". |
If .org is written immediately after a section definition directive, the section is only generated from the absolute address.
.section "My_text", text .org 0x12 ;"My_text.AT12" is allocated to address 0x12 mov r10, r11 .org 0x30 ;"My_text.AT30" is allocated to address 0x30 mov r11, r12 |
If the .org directive does not immediately follow the section definition directive, only the range of code from the .org directive is a section starting at the given absolute address.
.section "My_text", text nop ;Allocated in "My_text" .org 0x50 mov r10, r11 ;Allocated in "My_text.AT50" |
The operand value is in accordance with "Absolute expression". An illegal value will lead to an error and cause processing to end. |
The overall definition of a single section may contain multiple .org directives. Note, however, that an error will occur if an address specified for a section by .org is in an address range to which another section starting at an absolute address has been allocated in the same file. |