嵌入式系统原理及应用第三章习题

更新时间:2023-05-11 22:21:18 阅读: 评论:0

第三章软件作业习题
3、将存储器中0x400000开始的200字节的数据,传送到0x400800开始的区域。
解:
AREA procedure3,CODE,READONLY
ENTRY
CODE32
START
MOV R0,#0x400000
LDR R1,=0x400800
MOV R7,#200
LOOP LDRB R2,[R0],#1
STRB R2,[R1],#1
SUBS R7,R7,#1
BNE LOOP
CEASE
B CEASE
END
4、编写程序,比较存储器中0x400000和0x400004两无符号字数据的大小,并且将比较结果存于0x400008的字中,若两数相等其结果记为0,若前者大于后者其结果记为1,若前者小于后者其结果记为-1。
解:
AREA procedure4,CODE,READONLY
ENTRY
CODE32
START
MOV R0,#0x400000
LDR R1,[R0],#4 ;取第1个数
LDR R2,[R0],#4 ;取第2个数
CMP R1,R2 ;将两个数相比较
MOVHI R1,#1 ;R1比R2大
MOVLO R1,#-1 ;R1比R2小
MOVEQ R1,#0 ;两个数相等
STR R1,[R0]
CEASE
B CEASE
END
5、存储器从0x400000开始的100个单元中存放着ASCII码,编写程序,将其所有的小写字母转换成大写字母,对其它的ASCII码不做变换。
解:
AREA procedure5,CODE,READONLY
ENTRY
CODE32
START
MOV R0,#0x400000
MOV R1,#0
LOOP LDRB R2,[R0,R1]
CMP R2,#0x61 ;与‘a’比较
BLO NEXT ;小于转到NEXT
CMP R2,#0x7B ;0x7A为‘z’
SUBLO R2, R2,#0x20 ;小于转换
STRBLO R2,[R0,R1] ;小于保存
NEXT
ADD R1,R1,#1
CMP R1,#100
BNE LOOP
CEASE
B CEASE
END
6、编写一程序,查找存储器从0x400000开始的100个字中为0的数目,将其结果存到0x400190中。
解:
AREA procedure6,CODE,READONLY
ENTRY
CODE32
START
MOV R0,#0x400000
MOV R7,#100 ;控制循环变量
MOV R1,#0 ;保存0的数目LOOP
LDR R2,[R0],#4 ;取数
CMP R2,#0 ;比较为0
ADDEQ R1,R1,#1 ;为0加1
SUBS R7,R7,#1 ;修改控制变量
BNE LOOP
STR R1,[R0] ;保存0的数目
CEASE
B CEASE
END
7、编写一程序,存储器中从0x400200开始有一个64位数。
(1)将取反,再存回原处;
(2)求其补码,存放到0x400208处。
解:
AREA procedure7,CODE,READONLY
ENTRY
CODE32
START
LDR R0,=0x400200
LDR R2,=0xFFFFFFFF
LDR R1,[R0]  ;取低32位数
EOR R1,R1,R2 ;取反
STR R1,[R0]  ;存低32位反码
ADDS R1,R1,#1 ;又加1为求补
STR R1,[R0,#8] ;存低32位补码
LDR R1,[R0,#4] ;取高32位数
EOR R1,R1,R2 ;取反
STR R1,[R0,#4] ;存高32位反码
ADC R1,R1,#0 ;高32位求补
STR R1,[R0,#12] ;存高32位补码
CEASE
B CEASE
END
8、编写一简单ARM汇编程序段,实现1+2+…+100的运算。解:
AREA procedure8,CODE,READONLY
ENTRY
CODE32
START
MOV R2,#100
MOV R1,#0
LOOP
ADD R1,R1,R2 ;R1中为累加和
SUBS R2,R2,#1 ;R2控制循环
BNE  LOOP
CEASE
B CEASE
END

本文发布于:2023-05-11 22:21:18,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/885115.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:结果   开始   存储器   小于   补码   前者   编写   程序
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图