Question

4. Convert the below C code snippet to LEGV8 assembly code. Base address of x is stored in register X19. Assume variables a,
0 0
Add a comment Improve this question Transcribed image text
✔ Recommended Answer
Answer #1

ld r1, 8[X19] /* value of x[1] is stored in r1 register (as each integer takes 8 Bytes, X[1] = *(X+8)) */
sub r0, X20, r1 /* r0 := a - x[1] */
st r0, [X19] /* store r0 value into place whose address is X19 i.e., x[0] */
add X22, r0, X21 /* c := x[0] + b */
lsl r2, c, 4 /* r2 := c >> 4 */
st r2, 8[X19] /* store r2 value into place whose address is X19+8 i.e., x[1] */
mul r4, X20, 4 /* r4 := a * 4 */
ld r5, r4[X19] /* value from the address X19+r4 = x[r4/8] = x[a/2] is loaded into r5 */
sum r3, r5, X21 /* r3 := r5 + b */
st r3, 16[X19] /* store r3 value into place whose address is X19+16 i.e., x[2] */
sum r6, r1, r3 /* r6 := x[1] + x[2] */
mul r7, X22, 8 /* r7 := c * 8 */
st r6, r7[X19] /* r5 is stored into place whose address is X19+r7 = x[r7/8] = x[c] */

COMMENT DOWN FOR ANY QUERIES AND,

LEAVE A THUMBS UP IF THIS ANSWER HELPS YOU.

Add a comment
Know the answer?
Add Answer to:
4. Convert the below C code snippet to LEGV8 assembly code. Base address of x is...
Your Answer:

Post as a guest

Your Name:

What's your source?

Earn Coins

Coins can be redeemed for fabulous gifts.

Similar Homework Help Questions
ADVERTISEMENT
Free Homework Help App
Download From Google Play
Scan Your Homework
to Get Instant Free Answers
Need Online Homework Help?
Ask a Question
Get Answers For Free
Most questions answered within 3 hours.
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT