Question: what is the difference between add and addi?
Answer: That's MIPS Assembly, one that I am not so experienced with, due to lack of hardware. But as far as I know, the ADD is adding a value, which can be an immediate, while the ADDI is explicitly adding an immediate. The difference should be, as you can see, that the immediate value in the first one is limited to 5 bits.