- Codice:
#include<stdio.h>
int primo(int *a, int lunghezza);
int main()
{
int c;
int pippo[5] = { 1, 2, 3, 4, 5 };
c = primo(pippo, 5);
printf("il numero e' %d", c);
}
Invece il file.asm è questo:
- Codice:
.586
.model flat
.code
_primo proc
push ebp
mov ebp,esp
push ebx
push esi
push edi
mov eax, dword ptr [ebp+8]
mov esi,eax
dec esi
ciclo:
cmp esi,1
je fineciclo
mov eax, dword ptr [ebp+8]
mov edx,0 ;
div esi ;
cmp edx,0
jne prosegui
mov eax,0
jmp finetutto
prosegui:
dec esi
jmp ciclo
fineciclo:
mov eax,1
finetutto:
pop edi
pop esi
pop ebx
mov esp,ebp
pop ebp
ret
_primo endp
end
Se qualcuno riesce a capire l'errore che sto facendo me lo potrebbe per favore indicare, perchè mi sento abbastanza sicuro del codice che ho scritto..