; divide sub.s
; dijeljenje brojeva bez predznaka ostvareno oduzimanjem
; R1 - 32 bitni dijeljenik
; R2 - 32 bitni dijelitelj
; R3 - ostatak dijeljenja
; R4 - rezultat

        AREA div_sub, CODE, READWRITE
        ENTRY

main
        ADR R0, DIVS
        LDR R1, [R0], #4        ; dijeljenik
        LDR R2, [R0], #4        ; dijelitelj

        MOV R4, #0              ; rezultat
        MOV R3, R1              ; ostatak

divloop
        CMP R2, R3              ; ako je ostatak < dijelitelj
        BHI kraj                ; izadji iz petlje
        SUB R3, R3, R2          ; inace oduzmi dijelitelj od 
        ADD R4, R4, #1          ; djeljenika i povecaj rezultat
        B divloop

kraj
        STR R4, [R0], #4        ; rezultat
        STR R3, [R0]            ; ostatak

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

DIVS DCD 100, 0x9, 0x0, 0x0

        END