《微机原理模拟题4(6页).doc》由会员分享,可在线阅读,更多相关《微机原理模拟题4(6页).doc(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-微机原理模拟题4-第 6 页微机原理模拟题4一、填空题(共20分)1 总线周期的含义是 CPU从存储器或I/O端口存取一个字节所需的时间 ;8086/8088 的基本总线周期由 4 个时钟周期组成;如果CPU 的时钟频率为4.77MHz,那么它的一个时钟周期为 209.6 ns,一个基本总线周期为 838.6 ns。2 8086 CPU的信号是 存储器和I/O选择信号 ,高电平时表示 CPU访问存储器 。3 总线传输率是指 在给定的工作方式下所能达到的数据传输率或单位时间内能够传输的字节数或比特数 ;若某总线的工作频率最高为8MHz,数据总线宽度为16位,则该总线的最大传输率为 16 M B
2、yte/s。4 I/O端口的编址方式有两种,分别为: 与存储器统一编址 和 I/O独立编址 。5串行传输的信息格式广泛采用着异步和同步格式。异步格式传送一个字符由4部分组成,分别为起始位, 数据位 位, 奇偶校验位 和停止位。6 在8086系统中,一个中断类型号为0DBH的中断服务子程序位于从8100H:1234H开始的内存中,则相应的中断矢量所在的起始物理地址为0:36C H(或者0036CH) ,从该地址开始连续4个存储单元存放的内容依次为_ 34h 、 12h 、 00h 和 _81h_。7用2k8的SRAM芯片组成16K16的存储器,共需SRAM芯片_16_ _片,片内地址和产生片选信
3、号的地址分别为_ 11 位和 3_ _位。二、选择题(包括单项和多项选择, 每小题2分,共20分)1下列说法正确的是_ A 、B _ _。A. CPU一般包括ALU、控制器、寄存器阵列等主要部件。B. CPU中的程序计数器是控制器的重要部件,总是指向下一条指令的地址。C. 指令周期一般由几个机器周期组成,机器周期是CPU工作的最小时间单位。D. 8086 CPU的寄存器都是16位的,但指令指针是20位。2下列说法正确的是_ A、C _ _。A.通用寄存器包括AX、BX、CX、DX,它们都可以作为累加器使用。 B.使用BP做间址寄存器时,默认使用DS做段寄存器。 C.做字符串操作时,源指针与目的
4、指针使用的段寄存器不同。 D. 形成堆栈地址的是SS与SP。3下列说法正确的是_ D _ _。 A. 8086 CPU有1M字节地址空间,其中最低64K是IO地址空间。 B. 8086 CPU有16位数据线和20位地址线,因此能访问2M字节存储器。C. 8086 CPU在传送8位数据时,总是使用数据总线低8位。D. 8086 CPU的NMI和INTR都是中断请求输入信号。4下列指令中有语法错误的是_ B _ _。A. MOV AL,DS:BP B. MOV DI,0C. JMP WORD PTRBXD. PUSH WORD PTRSI-25地址总线为32位的微机系统中其内存最大容量为_ D _
5、 _。A. 2000KB B. 2048KB C. 2048MB D. 4096MB6. 设串行异步通信的数据格式是:1位停止位,7位数据位,1位校验位,1位起始位,若传输率为2400位/秒,则每秒传输的最大字符个数为_ D _ _。A. 10 B. 110 C. 120 D. 2407一台微型计算机的字长是4个字节,它表示_ C _ _。A. 能处理的数值最大是4位十进制数9999 B. 内存容量为10000KBC. 在CPU中作为一个整体加以传送处理的二进制代码为32位D. 在CPU中运算的结果最大为2的32次方8下面的各种中断中,_ B_ _的优先级最高。A. 单步中断 B. 除0中断
6、C. NMI D. INTR 9某存储器芯片有地址线13根,数据线8根、该存储器芯片的存储容量为_ C _ _。A. 15K8 B. 32K256 C. 8K8 D. 32K810某存储单元的段基址为3806H,段内偏移地址为2A48H,该存储单元的物理地址为_ D_ _。A. 4100H B. 3AA08H C. 3B008H D. 3AAA8H三、综合题1. 定时器8253、中断控制器8259A与8086CPU的连接如图1所示,8253的通道0工作于方式3(方波发生器),输出的方波周期为20ms,每20ms向CPU发出一次中断,CPU响应中断后管理一个作业进程(执行中断服务程序),若825
7、9A初始化时写入中断矢量寄存器的内容为76H,请回答下列问题:(1) CPU在响应8259A的中断后,CPU何时从何处得到中断矢量号?得到的中断向量号是多少?(4分)(2) CPU在响应中断后从哪几个内存单元取出中断服务程序的入口地址(写出哪些单元中是CS段地址,哪些单元中是IP地址)? (4分)(3) 写出定时器8253和中断控制器8259A的端口地址。 (4分)(4) 计算8253通道0的时间常数(计数器初值)是多少?(5) 写出8253计数通道0的方式控制字和初始化程序段。 图1 8253、8259与8086CPU的连接电路(1)答:CPU在第二个中断响应周期从数据总线上得到中断矢量号(
8、该矢量号是8259A发出的)。该中断矢量号是:70H。 (2)答:从0:01C0H和0:01C1H中取出的数据是中断服务程序入口地址的偏移量,即IP地址;从0:01C2H和0:01C3H中取出的数据是中断服务程序入口地址的段地址,即CS地址。 (3)答:8253的端口地址为:3B8H、3BAH、 3BCH、3BEH;8259A的端口地址为:3B9H、3BBH。 (4)答:计算公式:20ms/0.01ms=2000;或者:100103Hz/50Hz=2000。 (5)答:8253通道0的方式控制字为:0011110B(或者:36H,或者:3EH都对)。 初始化程序段: MOV DX,3BEH M
9、OV AL,36H(或0011110B) OUT DX,AL MOV DX,3B8H MOV AX,2000 OUT DX,AL MOV AL,AH OUT DX,AL2. (10分)模拟/数字转换器ADC0809通过并行接口8255A与PC总线连接的接口电路如图2所示,该电路的功能是:CPU选择ADC0809的某一模拟通道INi进行A/D转换,并读取转换好的数字信号。请回答如下问题: 8255的B口和C口的低4位各工作于何种方式?写出8255A的方式控制字。(4分) 如何控制ADC0809转换的开始?CPU如何知道ADC0809转换结束?(3分) 若8255A的口地址是300H303H,写出
10、8255A的初始化程序段(不要求写如何启动ADC0809开始转换的有关程序)。(3分) 图2 ADC0809、8255A与PC总线的连接电路(1)答:8255A的B口工作于方式0输入;C口低4位工作于方式0输出。 8255A的方式字为:1010B,(或者写成82HFAH中任何一个数都算对)。 (2)答:CPU通过8255A让PC3输出高电平,即可使A/D转换开始(之前应该通过PC0PC2选中某一IN i模拟通道)。由电路图可知转换结束时EOC变为高电平向CPU申请中断,CPU得到中断请求就知道A/D转换结束。 (3)答:8255A初始化程序段如下:MOV DX,303HMOV AL,82H(或
11、1010B)OUT DX,AL3.(10分)CPU通过8255A的B口(采用简单I/O工作方式)向打印机传送100个字符,这些字符在内存中的起始地址为0100:1000H,共100个字节。8255A的端口地址为400403H,连接示意图如图3所示:图3 打印机接口电路完成该任务的程序如下,请根据程序注释的提示,填写空白处:解:mov dx, 403H (1分)mov al, 10000001b(或者81h) (1分)out dx, al;初始化8255A的方式选择控制字,设定工作模式mov al, 00001101b(或者0DH) (1分)out dx, al ;向STB引脚发送高电平mov
12、ax, 0100H (0.5分)mov ds, axmov si, 1000H (0.5分)mov cx, 100lp: mov dx, 402H (1分)in al, dx ;读取PC3的状态and al, 08H (1分)jnz lp ;如果PC3为高电平,表示打印机还未处理完毕,需等待mov dx, 401H (1分)mov al, siout dx, al ;将要打印的字符内容通过B口输出至打印机mov dx, 403H (1分)mov al, 00001100b(或者0CH) (1分)out dx, al nopnopmov al, 00001101b(或者0DH) (1分)out
13、dx, al ;在PC6上发出一个负脉冲后,然后回到高电平状态inc sidec cxjnz lp4. (10分)某微机系统的存储地址空间为A8000HCFFFFH,若采用单片容量为16K1位的SRAM 芯片,请问: 系统存储容量为多少?(1分) 该SRAM 芯片有多少条数据线?多少条地址线?(2分) 组成该存储系统共需该SRAM 芯片多少片?(1分) 整个系统应分为多少个芯片组?(1分) 分别写出第一个芯片组和最后一个芯片组所对应的地址空间(5分)要求:必须写计算分析过程。解:1 存储容量=CFFFFH-A8000H+1=28000H (B)=160KB2 芯片容量16K1位:16K=214
14、 所以有14条地址线,1条数据线3 所需要的芯片数:(160K8)/(16K1)=804 因为每个芯片只有一位数据线,所以需要8片构成一组;整个系统应分为:80/8=10个芯片组5.(10分)在内存数据段符号地址为SDATA处连续存放了60个无符号字节数据,试统计该60个数中能被13除尽的数的个数(该结果应存于数据段符号地址COUNT处)。要求: (1)将“判断一个无符号字节数据能否被13除尽”的功能写成子程序;(2)写出完整的数据段与代码段。附录: 1、8255A 方式选择控制字格式2、8253控制字格式如下:5 第一个芯片组的地址空间:A8000HABFFFHA19 A18 A17 A16
15、 A15 A14 A13 .A01 0 1 0 1 0 0 0 1 1最后一个芯片组的地址空间:CC000HCFFFFHA19 A18 A17 A16 A15 A14 A13 .A0 0 01 1 0 0 1 1 1 1也可以这样计算:第一个芯片组的地址空间:A8000HABFFFHA8000H+16K-1=A8000H+4000H-1=ABFFFH最后一个芯片组的地址空间:CC000HCFFFFHCFFFF+1-16K=CFFFF+1-4000H=CC000H;数据段写正确:2分(以下SDATA的定义随意不扣分)DATASEGMENTSDATADB 60 DUP(?) ;60个无符号字节数据
16、COUNTDB 0 DATAENDSCODESEGMENTASSUME CS:CODE, DS:DATA;子程序写正确:5分;子程序:入口AL;出口:ZF=1表明AL能被13除尽 DIV13PROC NEARMOV AH, 0MOV BL, 13DIV BLOR AH, 0RETDIV13ENDP;主程序写正确:6分START:MOV AX, DATAMOV DS, AXMOV SI, OFFSET SDATAMOV CX, 60LP1:MOV AL, SICALL DIV13JNZ LP2INC COUNTLP2:INC SILOOP LP1MOV AH, 4CHINT 21HCODEENDSEND START