我刚刚接触ARM,手上的芯片是44b0,基本上一头雾水。特别是一些用汇编指令写的初始化部分,就是44binit.s,汇编指令里搞了很多的符号比如最简单的:
ldr r0,=0x……
中的“=”是表示什么?是立即数?那“#”又是什么呢?还有像
LDR r1, =|Image$$ZI$$Limit|
中的“|”是表示什么?有没有什么说明文档或者是什么书可以比较系统地这些用法说明一下。谢谢。
又有一个问题了,ADS Assembler Guide上的一个例子,4-79页上
start MOV r0,#10
ADR r4,start ;=> SUB r4,pc,0xc
问题是:这个0xc的偏移是如何得到的?不是只有一条指令吗,怎么差了12?
我要赚赏金打赏帖 |
|
|---|---|
| 【S32K3学习整理】使用 LPUART 的loopback 模式实现核间通讯被打赏¥28元 | |
| arduinounoq原生zephyr环境搭建被打赏¥31元 | |
| 树莓派3+Klipper,MPU6050共振补偿被打赏¥41元 | |
| GroveCreatorKit套件+摇杆测评被打赏¥18元 | |
| 设备功耗web监控界面(ESP32C5)被打赏¥28元 | |
| OrangePiZero2W系统被打赏¥33元 | |
| Linux环境下以模拟方式快速实现出入管理功能测试被打赏¥24元 | |
| 树莓派3+Klipper,老3D打印机满血升级被打赏¥33元 | |
| OK1126B-S开发板下串口屏及其应用被打赏¥21元 | |
| 低功耗超声波液位测距仪(ESP32S3)被打赏¥27元 | |