《微机原理与嵌入式系统基础--练习&答案》(4)

2019-07-13 17:36

制。

7、 汇编子程序传递参数有哪几种方式?

答:汇编子程序传递参数有三种方式,分别为:

○1寄存器传递参数方式; ○2存储区域传递参数方式; ○3堆栈传递参数方式;

8、 用汇编语言编写程序将R0寄存器中的字数据分成4组,每组8位,然后分别存放到R1、R2、R3

和R4中。 答:

AREA decode, CODE, READONLY ENTRY CODE32 start LDR LDR

R0, =x R0, [R0]

; 将x加载到寄存器R0 ; 取x的低八位

; 取x的次低八位

; 代码段名decode

; 程序的入口

MOV R1, #0xFF AND R1, R1, R0 MOV R2,

#0xFF

AND R2, R2, R0, ROR #8 MOV R3, #0xFF

AND R3, R3, R0, ROR #16 MOV R4, #0xFF

AND R4, R4, R0, ROR #24 stop

MOV R0, #0x18 LDR SWI

0x123456

; 取x的次高八位 ; 取x的高八位

; 这三条指令是ADS调试环境特约

R1, =0x20026 ;程序运行结束返回编译器调试环境

AREA Data, DATA, READWRITE x DCD END

123456789

; 数据段的名字Data

; 结束

9、 用汇编语言编写程序统计任意字符串包含的字符个数。(约定:字符串以0为结束标志) 答:

AREA count, CODE, READONLY ENTRY CODE32 start LDR CONTI LDRB R1, [R0]

; 将string中的一个字符加载到寄存器R1

R0, =string

; R0指向字符串string中第一个字符

MOV R2, #0

; 代码段名 count

; 程序的入口

CMP R1, #0

; 是否是字符串结束标志

; 如果不是,指针拨向下一个字符

; 如果是,将统计的字符串个数,放入单元num

ADDNE R2, R2, #1 ; 如果不是,统计个数增加1 ADDNE R0, R0, #1 BNE CONTI LDREQ R3, =NUM STREQ R2, [R3] stop

MOV R0, #0x18 LDR SWI

AREA Data, DATA, READWRITE string DCB NUM DCB END

0

100

; 这三条指令是ADS调试环境特约

R1, =0x20026

0x123456

;程序运行结束返回编译器调试环境

; 数据段的名字Data

\

; 结束

10、 用汇编语言编写程序计算:答:

ENTRY CODE32 start LDR

R0, =sum

; R0指向存储单元sum ; R1存放累加和 ; R2初始化起始值 ; 实现R1=R1+R2*2 ; 判断R2是否等于100 ; 如果不等,R2累加1

; 如果相等,将累加和R1放入存储单元sum中

; 这三条指令是ADS调试环境特约

MOV R1, #0 MOV R2, #1 CONTI

ADD R1, R1, R2, LSL #1 CMP R2, #100 BNE CONTI stop

MOV R0, #0x18 LDR SWI

AREA Data, DATA, READWRITE sum END

DCD

0

; 结束

; 数据段的名字Data

0x123456

R1, =0x20026

;程序运行结束返回编译器调试环境

ADDNE R2, R2, #1 STREQ R1, [R0]

Sum??2?NN?1

AREA sum2n, CODE, READONLY

; 代码段名sum2n

; 程序的入口

11、 用汇编语言编写程序实现:已知BUF1中有N1个按从小到大顺序排列的互不相等的字符号数,BUF2中有N2个从小到大顺序排列的互不相等的字符号数。试编写程序将BUF1和BUF2中的数合并到BUF3中,使得BUF3中的数互不相等且按从小到大顺序排列。

答:略!

12、 用汇编语言编写程序实现:将字节变量BVAR中的压缩型BCD数转换为二进制数,并存入原变

量中。 答:

AREA tranx, CODE, READONLY ; 代码段名tranx ENTRY CODE32 start LDR LDR

R0, =BVAR R1, [R0]

#0x0F

; 取BVAR的个位 ; 取BVAR的十位 ; R4=R3*2 ; R5=R3*8 ; R3=R4+R5=R3*10 ; R1=R3+R2

; 将BVAR的值加载到寄存器R1

; 程序的入口

MOV R2,

AND R2, R2, R1 MOV R3, #0x0F

AND R3, R3, R1, LSR #4 MOV R4, R3, LSL #1 MOV R5, R3, LSL #3 ADD R3, R4, R5 ADD R1, R3, R2 STR R1, [R0] stop

MOV R0, #0x18 LDR SWI

0x123456

; 将转换的值存到BVAR变量中 ; 这三条指令是ADS调试环境特约

;程序运行结束返回编译器调试环境

R1, =0x20026

AREA Data, DATA, READWRITE BVAR DCB END

0x89

; 数据段的名字Data

; 结束

第5章 练习题

1.简述SRAM芯片与DRAM芯片的共同点与不同点。

2.简述ROM芯片的常见分类,各种ROM芯片的特点及其适用场合。

