; mnozenje 32 bitnih brojeva ostvareno zbrajanjem
; R1 - multiplikator
; R2 - multiplikand
; R3 - rezultat

        AREA mult_add, CODE, READWRITE

        ENTRY
main
        ADR R0, mults
        LDR R1, [R0], #4
        LDR R2, [R0], #4
        MOV R3, #0
        MOV R4, #0

mul_loop
        ADDS R3, R3, R2
        ADC R4, R4, #0
        SUBS R1, R1, #1
        BNE mul_loop

kraj
        STR R3, [R0], #4
        STR R4, [R0], #4

        MOV R0, #0x18           ; angel_SWIreason_ReportException
        LDR R1, =0x20026        ; ADP_Stopped_ApplicationExit
        SWI 0x123456            ; ARM semihosting SWI

mults DCD 0xFFFFF, 0xFFFFF, 0x0, 0x0

        END