2016-02-04 3 views
1

Je fais l'assemblage SPARC. Voici est une partie de mon code:Erreur Segfault de printf?

convert: 
    save %sp, -96, %sp 

    mov  %i0, %l0  !%i0 has a long array 
    mov  %i1, %l1  !%i1 has a char array 


process: 
    ld  [%i0], %o0  !maps firstArray[0] to %l0 
    mov  10, %o1   !maps 10 to %o1 
    call .div   !divide by 10 to get 10s place 
    nop 

    mov  %o0, %l3  !stores result in l3 
    stb  %l3, [%i1]  !stores result in the second array 


    mov  %l3, %o1  !checking contents after calculation 
    call printf 
    nop 

printf provoque une erreur, et je ne sais pas pourquoi. J'ai essayé cela avec plusieurs des registres locaux. J'en ai besoin pour vérifier mes résultats. Que devrais-je faire? En outre, je ne suis pas sûr que ma façon d'implémenter les tableaux de paramètres soit correcte, mais je n'obtenais pas cette erreur avant d'avoir ajouté l'instruction printf.

+3

Je pense que je l'ai compris -% o0 doit être défini avec une chaîne de format. – Rez

+0

Vous devriez publier cela comme réponse. C'est, en effet, le problème. –

Répondre

0

La figure % o0 doit être définie avec une chaîne de format.