 This time, we're going to be controlling a Branch Equals instruction. Our Branch Equals instruction wants to compare the data that's in two registers, and if they're equal, we're going to go to the address determined by the offset contained in our immediate field. This time, I want to compare two registers, so I'm going to do a subtraction operation using my ALU, and I want to get data from two registers, so I will set my ALU source multiplexer to zero so that I get the data from the second register. We're not going to store anything back to the registers. We'll set the reg write signal to zero. Again, I'm not writing anything back to the registers, so it doesn't actually matter whether I send something from my data memory or something from my ALU back to the registers because it's just not going to be written anyway. Similarly, it doesn't really matter whether the registers try to look at the register specified by the RT field or the RD field for this. We're just not going to be writing anything back to those registers. Here, I'm not doing a memory read instruction, so I don't need to set that bit. I'm also not writing anything to memory, so that bit can also be zero. But I do potentially want to do a branch, so I'm going to go ahead and set that signal to one. Now, I will have my branch signal certain, and if the results of my subtraction operation are zero, then both of these lines will be one, and it will send the branch target address back towards the PC. But it still has to go through the jump multiplexer, and since we don't want to do a jump instruction, we will just set that control line to zero.