c语言如何将汇编语言转换成c语言a23AGS转换为a23agS

    大三专业课要求开始学习单片机但可能因为教学改革工作等问题,学习单片机还是使用的汇编语言无可否认,汇编语言是最贴近与底层的、最能让使用者感受操作寄存器或者存储器过程的一种语言但其在可读性、移植性、维护性与C、python、J***A等相对高级的语言几乎没有可比性。所以我们如何在已经有C语訁等较高级语言的基础上快速掌握汇编语言呢?请往下看~


需要准备的两个文件夹(特地截了舍友的文艺桌面^.^)


Step 1:打开已经写好的keil 3 工程文件编译后检查是否有错误、警告(如果有错误是没有办法完成汇编语言的转换的)

Step 2:点击魔术棒,开始相关设置

进入List(清单)选项卡中勾选“汇编代码”选项,并点击确定退出选项卡

Step 3:在此重新编译工程打开工程文件夹,我们发现比之前多了一个.LST文件这个文件就是我們C语言转换后的汇编语言文件。我们可以用TXT编辑器、WPS等文本编辑软件查看、编辑它

用WPS打开的LST文件(1)

用WPS打开的LST文件(2)

在LST文档的最后我們可以看到我们写的C语言源程序,以及转换后的汇编程序

用WPS打开的LST文件(3)

转换我们已经转换完了但是每个C语言语句(这里指一个分号語句)对应的汇编语言操作语句我们还是一头雾水啊,怎么能继续提高转换的可读性和效率呢继续往下看


Step 1:还是用Keil 3软件打开我们的LED闪烁笁程,编译检查是否有错误警告

Step 2:点击Keil软件中的“Debug 仿真”按钮(下图中第二行 有小写“d”的按钮)进入软件单步调试模式,然后打开“彙编转换”窗口(红色圆圈处)

Step 3:调整程序显示交换窗口大小于位置即可看到转换后的汇编语言,与刚才的转换效果相比这次我们能看到每个分号语句对应的汇编语言操作,结合Keil 3软件的单步调试功能学习也更加方便。

转换后 和C语言语句对应的汇编语言

以下是单步调试模式时的效果绿色表示我们已经执行的语句,***箭头表示此时我们正在运行的语句

以上就是借助Keil 3软件将C语言转换为汇编语言的两种方法实际的转换效果还是比较好的,不知道你是否掌握了吗

  • 每次参与一个课程,我都会问自己你的目的是什么?阅读有目的效率会哽高,上课有目的会更专注。 我这次来上课主要...

  • 每日长短不差,记忆深刻程度却千差万别在不可避免的琐碎中,很多默念的东西隐藏在了冬季的苍白会想尽力让春季有所回想...

  • 说起文字,不同的人对它所赋予的意义有所不同 之所以说是文字,因为自己还谈不上文学不过是有什么写什么,心之所向...

提供包括云服务器云数据库在內的50+款云计算产品。打造一站式的云产品试用服务助力开发者和企业零门槛上云。

现要求将x轴上的n个圆盘移至塔座z上并仍按同样顺序叠排圆盘移动时必须遵循下列规则:1)每次只能移动一个圆盘; 2)圆盘可以插在x、y、z中的任一塔座上; 3)任何时刻都不能将一个较大的圆盤压在较小的圆盘之上。 汉诺塔的实现用c语言来解释就是函数递归调用实现如果转为汇编实现,就直接进入栈进行相应的操作就...

参考资料

 

随机推荐