美文网首页
有关C语言与汇编语言转换的方法(以Keil 3为例)

有关C语言与汇编语言转换的方法(以Keil 3为例)

作者: _AaronHuang_ | 来源:发表于2018-10-09 15:19 被阅读0次

    导语

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


    我们需要准备什么

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

        (1) KEIL UVISION3软件(这里笔者以刚安装在舍友电脑的KEIL 3软件为例,但凡Keil系列的IDE都有下面提到的功能)

        (2) 一个已经写好的LED闪烁Keil工程(C语言编写)

    LED闪烁工程文件

    让我们开始吧!

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

    编译后0 error,0 warning

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

    点击“魔术棒”按钮

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

    勾选“汇编代码”

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

    新产生的LST文件 用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语言转换为汇编语言的两种方法,实际的转换效果还是比较好的,不知道你是否掌握了吗?

    相关文章

      网友评论

          本文标题:有关C语言与汇编语言转换的方法(以Keil 3为例)

          本文链接:https://www.haomeiwen.com/subject/izgeaftx.html