ARM考试题目

来源:百度知道 编辑:UC知道 时间:2024/06/17 11:52:28
设计程序:在dat数据区中存有一批过去24小时深圳16个测量点录得的雨量统计数据。试统计雨量的平均值和最大雨量,结果分别存放在寄存器r7、r8寄存器中,调试程序并执行。(40分)
dat数据区定义如下:
AREA Data, DATA, READWRITE
dat DCB 67,45,68,98,87,66,76,56,67,88,91,90,77,89,56,66

AREA Test,CODE,READONLY

ENTRY
ldr r1, =dat
ldr r2, =0x10
ldr r7, =0
ldr r8, =0
add
ldrb r0,[r1], #1
add r7, r7, r0
cmp r0, r8
movhi r8, r0
subs r2, r2, #1
bne add

mov r7, r7, lsr#4

b .

AREA datatest,DATA, READWRITE
dat DCB 67,45,68,98,87,66,76,56,67,88,91,90,77,89,56,66

END

注意,此程序的限制:
1 把值作为无符号数处理
2 没有考虑16个数字相加溢出的情况,因为都是8bit的数字,相对32bit,16个相加不会溢出
3 平均数舍掉了小数位

在模拟器上测试了没问题