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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第三章软件作业习题

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

相关文档
最新文档