Question: Write the LEGv8 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 X0,

Write the LEGv8 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 X0, the address of the shvar variable is in X1, and the value of variable x is in X2. Your critical section should not contain any function calls. Use LDXR/STXR instructions to implement the lock() operation, 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!