El código en C es:
Código:
#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:
.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