7.3.1. LTORG

LTORG 지시어는 현재 리터럴 풀을 즉시 어셈블하도록 어셈블러에 지시합니다.

구문

LTORG

사용법

어셈블러는 코드 섹션이 끝날 때마다 현재 리터럴 풀을 어셈블합니다. 코드 섹션의 끝은 그 다음 섹션의 시작 부분이나 어셈블리 끝에 있는 AREA 지시어로 확인됩니다.

이러한 기본 리터럴 풀은 경우에 따라 일부 LDR, VLDRWLDR 의사 명령어의 범위를 벗어날 수 있습니다. LTORG를 사용하면 리터럴 풀이 범위 내에서 어셈블되었는지 확인할 수 있습니다. 의사 명령어에 대한 자세한 내용은 다음을 참조하십시오.

큰 프로그램에는 여러 개의 리터럴 풀이 필요할 수 있습니다. 프로세서에서 상수를 명령어로 실행하려고 하지 않도록 하려면 무조건 분기 또는 서브루틴 반환 명령어 다음에 LTORG 지시어를 배치합니다.

어셈블러는 리터럴 풀의 데이터를 워드로 정렬합니다.

예제

        AREA    Example, CODE, READONLY
start   BL      func1
func1                           ; function body
        ; code
        LDR     r1,=0x55555555  ; => LDR R1, [pc, #offset to Literal Pool 1]
        ; code
        MOV     pc,lr           ; end function
        LTORG                   ; Literal Pool 1 contains literal &55555555.
data    SPACE   4200            ; Clears 4200 bytes of memory, 
                                ; starting at current location.
        END                     ; Default literal pool is empty.
Copyright © 2002-2008 ARM Limited. All rights reserved.ARM DUI 0204IK
Non-Confidential