 In this video, we're going to be working with a couple of I type instructions. We've got an ADD immediate instruction and an OR immediate instruction. Unlike the majority of our R type instructions, we will have a meaningful value in our OP code. Our ADD immediate instruction has an OP code of 8, and the OR immediate instruction has an OP code of D. This time we have one source register and one destination register. So we'll put our source register in the RS field and our destination registers in the RT field. For the ADD immediate instruction, both the source and destination registers are the same, so I can just put $SP in both of them. The OR immediate instruction has the same format, but source register will be $SP and the destination register will be $T0. Now we have the immediate. For the ADD immediate instruction, I have negative 16 for my immediate. For the OR immediate instruction, I have 64. Converting the first three fields to binary will be pretty straightforward. I have six bits for my OP code. Register SP is register number 29. So I will have 16 plus 13. The stack pointer is still registered number 29. T0 is register number 8. Now I have the immediate fields. The immediate field is going to be a choose complement representation of the number that we're interested in. For negative 16, I get X of 0. So this would be the hexadecimal value for negative 16. 64 is that value. Now I'm going to go through and convert both of these into hexadecimal values. So that's what we get for both of those instructions when we convert them into machine language.