Answer from cs61c-ev (Roland Carlos 16583196) for Question 2 When using beq, the machine is required to use PC-relative addressing, which means that it uses the address of the next instruction to help point to where the function may jump to. However, only 16 bits are allocated for the constant to add to next instruction's address, so it's possible that the address of There could be 2^16 addresses away and thus, the machine instruction cannot point to There (it would exceed the space given for the constant in the beq instruction).