Skip to content
Snippets Groups Projects
Select Git revision
  • d43119c7395a5b649315bcc1ecc2dc64cd4ede50
  • master default protected
  • v3-modify-mail
  • snyk-fix-207483a1e839c807f95a55077e86527d
  • translations_3b5aa4f3c755059914cfa23d7d2edcde_ru
  • translations_6e4a5e377a3e50f17e6402264fdbfcc6_ru
  • translations_3b5aa4f3c755059914cfa23d7d2edcde_fa_IR
  • translations_en-yml--master_fa_IR
  • snyk-fix-7d634f2eb65555f41bf06d6af930e812
  • translations_en-yml--master_ar
  • translations_3b5aa4f3c755059914cfa23d7d2edcde_el
  • jfederico-patch-1
  • v2
  • v3
  • v1
  • release-3.1.0.2
  • release-3.1.0.1
  • release-3.1.0
  • release-2.14.8.4
  • release-3.0.9.1
  • release-3.0.9
  • release-3.0.8.1
  • release-2.14.8.3
  • release-3.0.8
  • release-3.0.7.1
  • release-2.14.8.2
  • release-3.0.7
  • release-3.0.6.1
  • release-3.0.6
  • release-3.0.5.4
  • release-3.0.5.3
  • release-2.14.8.1
  • release-3.0.5.2
  • release-3.0.5.1
  • release-3.0.5
35 results

README.md

Blame
  • 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