Question: Write the MIPS assembly code to implement the following C code: lock(lk); shvar=max(shvar,x); unlock(lk); Assume that the address of the lk variable is in $a0,
Write the MIPS assembly code to implement the following C code:
lock(lk);
shvar=max(shvar,x);
unlock(lk);
Assume that the address of the lk variable is in $a0, the address of the shvar variable is in $a1, and the value of variable x is in $a2. Your critical section should not contain any function calls. Use ll/sc instructions to implement the lock( ) operation, and the unlock() operation is simply an ordinary store instruction.
Step by Step Solution
3.39 Rating (152 Votes )
There are 3 Steps involved in it
trylk li 11 bnez t0tryl... View full answer
Get step-by-step solutions from verified subject matter experts
