Assuming that i and j are in X3, X4 respectively, and assuming that the base address of the long arrays A and B (each element is 8 bytes) are in registers X6 and X7, respectively, write the LEGv8 assembly instructions for the following C statement:
B[8] = A[i - j];
Compiled LEGv8 Code :
index 8 require offset of 64 (8*8)
LDUR X9,[X7,#64] //(LOAD REGISTER,U FOR UNSCALED IMMEDIATE) temporary register X9 contains B[8]
SUB X9 ,X3, X4 //temporary register X9 contains [i-j]
STUR X6, X9 //(STORE REGISTER ), register X6 gets [i-j]
STUR X9, X6 //store A[i-j] back into B[8]
Assuming that i and j are in X3, X4 respectively, and assuming that the base address...
Convert the following C statement to the corresponding ARMv7 assembly code: Assume that the variables f, g, h, i, and j are assigned to registers X0,X1,X2,X3, and X4, respectively. Assume that the base address of the arrays A and B are in registers X6 and X7, respectively. B[8] = A[i−j]; Convert the following LEGv8 assembly instructions to ARMv7 as well as find the corresponding C statement. Assume that the variables f, g, h, i, and j are assigned to registers...
Translate the following C code to LEGv8. Assume that the variables f, g, h, i, and j are assigned to registers X0, X1, X2, X3, and X4, respectively. Assume that the base address of the arrays A and B are in registers X6 and X7, respectively. Assume that the elements of the arrays A and B are 8-byte words: B[8] = A[i] + A[j];
2.7 5<S$2.2, 2.3> Translate the following C code to RISC-V. Assume that the variables f, g, h, i, and j are assigned to registers x5, x6. x7. x28, and x29, y. Assume that the base address of the arrays A and B are in registers x10 and x11, respectively. Assume that the elements of the arrays A and B are 8-byte words:
2.7 5 Translate the following C code to RISC-V. Assume that the variables f, g, h, i, and...
solve asap and will rate
8. Assume that the variables£ Assume that the base address of arrays A, B are in registers Ss6, Ss7 , g, i are assigned to registers $s0, 5s1, 5s2 respectively. Write down MIPS instructions that implement the following C statement: (a) f = g-A(B [811;
8. Assume that the variables£ Assume that the base address of arrays A, B are in registers Ss6, Ss7 , g, i are assigned to registers $s0, 5s1, 5s2 respectively....
3. Assume that the variables £, g, i are assigned to registers $so, $s1, 5s2 respectively. Assume that the base address of arrays A, B, C are in registers Ss6, Ss7, Ss8 Write down MIPS instructions that implement the following C statement: (a) f = g- A(B [C[B+1]]];
3. Assume that the variables £, g, i are assigned to registers $so, $s1, 5s2 respectively. Assume that the base address of arrays A, B, C are in registers Ss6, Ss7, Ss8...
2.4 For the RISC-V assembly instructions below, what is the corresponding C statement? Assume that the variables f, g, h, i, and j are assigned to registers x5, x6, x7, x28, and x29, respectively. Assume that the base address of the arrays A and B are in registers x10 and x11, respectively. silix30, x5, 3 // x30=f*8 add x30, x10, x30 // x30=&A [f] s111 x31, x6 , 3 // x31 = g.8 add x31, x11, x31 // x31=&B [g]...
1 slli x30, x5, 3 add x30, x10, x30 slli x31, x6, 3 add x31, x11, x31 ld x5, 0(x30) addi x12, x30, 8 ld x30, 0(x12) add x30, x30, x5 sd x30, 0(x31) // x30 = f*8 // x30 = &A[f] // x31 = g*8 // x31 = &B[g] // f = A[f] For the RISC-V assembly instructions below, what is the corresponding C statement? Assume that the variables f, g, h, i, and j are assigned to registers...
Problem 2.4: For the RISC-V assembly instructions below, what is the corresponding C statement? Assume that the variables f, g, h, i, and j are assigned to registers x5, x6, x7, x28, and x29, respectively. Assume that the base address of the arrays A and B are in registers x10 and x11, respectively. х30, х5, 3 add x30, x10, х30 // x30 %3D &A[F] slli x31, х6, 3 add x31, x11, х31 // х31 %3D &B[g] x5, 0(х30) // x30...
4. Convert the below C code snippet to LEGV8 assembly code. Base address of x is stored in register X19. Assume variables a, b, andc are stored in registers X20, X21, and X22 respectively. Assume all values are 64-bits. Do not use divide and multiply instructions in your code. Comment your assembly code. (30 Points) x[e] a x[1]; q [e]x x[a/2]b; x[2]; + x[1] x[2] x[c] C >> 4: x[1] +
4. Convert the below C code snippet to LEGV8...
The relative time ratings of exercises are shown in square brackets after each exercise number. On average, an exercise rated [10] will take you twice as long as one rated [5]. Sections of the text that should be read before attempting an exercise will be given in angled brackets; for example, <1.3> means you should have read Section 1.3, Under the Covers, to help you solve this exercise. 2.1 [5] For the following C statement, what is the corresponding MIPS...