文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

C语言中调用汇编语言详解

2024-04-02 19:55

关注

1.建立新工程

首先点击Project里面的 New uVision Project

然后输入文件名,点击保存即可。

在你命名的project中创造一个汇编程序与c程序

c程序


#include<stdio.h>
extern void Init_1(void);
int main()
{
    Init_1();
    return 0;
}

汇编程序


     AREA    My_Function,CODE,READONLY
    EXPORT Init_1
Init_1
    MOV R1,#0
    MOV R2,#0
LOOP
    CMP R1,#10
    BHS LOOP_END
    ADD R2,#1
    ADD R1,#1
    B LOOP
LOOP_END
    NOP
    END

然后进行设置,点击Debug,勾选Use Simulator,将dialog dll下改为DARMSTM.dll ,将parameter下改为-pSTM32F103ve

注意:parameter中的调试型号要与最初选择的芯片一致

2.改写程序

c语言


#include<stdio.h>
extern int Init_1();
int Init_1()
{
    int x=5;
    return x+100;
}

汇编语言


 IMPORT Init_1
    AREA MYCODE, CODE
    EXPORT __main
__main
    BL Init_1
    END
 

解释:这里的IMPORT Init_1 表示汇编程序里面进口或引入C里面的函数Init_1。

结果

3.总结

通过这次实验,我熟悉了keil5下汇编语言和C语言的混用,既能在C语言里面调用汇编程序,也能在汇编程序里面调用C函数,也更加清楚地了解了寄存器的原理。

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