rendered paste bodyvoid function(int a, int b, int c) {
int bb[1];
char buffer1[5];
char buffer2[10];
int aa[1];
bb[0] = 0;
buffer1[0]='a';
buffer1[4]='a';
/*buffer1[5]='b';*//*hihi*/
buffer2[0]='c';
buffer2[9]='c';
aa[0] = 1;
}
int main() {
function(1,2,3);
return 0;
}
===============================
.file "example1.c"
.text
.globl function
.type function, @function
function:
pushl %ebp
movl %esp, %ebp
subl $32, %esp
movl $0, -4(%ebp)
movb $97, -9(%ebp)
movb $97, -5(%ebp)
movb $99, -19(%ebp)
movb $99, -10(%ebp)
movl $1, -24(%ebp)
leave
ret
.size function, .-function
.globl main
.type main, @function
main:
leal 4(%esp), %ecx
andl $-16, %esp
pushl -4(%ecx)
pushl %ebp
movl %esp, %ebp
pushl %ecx
subl $12, %esp
movl $3, 8(%esp)
movl $2, 4(%esp)
movl $1, (%esp)
call function
movl $0, %eax
addl $12, %esp
popl %ecx
popl %ebp
leal -4(%ecx), %esp
ret
.size main, .-main
.ident "GCC: (GNU) 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)"
.section .note.GNU-stack,"",@progbits