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
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
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
