STM32的C与汇编语言混合编程

本文详细介绍了如何在C语言中调用汇编函数以及在汇编中调用C语言函数的步骤。首先,通过新建项目并配置环境,创建C和汇编源文件,实现了C语言调用汇编函数进行简单计数操作。接着,修改代码使C语言传入参数给汇编函数,并返回结果。最后,展示了在汇编函数中如何调用C语言的加法函数,经过仿真调试,验证了跨语言调用的正确性。
摘要由CSDN通过智能技术生成

目录

        一.完成C语言调用汇编函数

         二.修改代码

三、汇编函数中调用C语言


一.完成C语言调用汇编函数

1.新建一个项目

å¨è¿éæå¥å¾çæè¿°

2.

å¨è¿éæå¥å¾çæè¿°

3.配置环境

å¨è¿éæå¥å¾çæè¿°

 4.选择运行环境

å¨è¿éæå¥å¾çæè¿°

5.添加源文件,创建汇编文件

å¨è¿éæå¥å¾çæè¿°

6.编写代码

main.c

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

func.s

	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

7.仿真调试

请添å å¾çæè¿°

 调试成功

二.修改代码

main.c

#include<stdio.h>

extern int Init_1(int x);

int main(){
	
	Init_1(10);
	
	return 0;
}

func.s


    AREA My_Function,CODE,READONLY
	EXPORT Init_1
    ENTRY
		
Init_1
    ADD R0,R0,#100
	
	BX LR
	
	END

调试

请添å å¾çæè¿°

三、汇编函数中调用C语言

修改代码
main.c
#include<stdio.h>
extern int sum(int a,int b);
int sum(int a,int b){
  int c;
    a=15;
    b=14;
    c=a+b;
    return c;
}

func.s

AREA MYDATA, DATA
    IMPORT sum
 AREA MYCODE, CODE
    ENTRY
    EXPORT __main

__main

    BL sum
    
    BX LR
    
    END

仿真调试:结果与预算一致,c函数被成功调用

请添å å¾çæè¿°

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值