I'm working with mips. I am confused between machine code and mips code. if I use mips I can see the addresses of the branch is in number of words we need to jump from the instruction after the branch . what I don't understand is how it work "behind the sceen" ? and how the "shift left" by 2 is involved in this case? I need the word to be aligned by 4 byte(word) so actually the address that I see in mips languge is the number of word *4 =number of bytes we need to skeep?
another question: if the shift left was by 3? what can happend? it will give me the wrong address?