Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menúvoid Intercambiar(int* Lista, int i, int j);
int OrdenaPacientes(int* Lista, struct BCP* P, unsigned char criterio) {
int pid,num,i,j;
if( (criterio != CRIT_PRIO) && (criterio != CRIT_ALFA) )
return -1; //error
// Copiamos los indices de los BCPs ocupados
// a la lista
for( pid = 0, num = 0; pid < MAX_PACIENTES ; pid++ )
if( P[pid].prioridad != 0 ) {
Lista[num] = pid;
num++;
}
// Ordenamos la lista
if( criterio == CRIT_PRIO )
for( i = 0; i < num ; i++ ) {
j = PosMinPrioridad(Lista, P,i,num);
Intercambiar(Lista, i, j );
}
else
for( i = 0; i < num ; i++ ) {
j = PosMinAlfabetico(Lista, P,i,num);
Intercambiar(Lista, i, j );
}
return num;
}
.global Intercambiar
Intercambiar:
push {fp}
mov fp, sp
sub sp, #4
ldr r3, [r0, r2, lsl #2]
str r3, [fp, #-4]
ldr r3, [r0, r1, lsl #2]
str r3, [r0, r2, lsl #2]
ldr r3, [fp, #-4]
str r3, [r0, r1, lsl #2]
mov sp, fp
pop {fp}
mov pc, lr
.end