Question: In C For a function with prototype long decode4(long x, long y, long z); gcc generates the following assembly code: decode4: addq %rsi, %rdx movq
In C
For a function with prototype
long decode4(long x, long y, long z);
gcc generates the following assembly code:
decode4: addq %rsi, %rdx movq %rdx, %rax salq $8, %rax imulq %rdi, %rax orq %rdx, %rax ret
Parameters x, y, and z are passed in registers %rdi, %rsi, and %rdx. The code stores the return value in register %rax. Reverse-engineer decode4: write C code for decode4 that will have an effect equivalent to the assembly code shown.
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
