Answer from cs61c-af (Annie Tran 16811592) for Question 1 I think this question is a little vague. I don't understand exactly what you are asking me but my answer to this question is: 1. varibles are not directly translated into assembly language they have to be stored and load through MIPS functions. 2. When retriving or storing a value in an array, the index has to be multiplied by 4 and added to the base address. 3. when trying to add/subtract more than 3 operands assembly language has to translate the one line c code to multiples instructions in MIPS. Their purpose is to allow the programmer to write shorter and clearier codes.