Computer Architecture1) c = (a + b) /a d = b*(a + b) / a * c e = a* (c + d)Write the assembly to do the following statements for each of the following architectures. Use the least number of instructions. Reuse register when you can. (0,2) GPR(0,3) GPR(1,2) GPR(3,3) GPR2) We have data stored in memory location 0x3aa, 0x3bb and 0x3cc. How do we perform the following operation multiply 0x3aa by 0x3bb and store into 0x3cca) (3,3) GPU only using register indirectb) (3,3) GPU only using memory indirect (will need to have additional memory locations)3) Write out how to solve the following code using any addressing mode for (0,3) GPR. Short a[50];Int y,z;for( x=0; x<20; x++){y = a[x + 3];z = y + a[x%10];}4) How would you write good for A[x][y+5]? Use indirect addressing with index register.5) Using only the register direct addressing modes write how to do the following CISC instructionADD @(r1,r2),+(r4),80(r5)