Whats the difference between MAR being used as a register and MAR being used as an indirect address?
A good example of the difference might be the opcode 00001110. This instruction loads MAR with the address from memory currently pointed to by MAR. In other words, MAR = memory[MAR]. Officially, this code is not correct in that it is an 8-bit operation and MAR is a sixteen bit register. See the next question to address that issue.