Answer from cs61c-ep (Hao Wen Vivian Chong 15826235) for Question 2 If There is very far away from Here, the distance to branch may be too far to be represented in the 16 bits of the conditional branch instruction. Because of this, the assembler will replace the branch with an unconditional jump to There, and turns the beq into a bne to let the branch decide whether or not to skip the unconditional jump. Here: bne $t0, $1, L1 j There L1: