fill in the blanks below in its corresponding c source code
The following is the assembly code for a for loop.
loop:_x000D_
pushq %rbp_x000D_
movq %rsp, %rbp_x000D_
movq %edi, -24(%rbp)_x000D_
movq %esi, -32(%rbp)_x000D_
movq $0 -8(%rbp)_x000D_
jmp .L2_x000D_
.L3:_x000D_
subq $1, -24(%rbp)_x000D_
addq $1, -32(%rbp)_x000D_
addq $1, -8(%rbp)_x000D_
.L2:_x000D_
movq -24(%rbp), %rax_x000D_
cmpq -32(%rbp), %rax_x000D_
jg .L3_x000D_
addq $1, -8(%rbp)_x000D_
movq -8(%rbp), %eax_x000D_
popq %rbp _x000D_
ret_x000D_
Based on the assembly code above, fill in the blanks below in its_x000D_
corresponding C source code. (Note: you may only use the symbolic_x000D_
variables x, y, and result in your expressions below._x000D_
(do not use register names.). _x000D_
______________________________________________________________x000D_
int loop(int x, int y){_x000D_
int result;_x000D_
for (______(1)_______; _____(2)______; result++ ) {_x000D_
____(3)______;_x000D_
____(4)______;_x000D_
}_x000D_
_____(5)____;_x000D_
return result;_x000D_
}

