arm程序实例 c语言,ARM汇编指令如何与C语言的混合编程实例源码

ARM汇编指令如何与C语言的混合编程实例源码。ARM的应用实例源码介绍。

1。汇编程序实例

; 起动文件。初始化C程序的运行环境,然后进入C程序代码。

IMPORT |Image$$RO$$Limit|

IMPORT |Image$$RW$$Base|

IMPORT |Image$$ZI$$Base|

IMPORT |Image$$ZI$$Limit|

IMPORT Main ; 声明C程序中的Main()函数

AREA Start,CODE,READONLY ; 声明代码段Start

ENTRY ; 标识程序入口

CODE32 ; 声明32位ARM指令

Reset LDR SP,=0x40003F00

; 初始化C程序的运行环境

LDR R0,=|Image$$RO$$Limit|

LDR R1,=|Image$$RW$$Base|

LDR R3,=|Image$$ZI$$Base|

CMP R0,R1

BEQ LOOP1

LOOP0 CMP R1,R3

LDRCC R2,[R0],#4

STRCC R2,[R1],#4

BCC LOOP0

LOOP1 LDR R1,=|Image$$ZI$$Limit|

MOV R2,#0

LOOP2 CMP R3,R1

STRCC R2,[R3],#4

BCC LOOP2

B Main ; 跳转到C程序代码Main()函数

END

2.c语言程序

#define uint8 unsigned char

#define uint32 unsigned int

#define N 100

uint32 sum;

// 使用加法运算来计算1+2+3+…+(N-1)+N的值。(N>0)

void Main(void)

{ uint32 i;

sum = 0;

for(i=0; i<=N; i++)

{ sum += i;

}

while(1);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值