I noticed that in ARM assembly, there are 3 types (that I known of, there are maybe even more) of load/store commands. So far I've seen:
STR R0, [R1, #4]
STR R0, [R1], #4
LDR R0, R1, #4
These are just examples of the commands I've seen. Notice how the last command is load and not store, that is because I haven't seen STR R0, R1, #4 yet, so I don't know if writing that would compile.
I know that #4 means increment R1 by 4 (probably), but what are the differences with the [] in the above commands?