作业一

更新时间:2023-11-08 18:13:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《嵌入式系统原理》作业一

注意:

? 上交时间:下周上小课之前;

? 不许打印答案,可以不抄题目,把答写在作业纸上就可以了;

一、 填空题

1、ARM的完整拼写形式为 Advanced RISC machines (先进的-精简指令计算机-机器) ,CM4处理器内部正在执行的指令的地址为0x08000100,此时读取PC的值,该值为 0x08000104 。

2、CM4处理器有两种模式: handler模式 、 线程模式 ,还支持两种操作级别: 用户级 、 特权级 。

4、根据操作数的来源不同,CM4处理器有不同的寻址方式,最快的寻址方式是 立即寻址方式 ,指令add r0,r1,r2的寻址方式是 寄存器寻址方式 。

5、ATPCS中规定子程序间传递参数,参数个数少于等于4个时,使用寄存器 R0~R3 ;参数个数多于4个时,多出的部分使用 堆栈 。

6、在CM4处理器中,寄存器间传送数据的指令是 mov ,寄存器和内存单元间传送数据的指令是 ldr/str指令 ,寄存器和状态寄存器间传送数据的指令是 MRS/MSR指令 。

7、伪操作import的作用是 声明需要应用的标号在其他文件中// 通知编译器要使用的标号在其他的源文件中定义 。伪操作“ldr r0,=label”的含义是 将label标号地址传递给r0 。

8、假设某嵌入式处理器有5级流水线,每级流水线所耗时间均为为0.2ms,则顺序执行30条指令需要耗费时间是 6.8 ms。

二、 编程题 1、 编写一段c语言和汇编语言的混合程序,在c语言函数中实现字符串拷贝(不许用字符串操作相关函数),函数原型如下:

void strcpy(char *src, char *dest) //即src所指向的字符串复制到dest中

{ // 自己编写字符串拷贝代码 While(*src!=0) {

*dest++=*src++ } }

然后,在汇编语言程序通过调用strcpy完成字符串src到dest的复制!

PRESERVE8 THUMB AREA RESET, DATA, READONLY EXPORT __Vectors __Vectors DCD 0x20004000 ; Top of Stack DCD Reset_Handler ; Reset Handler AREA |.text|, CODE, READONLY Reset_Handler PROC EXPORT Reset_Handler [WEAK]

……;此处需将汇编代码补充完整

ldr r0,=src

ldr r1,=0x20001000

Import strcpy Bl strcpy src dcb “Where is a will,where is a way!”,0 dest space 50 end

本文来源:https://www.bwwdw.com/article/kbu2.html

Top