Professional Documents
Culture Documents
FUNDAMENTOS DE COMPUTADORES2
PRCTICA 3: PROGRAMACIN CON SUBRUTINAS Objetivos
El objetivo de esta prctica es estudiar el soporte del ensamblador del ARM para la gestin de subrutinas, para lo que resulta necesario familiarizarse con, el estndar de llamadas a subrutinas, el ARM Architecture Procedure Call Standard (AAPCS). Como todos los conceptos han sido explicados en clase, pasamos directamente al desarrollo de la prctica. Nota: En todos los casos el fichero ldscript.ld ser el mismo que el de la prctica 1, adems, todos los programas inicializarn la base de la pila en START: con la siguiente instruccin:
START: LDR SP, =0x0C7FF000
Nota: Este cdigo se corresponde (excepto por las instrucciones de gestin de subrutina) con el bucle interno del apartado b de la prctica 2.
Prctica 3 / pg. 1
rellenar un vector B con los valores de A ordenados de mayor a menor. Para ello nos podemos basar en el siguiente cdigo de alto nivel:
#define N 8 int A[N]={7,3,25,4,75,2,1,1}; int B[N]; void main() { int j=0; // Usar un registro para j for(j=0; j<N; j++) { ind=maximo(A,N) B[j]=A[ind]; A[ind]=0; } }
Prctica 3 / pg. 2