使用 LDM
和 STM
指令可以将少于 8 个字的小型结构作为整体进行访问。 可以使用适当类型的加载和存储指令来访问结构的单个成员。 为了访问成员,必须知道该成员从结构起始地址算起的偏移量。
将整型全局变量 globvar
的地址加载到 R1
,将该地址中包含的值加载到 R0
,将它与 2 相加,然后将新值存回 globvar
中。
访问全局变量
- PRESERVE8
- AREA globals,CODE,READONLY
- EXPORT asmsubroutine
- IMPORT globvar
- asmsubroutine
- LDR R1, =globvar ; read address of globvar into R1
- LDR R0, [R1] ; load value of globvar
- ADD R0, R0, #2
- STR R0, [R1] ; store new value into globvar
- BX lr
- END