前辈们,这是我截取ARM体系结构与编程中的内容。我的问题是。 指令编码的24位,IA是后增的,那么它的基址寄存器是会放入数据的,为啥24位是0,现在Rn所指的内存单元用上了啊,那不应该是包含在指令使用的内存块中额,地址寄存器所指的内存单元包含在指令所使用的代码块中啊
I know [U] means what,but I don't understand [P] means what.In the book named"ARM体系结构与编程" in page 50,the book says that [P] means whether the memory unit that the base register <Rn> points is included in the memory units that this instruction uses. I show you a picture to make you understand what I want to say.
"地址增加方向" means the address increasing in this direction.“基址”means the memory unit's address R0 points
in this picture ,we can see , the memory unit that R0 points is also used to store the data of R1.
so the memory unit that R0 points is used,but [P] = 0,and this is a contradiction.Because [P] = 0 means the memory unit that R0 points are not used,and now in instruction "STMIA",the memory unit that R0 points is used.
So what I don't konw is the meaning of [P].
Thanks for your answering.