服务器之家

服务器之家 > 正文

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

时间:2022-01-21 14:48     来源/作者:PJCnp

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中的调试型号要与最初选择的芯片一致

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

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

 

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。

结果

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

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

 

3.总结

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

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注服务器之家的更多内容!

原文链接:https://blog.csdn.net/PJCnp/article/details/120723841

相关文章

热门资讯

蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整
蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整 2021-08-24
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
2021年耽改剧名单 2021要播出的59部耽改剧列表
2021年耽改剧名单 2021要播出的59部耽改剧列表 2021-03-05
返回顶部