Question: User Assembly code: # void switcher ( long a , long b , long c , long * dest ) # a in % rsi,
User
Assembly code:
# void switcherlong a long b long c long dest
# a in rsi, b in rdi, c in rdx d in rcx
switcher:
cmpq $rdi
ja L
jmp Lrdi,
L:
divq rdi, rsi
movq rsi, rdx
L:
leaq rdxrdx
jmp L
L:
leaq rdxrsirdx
salq $rdx
jmp L
L:
movq rsi, rdx
L:
movq rdxrcx
ret
Jump table:
L:
quad L
quad L
quad L
quad L
quad L
quad L
quad L
quad L
quad L
Please complete the following C code based on the above assembly code.
void switcherlong a long b long c long dest
switch Blank Question
case Blank Question :
c a;
dest Blank Question ;
break;
case :
case :
case Blank Question :
Blank Question ;
break;
case : Jumps to L
case Blank Question :
dest Blank Question ;
break;
case :
c Blank Question ;
Fall through
case :
case Blank Question :
dest Blank Question ; movq rdxrcx
break;
default:
dest Blank Question ;
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
