+1 (315) 557-6473 

Sort an unsigned array using ARM assembly assignment help

The assignment deals with implementing a sorting algorithm in ARM assembly in order to sort a given array in memory. The array is stored in the data section as a number that indicates the number of elements followed by the actual array elements. The array is sorted in ascending order in place by using bubble sort. The following code is an illustration of the quality of the solution you receive when you avail ARM assembly assignment help from us.
Table Of Contents
  • Implementing Sorting Algorithms in ARM Assembly

Implementing Sorting Algorithms in ARM Assembly

Sort an unsigned array using ARM assembly assignment help

.text .global _start .global main _start: main: LDR R0, =LIST // point to start of list LDR R1, [R0] // load first value, which is the list length n ADD R0, R0, #4 // point to first value in list SUB R1, R1, #1 // use n-1 MOV R2, #0 // start at index 0 for1: CMP R2, R1 // if i >= n-1, end sort BGE END MOV R3, R2 // min_index = i ADD R4, R2, #1 // start at j = i+1 for2: CMP R4, R1 // if j > n-1, end for2 BGT endfor2 LDR R5, [R0, R4, LSL #2] // load list[j] LDR R6, [R0, R3, LSL #2] // load list[min_index] CMP R5, R6 // if list[j] < list[min_index] BGE next MOV R3, R4 // min_index = j next: ADD R4, R4, #1 // j++ B for2 // repeat for2 endfor2: LDR R5, [R0, R2, LSL #2] // load list[i] LDR R6, [R0, R3, LSL #2] // load list[min_index] STR R6, [R0, R2, LSL #2] // save swapped in list[i] STR R5, [R0, R3, LSL #2] // save swapped in list[min_index] ADD R2, R2, #1 // i++ B for1 // repeat for1 END: B END .data LIST: .word 10 // list length .word 43 .word 31 .word 12 .word 7 .word 42 .word 15 .word 8 .word 1 .word 4 .word 5