Skip to content
Snippets Groups Projects
Select Git revision
  • e5a55ae5d895b36506b339f1f24833424616305f
  • master default protected
  • 2018ws
  • 2017ws
  • 2016ws
5 results

loesung-1-2.c

Blame
  • Forked from Peter Gerwinski / hp
    Source project has a limited visibility.
    fak-i-3.s 1.30 KiB
    	.file	"fak-i-3.c"
    	.text
    	.globl	fak
    	.type	fak, @function
    fak:
    .LFB11:
    	.cfi_startproc
    	testl	%edi, %edi
    	jle	.L4                              ; #include <stdio.h>
    	addl	$1, %edi                         ; 
    	movl	$1, %edx                         ; int fak (int n)
    	movl	$1, %eax                         ; {
    .L3:                                             ;   int f = 1;
    	imull	%edx, %eax                       ;   for (int i = 1; i <= n; i++)
    	addl	$1, %edx                         ;     f *= i;
    	cmpl	%edi, %edx                       ;   return f;
    	jne	.L3                              ; }
    	ret
    .L4:
    	movl	$1, %eax
    	ret
    	.cfi_endproc
    .LFE11:
    	.size	fak, .-fak
    	.section	.rodata.str1.1,"aMS",@progbits,1
    .LC0:
    	.string	"%d! = %d\n"
    	.text
    	.globl	main
    	.type	main, @function
    main:
    .LFB12:
    	.cfi_startproc
    	subq	$8, %rsp                         ;  int main (void)
    	.cfi_def_cfa_offset 16                   ;  {
    	movl	$6, %edi                         ;    printf ("%d! = %d\n", 6, fak (6));
    	call	fak                              ;    return 0;
    	movl	%eax, %edx                       ;  }
    	movl	$6, %esi
    	leaq	.LC0(%rip), %rdi
    	movl	$0, %eax
    	call	printf@PLT
    	movl	$0, %eax
    	addq	$8, %rsp
    	.cfi_def_cfa_offset 8
    	ret
    	.cfi_endproc
    .LFE12:
    	.size	main, .-main
    	.ident	"GCC: (Debian 8.3.0-6) 8.3.0"
    	.section	.note.GNU-stack,"",@progbits