Le programme: .file "test.c" .text .globl main .type main, @function main: leal 4(%esp), %ecx andl $-16, %esp pushl -4(%ecx) pushl %ebp movl %esp, %ebp pushl %ecx subl $52, %esp movl $0, %eax movl $-1476395008, %edx movl $16385, %ecx movl %eax, -56(%ebp) movl %edx, -52(%ebp) movl %ecx, -48(%ebp) movl $0, %eax movl $-1073741824, %edx movl $16383, %ecx movl %eax, -40(%ebp) movl %edx, -36(%ebp) movl %ecx, -32(%ebp) fldt -56(%ebp) fldt -40(%ebp) fdivrp %st, %st(1) fstpt -24(%ebp) movl $0, %eax addl $52, %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 L'execution Type "help info" followed by info subcommand name for full documentation. Command name abbreviations are allowed if unambiguous. (gdb) info float R7: Valid 0x4001a800000000000000 +5.25 =>R6: Valid 0x3fffc000000000000000 +1.5 R5: Empty 0x00000000000000000000 R4: Empty 0x00000000000000000000 R3: Empty 0x00000000000000000000 R2: Empty 0x00000000000000000000 R1: Empty 0x00000000000000000000 R0: Empty 0x00000000000000000000 Status Word: 0x3000 TOP: 6 Control Word: 0x037f IM DM ZM OM UM PM PC: Extended Precision (64-bits) RC: Round to nearest Tag Word: 0x0fff Instruction Pointer: 0x73:0x08098264 Operand Pointer: 0x7b:0xbfaca170 Opcode: 0x0000 (gdb) n 28 fstpt -24(%ebp) (gdb) info float =>R7: Valid 0x4000e000000000000000 +3.5 R6: Empty 0x3fffc000000000000000 R5: Empty 0x00000000000000000000 R4: Empty 0x00000000000000000000 R3: Empty 0x00000000000000000000 R2: Empty 0x00000000000000000000 R1: Empty 0x00000000000000000000 R0: Empty 0x00000000000000000000 Status Word: 0x3800 TOP: 7 Control Word: 0x037f IM DM ZM OM UM PM PC: Extended Precision (64-bits) RC: Round to nearest Tag Word: 0x3fff Instruction Pointer: 0x73:0x08098267 Operand Pointer: 0x7b:0xbfaca170 Opcode: 0x0000