没有合适的资源?快使用搜索试试~ 我知道了~
首页BL长跳转指令在电能表程序中的应用与分析
BL长跳转指令在电能表程序中的应用与分析
需积分: 9 1 下载量 117 浏览量
更新于2024-08-05
收藏 396KB DOCX 举报
"BL长跳转指令在电能表程序中的应用与分析" 本文档主要讨论了BL长跳转指令在电能表程序中的具体运用,特别是在执行InF_ADC_Action_Message()函数时的控制流程。在正常情况下,程序从执行PF_CopyDataBytes()函数开始,通过BL指令跳转到该函数的地址0x2b5f0。这个过程涉及到32位指令的处理,尽管Thumb指令通常为16位,但长跳转由两条16位跳转指令组成,通过高五位掩码来确定目标地址。 在程序的异常表中,跳转地址被调整为0x2b5c5,对应于PF_HextoBCDBytes函数。作者详细解释了如何通过机器码(如0xf7d3和0xffab)计算跳转地址,这涉及到将11位地址偏移值(off0和off1)组合并进行适当的调整。例如,正常表的偏移中间量offmid1是0x3e9fab,通过计算变为实际跳转地址0x2b5f0。 对于异常表,计算过程略有不同,offmid1变为0x2c0aa,最终实际跳转地址变为0x2b5c5。文档还提到了程序的调试过程,包括程序汇编调试窗口的观察和烧录bin文件的测试,这些步骤有助于理解和验证BL长跳转指令的正确执行。 总结来说,本资源深入剖析了BL长跳转指令在电能表程序设计中的使用,强调了地址计算和异常处理的重要性,对于理解汇编编程和电能表程序控制逻辑具有很高的参考价值。
资源详情
资源推荐
BL 长跳转指令
1、结论
正常表:执行 InF_ADC_Action_Message()函数时,第一行代码执行 PF_CopyDataBytes()函
数,跳转到 PF_CopyDataBytes()函数地址:0x2b5f0。
异常表:跳转到地址:0x2b5c5,为 PF_HextoBCDBytes 函数。
地址的计算见下:
下载后可阅读完整内容,剩余5页未读,立即下载
GOMeter
- 粉丝: 7
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++多态实现机制详解:虚函数与早期绑定
- Java多线程与异常处理详解
- 校园导游系统:无向图实现最短路径探索
- SQL2005彻底删除指南:避免重装失败
- GTD时间管理法:提升效率与组织生活的关键
- Python进制转换全攻略:从10进制到16进制
- 商丘物流业区位优势探究:发展战略与机遇
- C语言实训:简单计算器程序设计
- Oracle SQL命令大全:用户管理、权限操作与查询
- Struts2配置详解与示例
- C#编程规范与最佳实践
- C语言面试常见问题解析
- 超声波测距技术详解:电路与程序设计
- 反激开关电源设计:UC3844与TL431优化稳压
- Cisco路由器配置全攻略
- SQLServer 2005 CTE递归教程:创建员工层级结构
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功