3.某微机系统中ROM区的首地址是9000H,末地址是FFFFH,其ROM区域的存储容量是多少? 4.设有一个具有20位地址线和32位字长的存储器,问:(1)该存储器能存储多少个字节信息?(2)

如果该存储器由256K×8位SRAM芯片组成,需要用多少片?需要多少位地址来作芯片选择? 5.若CPU访问由256K×1位的DRAM芯片构成的512K×8位的存储器子系统,问CPU需要使用多少根

地址线?那些地址线用作片内寻址?那些地址线用作片选控制?

6.某计算机由2164芯片(64K?1位)组成64K?8位的内存系统,当CPU将内存中的某一个存储单元值

读出后,该存储单元的内容变成什么?该内存系统的刷新控制电路,需要在一个刷新周期内,刷新多少行?

7. 某微机系统中,使用了1片EPROM 2732,它与CPU的连接关系如图5.38所示,试计算该芯片在系

统中的地址空间范围,以及可访问多少个存储单元。

A15 ~ A0A10A11A12A13A14A15A9~A0A11CS A10EPROM2732CPUIO/M

图5.38

8.在某计算机系统中扩展32K字节的RAM,起始地址为8000H,设地址总线为20位,数据总线为8位。

选用6264芯片,画出扩展的存储器的电路连接图。

9.用16K×8位DRAM芯片构成64K×32位的存储器,试画出该存储器的电路连接图。

10.由8088 CPU组成一个小型计算机系统,有ROM 32KB,地址范围为00000H~07FFFH;有RAM 8KB,

地址范围为08000H~09FFFH;如果ROM选用2764(8K×8位),RAM选用8K×1位的SRAM芯片,试画出扩展的存储器的电路连接图。

第6章 练习题

1、 CPU与外设交换数据的传送方式有哪几种?各有何特点?

答:无条件数据访问方式、状态查询数据访问方式、中断方式数据访问和DMA方式数据访问传输等几种方式。

? 无条件数据访问方式特点:处理器在进行访问时不必关心其状态,这些设备永远处于‘准备好’状

态,可随时访问。采用无条件传送方式的接口电路很简单。

? 状态查询数据访问方式特点:它是对‘条件外设’的一种控制方式;处理器在进行访问时,需要关

心其状态,只有状态许可时方可对外设进行访问。对于慢速外设,严重影响CPU的效率;编程较为简单。

? 中断方式数据访问特点:它是对‘条件外设’的一种控制方式;当外设需要与CPU进行信息交换时,

由外设主动向CPU发出数据传送请求信号,CPU在等待此请求信号时可以运行其他的程序代码,提高了CPU的效率。需要编写中断服务程序。 ? DMA方式数据访问传输等几种方式特点:在高速外设和存储器之间桥接建立一条直接数据传输的临

时通道,控制并完成数据块在内存与高速外设之间高速直接地传输。具有更高的数据吞吐率,解放CPU可以并行地处理其他程序代码。

2、 一般I/O接口电路的作用有哪些?

答:I/O接口电路主要用于解决下列问题:

1)输出数据的锁存缓冲,协调主机与外设之间数据传输的速度差异。 2)输入数据的三态隔离,确保非I/O传送期间处理器总线不被外设占用。

3)信号形式匹配,将诸如光电、压力、温度等多种形式的物理信号统一转换成处理器可直接

处理的数字电路信号或反之。

4)信号格式转换,将主机系统中的并行数据转换成外设协议数据格式或反之。 5)产生和提供联络、控制等信号,保证处理器与外设之间数据传输的有效和可靠。

3、 接口电路中的寄存器分为哪几类?应用软件编程人员如何使用它们来驱动外设接口电路?

答:接口电路中的寄存器分为状态寄存器、数据寄存器和控制寄存器三类。编程人员读取、分析状态寄存器中的数据情况,即可知道设备的当前状态,依据具体情况读/写数据寄存器来完成数据的交互,向控制寄存器写入控制字实现对外设的实际控制。

4、 嵌入式系统常用的外设有哪些?这些外设一般以哪种方式存在?

答:通用并行输入输出接口(GPIO)、定时计数器(Timer)、通用异步收发器(UART)和中断控制器等。这些外设对于编程开发者而言外设都可以抽象成为一组端口寄存器,即状态寄存器、数据寄存器和控制寄存器三类,CPU通过对各个端口寄存器的访问实现对外设的数据传输和控制。

5、 ARM系统中实现中断接入的部件是什么?它有何功能?

答:向量中断控制器(VIC)。通过对VIC编程可对ARM器件的各个中断源进行中断屏蔽控制、中断优先级控制、中断分类控制、中断向量传递、状态查询等。

6、 什么是中断源?常采用中断方式和CPU交互的外设部件有哪些?中断处理过程是什么?

答:计算机技术中将任何能够引起计算机中断的事件统称为‘中断源’。常采用中断方式和CPU交互的外设部件有外中断(EINT)、定时计数器(Timer)、UART、SPI、RTC等。中断处理过程主要含有:中断请求,中断响应,断点保护,中断处理,中断返回5个步骤。


《微机原理与嵌入式系统基础--练习&答案》(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:新苏教版四年级下册数学教学工作总结

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: