尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

跳转汇编指令解读

跳转汇编指令解读
📅 发布时间:2026/7/15 2:00:04

__asm volatile (
"cpsid i\n" // ① 关闭全局中断(PRIMASK=1)
"ldr r0, =0xE000ED08\n" // ② R0 = VTOR 寄存器的地址(0xE000ED08)
"str %1, [r0]\n" // ③ 将 appBinStartAddr 写入 VTOR(重映射向量表)
"ldr r0, [%1]\n" // ④ 从 appBinStartAddr 处读取第一个字(即初始 MSP 值)
"msr msp, r0\n" // ⑤ 设置主堆栈指针(MSP)为上述值
"dsb\n" // ⑥ 数据同步屏障(确保之前的写操作完成)
"isb\n" // ⑦ 指令同步屏障(刷新流水线,确保新 VTOR 生效)
"bx %0\n" // ⑧ 跳转到 appStartAddr(复位处理函数地址)
:
: "r"(appStartAddr), "r"(appBinStartAddr) // 输入操作数
: "r0", "memory" // 被修改的寄存器和内存
);

appBinStartAddr:编译好的hex文件的起始地址

appStartAddr:appBinStartAddr地址+4,一般是reset_handler函数存放的地址

cpsid i, 关闭全局中断

"ldr r0, =0xE000ED08\n" ,将SCB->VTOR寄存器的地址赋值给R0

"str %1, [r0]\n", 将appBinStartAddr的地址赋值给SCB->VTOR 重新映射中断向量表。

"ldr r0, [%1]\n": 读取栈顶的指针

"msr msp, r0\n":将栈顶指针的数据赋值给msp。

dsb isb:data synchronization barraier,instruction synchronization barraier,一个是用于所有的内存访问完成,阻塞式的。一个是用于取指令的动作访问完成,阻塞式的

"bx %0\n":bx appStartAddr,直接调准到reset_handler地址

相关新闻

  • 2026年台州专业打合伙纠纷的律师有哪些 - 品牌排行榜
  • 大学物理C:从真题拆解到核心概念贯通【个人学习笔记】【欢迎探讨指正】
  • 2026年金相仪器品牌推荐榜:金相切割机/镶嵌机/研磨抛光机/显微镜源头厂家实力解析与选购指南 - 甄选服务推荐

最新新闻

  • 恒定跨导轨到轨运放设计:从1:3电流镜到Class AB输出的完整实现
  • 电影反重力特效技术解析:从物理原理到视觉奇观实现
  • Android窗口层级(Window Type)实战:从悬浮窗到车载系统的自定义与适配
  • 告别滚动拼接:Chrome全屏截图插件让你的网页保存更高效
  • Python 2.7升级pip报错:SyntaxError: invalid syntax 的根源剖析与版本兼容性终极指南
  • 技术乌托邦的反思:从《穿石棉衣服的人》看AI与自动化时代的“幸福悖论”

日新闻

  • 告别启动盘残留:用Diskpart彻底清除U盘EFI分区与恢复完整空间
  • 2026 年宜春诚信的塑料缠绕膜厂家哪个好,缠绕膜背后的秘密:你不知道的成本陷阱 - 领域鉴赏官
  • Arch ECS 入门指南:10分钟掌握C#高性能数据驱动架构

周新闻

  • IX9104 PCIe5.0 高速交换芯片@ACP#完整规格 + 应用场景总结
  • Unity游戏集成Coze智能体:实现NPC智能对话与知识库联动
  • SAP EPIC 建行回单查询:从标准类CL_EPIC_EXAMPLE_CN_CCB_GHTD到Z类的5处关键修改

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号