Question: Write the LEGv8 assembly for the following code snippet. One trick is to figure out how to get the large constant in a register when

 Write the LEGv8 assembly for the following code snippet. One trick

Write the LEGv8 assembly for the following code snippet. One trick is to figure out how to get the large constant in a register when the ADDI instruction only allows 12-bit constants. Assume a is stored in register X9. a=~a + 1; Label Instruction Description Set the value of X10 to the constant OxA Shift the value in X10 appropriately to get the constant from the code snippet, saving back in X10 Compute the difference between 'a' and the constant in X10, storing the result in X10 If the difference computed by the previous instruction is zero, branch to the label EXIT Get the constant -1 into the X10 register using SUBI Flip all the bits of 'a' putting the result into X9 Increment 'a' by 1 EXIT

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!