Programmer en assembleur !!!!help

Bonjour,
Bonjour, je vous prie de bien vouloir m aider sur ce programme assembleur MIPS parce que je ne suis que débutant et quand j essaie de le compiler il m affiche beaucoup d erreurs so voilà:
-je cherche à faire un programme à qui je donne un nombre puis il fait la somme de ses diviseurs pour savoir si c un nombre pafait(ceci dit la somme de ses diviseurs est égale à lui meme) ou non ! en résumant sa donnerai sa en C:
for(i=1;i<nbr;i++)
{
if(nbr%i==0) som+=i;
}
if(som==nbr) printf("ce nombre est un nombre parfait");
else printf("ce nombre n est pas un nombre parfait");
-le programme que j ai pu faire jusque là mais qui ne marche pas c sa:

.text
.globl main
main:

lui $10,0x1000 #adresse de base
lw $1,0($10) #x
lw $2,4($10) #compteur i
lw $3,8($10) #somme

#boucle for
lw $2,0($10)
for: div $1,$2
mfhi $7
beq $7,$0,endfor
add $3,$3,$2
sub $2,$2,1
j for
endfor:

#tester si somme=x
sub $8,$3,$1

beq $8,$0,else

la $a0,perfect
li $v0,4
syscall

jmp end

else:
la $a0,nperfect
li $v0,4
syscall

end:

.data
x: .word 28
perfect: .asciiz "le nombre est parfait"
nperfect: .asciiz "le nombre n est pas parfait"

J attends vos suggestions avec impatience et merci d avance!
Configuration: Windows XP Internet Explorer 7.0

5 réponses

  1. Tiens en assembleur MIPS il n'y a pas de registres?
    0
    1. comment sa il n y a pa de registres???
      0
      1. mais bien sur qu il y en a ils sont en nombre de 32
        0
        1. peut etre les commancdes que vs utilesez sont pas reconnu par l'assembleur Mips .
          0
          1. je ne sais pas c est bizarre parce que je les ai trouvé dans un cours sur internet mais j'ai plutot des problèmes avec : li $vo,4 c est surtout ici que le compilateur me donne des erreurs ..
            Est ce que c est possible que ce soit MON compilateur MIPS qui ne marche pas bien??parce que mes camarades de classe ont pu le faire! je ne comprends pas
            0