汇编语句中,GPIO的地址是如何计算的

2019-10-14 23:13发布

改动跑马灯程序,将LED0=0程序用汇编写,然后主程序调用!样例程序在单步执行时LED0=0这条语句的反汇编如图,可知GPIOB的输出寄存器地址是0x42210189(驱动二极管的那个管脚),最终赋了个0值进去!然后我将这段汇编语句重新封装,再在主程序中调用,单步执行到所写汇编语句处,发现并没有找到0x42210189这个地址,最终是跳转到void BusFault_Handler(void)出不来了!所以哪位大神知道这个地址偏移是如何计算的???

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
4条回答
kevinl917
2019-10-15 06:12
本帖最后由 kevinl917 于 2017-2-24 13:14 编辑

[mw_shl_code=applescript,true]       AREA  LED,CODE,READONLY
       PRESERVE8
       THUMB
                          
LEDB    PROC
        EXPORT   LEDB             [WEAK]        
                PUSH    { LR}
                MOVS     r0,#0x00
                LDR      r1,[pc,#1232]
        STR      r0,[r1,#0x194]  
        BX       LR               
                ENDP
                END
[/mw_shl_code]

一周热门 更多>