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

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!