韦东山Linux嵌入式课程社区
直播中

刘先睿

7年用户 201经验值
私信 关注

请问编译器怎么识别地址和数值

/* 配置GPF4为输出引脚
* 把0x100写到地址0x56000050
*/
        ldr r1, =0x56000050
        ldr r0, =0x100        /* mov r0, #0x100 */
        str r0, [r1]
*/
问题的描述如上图,将数值0x10写进地址0x56000050中
想请教一下各位ARM编译器如何识别出0X56000050是一个地址而不是一个数据?

回帖(1)

赵勇

2019-4-2 09:37:23
编译器不会识别数据还是地址,0X56000050就只是个立即数,它被放在内存中。arm执行ldr r1, =0x56000050这条语句的时候会把0x56000050放到r1寄存器中,仅此而已
举报

更多回帖

发帖
×
20
完善资料,
赚取积分