北邮信通院计算机原理与应用_第四章_汇编_keil5

1.用ARM汇编语言实现以下C程序段的功能 (可以自行假设变量存放的寄存器)(Keil MDK实现)

1) y=ax(b+c)

2)if(x<3)
        y=3*x+66;
    else if(x<100)

        y=100*x+88;

    else y=0;

3) for(i=0;i<10;i++)

        x[i]=a[i]+b[i];

无法LDR【r7】

; x[i]=a[i]+b[i].s

; 栈配置
Stack_Size		EQU		0x00000400	; 定义栈空间大小
			AREA    MyStack, NOINIT, READWRITE, ALIGN=3	; 声明栈段
Stack_Mem	SPACE   Stack_Size		; 分配内存空间
__initial_sp

; 异常/中断向量表(复位后,向量表位于地址 0 处)
			AREA    Reset, DATA, READONLY	; 声明Reset数据段
__Vectors	DCD     __initial_sp		; 栈顶地址(MSP初始值)
			DCD     Reset_Handler		; “复位”异常处理代码的起始地址

			THUMB		; 表示接下来的代码为THUMB指令集
			PRESERVE8	; 表示接下来的代码保持8 字节栈对齐
				
		
	
	
			AREA    Init, CODE, READONLY		; 声明代码段
a			DCD		1,2,3,4,5,6,7,8,9,10
b			DCD		10,9,8,7,6,5,4,3,2,1
;x			DCD		0
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值