        AREA Loadcon, CODE, READONLY
        ENTRY                           ; Mark first instruction

start
        BL      func1                   ; Branch to first subroutine
        BL      func2                   ; Branch to second subroutine

stop
        MOV     r0, #0x18               ; angel_SWIreason_ReportException
        LDR     r1, =0x20026    ; ADP_Stopped_ApplicationExit
        SWI     0x123456                ; Angel semihosting ARM SWI
        
func1
        LDR     r0, =42         ; => MOV R0, #42
        LDR     r1, =0x55555555 ; => LDR R1, [PC, #offset to
                                                ;                                       Literal Pool 1]
        LDR     r2, =0xFFFFFFFF         ; => MVN R2, #0
        MOV     pc, lr

        LTORG                           ; Literal Pool 1 contains 
                                        ; literal &55555555

func2
        LDR     r3, =0x55555555         ; => LDR R3, [PC, #offset to
                                        ;                       Literal Pool 1]
        ; LDR r4, =0x66666666   ; If this is uncommented it
                                        ; will fail, as Literal Pool 2
                                        ; is not accessible (out of
                                        ; reach)
        MOV     pc, lr

LargeTable              %   4200        ; Clears a 4200 byte area of memory, 
                                        ; starting at the current location,
                                        ; to zero.

        END                             ; Literal Pool 2 is empty

