Search code examples
assemblyintminsparc

How to find minimum and maximum of array of ints in assembler (SPARC)?


I have to write an assembly program that will find the minimum of array of ints (fed into the program from C as a pointer)

Can anyone tell me how to do it ? or at least how to store/access the array in assembler ?

Normally the variables are accessed by consecutive buffors e.g. :

subcc %i0, 2, %l0

but I don't have a clue how to do it with arrays.


Solution

  • Rebember that in C expression arr[i] is in fact equivalent to *(arr + i).

    To access value in array you need to calculate it's address - it's arr + i * sizeof(int). Then you can use ld, st instructions to read or write.