Hola chicos me gustaría que me miraséis este fragmento de código que me ha tocado traducir en un examen de la carrera. Creo que tengo algún error pero no estoy seguro.
El código en C es:
Y mi traducción a ensamblador ha sido:
Me gustaría que me dijerais que tal lo veis Gracias
El código en C es:
Código [Seleccionar]
#define MAX 15
int main ()
{
short i, cont;
int vector[MAX];
cont = 1;
for (i = 0; i < MAX || cont <10; i++){
if ( i - cont == 0) { vector [i] = cont;
cont++;
}
else { vector[i] = i; }
}
Y mi traducción a ensamblador ha sido:
Código [Seleccionar]
.data
MAX = 15
.bss
.comm vector,4*MAX,4
.comm i,2,2
.comm cont,2,2
main:
movw $1, cont
movw cont, %ax
movw $0, i
movw i, %si
for:
cmpw %si, MAX
jg ok
cmpw %ax, $10
jle endfor
ok:
if:
movw %si, %bx
subw %ax, %bx
cmpw %bx, $0
jne else
movw %ax, vector(,%si,4)
incw %ax
incw %si
jmp for
else:
movw %si, vector(,%si,4)
incw %si
jmp for
endfor
Me gustaría que me dijerais que tal lo veis Gracias