Example 2

INPUT:
int a[100][100];
main() {
   int size;
   scanf("%d",&size);
   motion(size);
}
motion(int n) {
   int i,j,k;
   for (i=0;i<100;i++){
      k = i*(n+2);
      for (j=0;j<100;j++)
        a[i][j] = 100*n + 10*k + j;
   }
}

Things to note in the output below:

OUTPUT:
        .file   "motion2.c"
        .text
.globl motion
        .type   motion, @function
motion:
        pushl   %ebp
        movl    %esp, %ebp
        pushl   %edi
        pushl   %esi
        pushl   %ebx
        movl    8(%ebp), %eax
        leal    10(%eax,%eax,4), %edx
        leal    (%edx,%edx), %edi
        imull   $100, %eax, %ebx
        movl    $0, %esi
.L2:
        imull   $400, %esi, %eax
        leal    a(%eax), %ecx
        movl    $0, %edx
.L3:
        leal    (%ebx,%edx), %eax
        movl    %eax, (%ecx)
        addl    $1, %edx
        addl    $4, %ecx
        cmpl    $100, %edx
        jne     .L3
        addl    $1, %esi
        addl    %edi, %ebx
        cmpl    $100, %esi
        jne     .L2
        popl    %ebx
        popl    %esi
        popl    %edi
        popl    %ebp
        ret
        .size   motion, .-motion
        .section        .rodata.str1.1,"aMS",@progbits,1
.LC0:
        .string "%d"
        .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    $36, %esp
        leal    -8(%ebp), %eax
        movl    %eax, 4(%esp)
        movl    $.LC0, (%esp)
        call    scanf
        movl    -8(%ebp), %eax
        movl    %eax, (%esp)
        call    motion
        addl    $36, %esp
        popl    %ecx
        popl    %ebp
        leal    -4(%ecx), %esp
        ret