; int max; ; int size = 10; ; int nums[10] = {5, 3, -1, 2, 4, 37, -100, 13, -5, 0}; ; max = nums[0]; ; for (i = 1; i < size; i++) ; if (nums[i] > max) ; max = nums[i]; ; ; This program finds the maximum value in an array ; AREA ARRAY_MAX, CODE, READONLY ENTRY ADR r10, array ; pointer to first element of array LDR r1, size ; holds size of array LDR r2, [r10] ; max = num[0] MOV r4, #1 loop SUBS r5, r4, r1 ; Check to see whether index < size. BPL done ; If not, done. LDR r7, [r10, #4]! ; . SUBS r8, r7, r2 BMI next MOV r2, r7 next ADD r4, r4, #1 B loop done STR r2, max stop B stop size DCD 10 max SPACE 4 array DCD 5, 3, -1, 2, 4, 37, -100, 13, -5, 0 END