Page 1 of 1

Information Flag question ; int main(int x, int y, int z) ; x in %edi, y in %esi, z in %edx main: leal стрl jle leal ret

Posted: Sat May 14, 2022 4:53 pm
by answerhappygod
 1
1 (33.6 KiB) Viewed 28 times
 2
2 (36.89 KiB) Viewed 28 times
 3
3 (43.04 KiB) Viewed 28 times
Information Flag question ; int main(int x, int y, int z) ; x in %edi, y in %esi, z in %edx main: leal стрl jle leal ret (%rdi,%rsi), %eax %edx, %eax .L2 12(%rdi,%rsi), %eax .L2: leal cmp? jl movl xort ret 19(%rdi), %eax %edx, %eax .L4 %edi, %eax %esi, %eax .L4: movl ret %edx, %eax

Please complete the following C code based on the above assembly code. int main(int x, int y, int z) { int val = 12; if ( ) { val = valt i } else { if (x + 20 > 2) { ; } else { val = } } return i } X>Z val 11 val=x^y y> у x + y X+y>z Z z>y 10 val = xly val+y y+z> X+z>y val = x + y val + x X

Please complete the C code based on your understanding of the following assembly code. long rfun (unsigned long x) { if ( ). . return unsigned long nx = long rv = rfun(nx); return ; } X> 1 0 0 X>>4 X + rv X>>2 X>0 X rx nx 2