; 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