E2Studio执行调试armv7汇编指令

本文介绍了如何在E2Studio环境下对ARMv7汇编指令进行调试。首先,在hal_entry.c文件的函数内添加自定义汇编代码,然后设置断点,接着在调试过程中修改CPSR寄存器值以进入调试模式。在执行后,观察R0、R2和R4寄存器的值,验证减法运算的结果。
摘要由CSDN通过智能技术生成

E2Studio执行汇编指令

1.打开hal_entry.c,定位到函数void hal_entry(void)在函数体中添加自己的汇编指令

void hal_entry(void)

{

    /* TODO: add your own code here */

    //int a = 2+2;

    //printf("start add\n");

    __asm (

            "    MOV   R0, 0x0a                                   \n" /* R0存放变量a低32bit数据 */

            "    MOV   R2, 0x02                                   \n" /* R2存放变量b低32bit数据 */

            "    SUBS  R4, R0, R2                                 \n" /* R0 = R0 + R2, 发生进位C = 1, 计算结果低32存放到R0 */

    );

    printf("end add\n");

}

2.在printf这一行设置断点

 

3.开始调试代码

4.开始调试时,程序会自动停在系统初始化函数的第一行代码,此时,需要通过修改cpsr寄存器的值,让系统进入debug模式。

把cpsr的值从0x200001fa修改位0x200001da。

5.点击继续执行(按F8),程序会执行到之前打断点的位置

6.查看寄存器中R0/R2/R4的值,是否符合预期。

可以看到,经过减法计算之后,寄存器R4的值变为8。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值