Profil supprimé | J'ai un code C
Code :
- #include <stdio.h>
- main()
- {
- int i,j,k;
- i=1; j=2;
- k=i+j;
- printf("La somme calculee est : %d\n",k);
- }
|
Et le résultat de la commande suivante :
gcc -O0 -S test.c
qui me donne test.s une traduction ASM ci dessous
Code :
- .file "test.c"
- .section .rodata
- .LC0:
- .string "La somme calculee est : %d\n"
- .text
- .globl main
- .type main,@function
- main:
- pushl %ebp
- movl %esp, %ebp
- subl $24, %esp
- andl $-16, %esp
- movl $0, %eax
- subl %eax, %esp
- movl $1, -4(%ebp)
- movl $2, -8(%ebp)
- movl -8(%ebp), %eax
- addl -4(%ebp), %eax
- movl %eax, -12(%ebp)
- subl $8, %esp
- pushl -12(%ebp)
- pushl $.LC0
- call printf
- addl $16, %esp
- leave
- ret
- .Lfe1:
- .size main,.Lfe1-main
- .ident "GCC: (GNU) 3.2.2 20030222 (Red Hat Linux 3.2.2-5)"
|
J'aimerais savoir quels sont les symboles des variables i j et k et de l'addition dans ce code ASM ...
THX Message édité par Profil supprimé le 19-02-2004 à 20:17:12
|