Load-store architectures are common for RISC architectures. In CISC architectures, where there are few registers, it's common for instructions (like add) to access registers and memory.
This is a convenience in notation. Assembly language programmers can NOT use indexing for registers. Thus, you can NOT use $ri, where i is a variable.