Answer from cs61c-ck (Allen Lee 16583554) for Question 1 C statements that have arithmetic, for example addition or subtraction, with more than two operands cannot be directly translated to MIPS code because add and sub take only three operands. If there are more than two operands, we need multiple MIPS instructions. The reason for this is to keep the _hardware_ simple. MIPS instructions are closer to the hardware than C statements. It would be very difficult to hardwire hardware to accept a variable number of operands with simple arithmetic. C program array accesses are also broken down before translating to assembly language. This is because C arrays can be arbitrarily large whereas MIPS has access to a limited number of temporary registers. MIPS may need to store some data in memory when it comes to accessing a big array.