您好!
在我的 TM4C1294XL 程序中有一条指令
0xF8420021:str.w r0、[R2、R1、LSL #2]
使用
R0 = 0x00000001
R1 = 0x00000000
R2 = 0x20012AD1
该指令是从 C 行汇编的
grandedeQoos[(*count)+]]= readChar (&curdata);
并且可能构成数组元素的存储过程。 但是、执行该指令会立即导致硬故障故障故障。故障类型是未对齐的存储器访问、我可以看到这是因为 UFSR = 0x0100。
现在、我的问题是该指令到底是什么作用? 它是否计算 R2+R1并将结果左移2位? 那么、在我看来、不会发生未对齐的存储器访问。
此致