【ARM】MDK Debug模式下Disassembly窗口介绍

【更多软件使用问题请点击************************************************************************************************************************************************************************************************************************************************************亿道电子官方网站】****************************************************************************************************************************************************************************************************************************************************************

1、 文档目标

主要了解Disassembly窗口中包含的内容,和如何利用Disassembly中的内容了解程序的存储和调用情况。

2、 问题场景

对于Disassembly窗口中具体包含的内容不了解,无法合理地应用Disassembly窗口中的一些汇编信息去优化代码。

3、软硬件环境

1、软件版本:MDK 5.38a

2、电脑环境:Windows 11

3、外设硬件:无

4、解决方法

1、在Disassembly窗口中,包含着程序语句以及对应语句的所需要执行的汇编指令。如图4-1中可以看到test_num++这个语句对应汇编语句。

图4-1

2、那么在对应的汇编指令行中,包含了三个内容(如图4-2):

1)、第1处:指令运行的内存地址。C语句下面的第一个汇编指令的内存地址就是该语句执行的起始地址。

2)、第2处:表示的是对应汇编语句的机器码

3)、第3处:对应C语句所对应的汇编语句

图4-2

3、从Disassembly窗口中可以看到程序的运行顺序是怎么样的。如图4-3中,当程序运行到"SystemCoreClockUpdate();"这个语句的时候,在Disassembly窗口中就可以看到,继续执行程序后,会执行该函数中的"if (SCB->CCR & SCB_CCR_DC_Msk) return; "语句。

这样就可以通过Disassembly窗口去查看程序运行的逻辑是什么样的,执行顺序是怎么样的。

图4-3

4、在Disassembly窗口中,我们也可以通过查看不同语句对应的汇编语句来判断同样类型的语句,为什么有些语句执行速度会更好。

在图4-4中,test_num是一个局部变量,num_test是全局变量。同样都是对于变量进行加1。但是,所执行的汇编指令是不一样的,那么对应的C语句的执行周期也会有不同,执行的时间就会不一样。

图4-4


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

关于亿道电子

亿道电子技术有限公司(www.emdoor.cn)是国内资深的研发工具软件提供商,公司成立于2002年,面向中国广大的制造业客户提供研发、设计、管理过程中使用的各种软件开发工具,致力于帮助客户提高研发管理效率、缩短产品设计周期,提升产品可靠性。

相关推荐
FreakStudio12 天前
W55MH32L-EVB 上手测评:硬件 TCP/IP 加持的以太网单片机,MicroPython 零门槛开发
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机
✎ ﹏梦醒͜ღ҉繁华落℘17 天前
单片机基础知识---stm32单片机的优先级
stm32·单片机·mongodb
zd84510150017 天前
RS485 总线详解
单片机·嵌入式硬件
牛根生同志17 天前
SPI数据收发的时候 TXE与RXNE标志位置位的时机
stm32·spi·transfer
goldenrolan17 天前
学习型红外控制系统稳定性挂测工装专项总结
软件测试·python·stm32·嵌入式·红外
✎ ﹏梦醒͜ღ҉繁华落℘17 天前
编程基础 --高内聚,低耦合
c语言·单片机
科芯创展17 天前
1A,1MHz,30VIN,XZ4115,降压恒流LED驱动芯片
单片机·嵌入式硬件
AndyHeee17 天前
【SVC、PendSV(系统异常) 与 外设 IRQ 、NVIC笔记】
arm开发
集芯微电科技有限公司17 天前
四通道2A输出集成功率电感降压模块专为紧凑型方案设计
人工智能·单片机·嵌入式硬件·生成对抗网络·计算机外设
踏着七彩祥云的小丑17 天前
嵌入式测试学习第 37 天:异常场景测试:断电、拔插、干扰、非法指令
单片机·嵌入式硬件·学习