All pastes #464512 Raw Edit

Stuff

public text v1 · immutable
#464512 ·published 2007-04-29 15:43 UTC
rendered paste body
	.file	"glib.c"
	.text
.globl test
	.type	test, @function
test:                                           ; int test(bool i)
	pushl	%ebp                 ; sauve ebp (on le met sur la pile)
	movl	%esp, %ebp               ; on met esp, l'argument (ici bool i) dans ebp
	subl	$8, %esp                    ; on alloue 8 bits de mémoire
	movl	8(%ebp), %eax           ; on met ebp dans eax, comme ça on aura accès à un registre 1bite en prenant les 8 bits de poinds faible de ax
	movb	%al, -4(%ebp)    ; on met al, qui fait 1bit, dans ebp
	cmpb	$1, -4(%ebp)      ; on compare ebp avec TRUE
	jne	.L2                              ; If i != TRUE return 10 (goto L2)
	movl	$11, -8(%ebp)            ; If i == TRUE return 11
	jmp	.L4                              ; goto L4
.L2:
	movl	$10, -8(%ebp)             ; If i != TRUE return 10
.L4:
	movl	-8(%ebp), %eax          ; on met le résultat dans eax, afin de définir le code de retour
	leave                                  ; et on se casse :p
	ret
	.size	test, .-test
	.ident	"GCC: (GNU) 4.1.2 20060928 (prerelease) (Ubuntu 4.1.1-13ubuntu5)"
	.section	.note.GNU-stack,"",@progbits