Quiz submission record for quiz2-1-2 at Mon Jun 28 23:43:40 2004: Your Answer for Question 1: The two parts of a C program that were discussed that do not directly translate to MIPS code are accessing data in arrays and storing data in arrays. They do not have corresponding commands in MIPS, but instead are accomplished through knowing memory addresses and the lw and sw commands. They are done this way because MIPS does not really recognize any variables, but instead views all of memory as a large contiguous block. Therefore, it does not know that the data it gets from memory comes from an array, but rather it just extracts a single word from a memory location. This is probably because large data structures like arrays and structures are too complicated for MIPS to work with in its 32 registers. Your Answer for Question 2: Let $s1 contain the address of k li $s2, 1 lw $t0, 0($s1) add $t0, $t0, $s2 sw $t0, 0($s1) Your Answer for Question 3: The reading was not very confusing; in fact, it was pretty much straightforward. However, I was confused about the first quiz question. I am not sure what was meant by "translated directly into MIPS code?" Did it mean that there is no corresponding command for it (like + -> add). I thought that all the commands had to be translated into MIPS in order to be further translated into machine code, or did it mean that some parts of C code could only be translated directly into machine code? Your unique submission ID is quiz2-1-2-cs61c-el-1088491420-1828.