EDA365电子论坛网
标题:
"LDR R0, =PINSEL0" 中"="是什么意思?
[打印本页]
作者:
Dollche
时间:
2022-11-18 10:28
标题:
"LDR R0, =PINSEL0" 中"="是什么意思?
"LDR R0, =PINSEL0" 中"="是什么意思?
3 b9 ^; ^/ p' v3 T! U) }& n7 f
这语句是取地址还是取地址中的内容呢?
0 `6 L0 I' h+ T$ q' ]# i) b$ |
- z; b8 d. m* c" L
作者:
Terran
时间:
2022-11-18 11:17
这是 LDR 伪指令,可用来加载 32 位立即数或地址,LDR R0,=PINSEL0 是将 PINSEL0 的地址加载到 R0 中。
作者:
VIC56
时间:
2022-11-18 13:32
ldr r0, =0xFFF0 @伪指令
7 I& k( ^! l$ a5 ^) ^" Z3 U
ldr r0, 0xFFFF @指令
O- }8 [- {4 U( J$ M+ F: b- W
直观的区别就是ldr伪指令使用时,后面的数据前会有"=",实际使用时,大部分都使用伪指令,这样就不用考虑合法和非法立即数的问题。
作者:
niubility
时间:
2022-11-18 14:05
编译器会将ldr伪指令进行替换,用文字池的方式来解决非法立即数的问题。文字池就是划分出一段地址空间用来存放常量或者地址,需要时用基址+变址的方式去取数据,这样就不用受到合法立即数的限制,可以表示32bit的数据。
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2