M
wen es interessiert, hier is der asm-output (-S):
.file "main.c"
.text
.globl main
.type main, @function
main:
leal 4(%esp), %ecx
andl $-16, %esp
pushl -4(%ecx)
pushl %ebp
movl %esp, %ebp
pushl %edi
pushl %ecx
subl $80, %esp
movl $46, 12(%esp)
movl $10, 8(%esp)
movl $10, 4(%esp)
movl -16(%ebp), %eax
movl %eax, (%esp)
call field_initW
leal -64(%ebp), %edi
cld
movl $0, %edx
movl $12, %eax
movl %eax, %ecx
movl %edx, %eax
rep
stosl
movl $1, -64(%ebp)
movl $1, -60(%ebp)
leal -64(%ebp), %eax
movl %eax, -12(%ebp)
movl $2, 4(%esp)
movl -12(%ebp), %eax
movl %eax, (%esp)
call bSetBlockType
movl $35, 4(%esp)
movl -12(%ebp), %eax
movl %eax, (%esp)
call bSetChar
movl -12(%ebp), %eax
movl %eax, (%esp)
call brotate
movl -12(%ebp), %eax
movl %eax, 4(%esp)
movl -16(%ebp), %eax
movl %eax, (%esp)
call fb_insert
movl -16(%ebp), %eax
movl %eax, (%esp)
call f_print
movl -16(%ebp), %eax
movl %eax, (%esp)
call f_shutdown
movl $0, %eax
addl $80, %esp
popl %ecx
popl %edi
popl %ebp
leal -4(%ecx), %esp
ret
.size main, .-main
.ident "GCC: (GNU) 4.1.2 20060928 (prerelease) (Ubuntu 4.1.1-13ubuntu5)"
.section .note.GNU-stack,"",@progbits
[Edit]
also ich hab herausgefunden woran es liegt:
er macht zwar am anfang "pushl -4(%ecx)" aber am ende nicht "popl -4(%ecx)"
[\Edit]