main()
{
int a=7;
int b=3;
int c=(int)((float)a*(float)b);
}
Assembly:
.file "abc.c"
.text
.globl main
.type main, @function
main:
.LFB0:
.cfi_startproc
pushl %ebp
.cfi_def_cfa_offset 8
.cfi_offset 5, -8
movl %esp, %ebp
.cfi_def_cfa_register 5
subl $20, %esp
movl $7, -12(%ebp)
movl $3, -8(%ebp)
fildl -12(%ebp)
fildl -8(%ebp)
fmulp %st, %st(1)
fnstcw -18(%ebp)
movzwl -18(%ebp), %eax
movb $12, %ah
movw %ax, -20(%ebp)
fldcw -20(%ebp)
fistpl -4(%ebp)
fldcw -18(%ebp)
leave
.cfi_restore 5
.cfi_def_cfa 4, 4
ret
.cfi_endproc
.LFE0:
.size main, .-main
.ident "GCC: (Ubuntu/Linaro 4.6.1-9ubuntu3) 4.6.1"
.section .note.GNU-stack,"",@progbits