微机原理习题集

更新时间:2024-01-29 07:24:01 阅读量: 教育文库 文档下载

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

微型计算机原理及应用

习题集

专业班级 学 号 姓 名

第1章 概述

一、填空题

1.电子计算机主要由 运算器 、 控制器 、 存储器 、 输入设备 和 输出设备 等五部分组成。

2. 运算器 和 控制器 集成在一块芯片上,被称作CPU。

3.总线按其功能可分 数据总线 、 地址总线 和 控制总线 三种不同类型的总线。

4.计算机系统与外部设备之间相互连接的总线称为 系统总线(或通信总线) ;用于连接微型机系统内各插件板的总线称为系统内总线(板级总线) ;CPU内部连接各寄存器及运算部件之间的总线称为 内部总线 。

5.迄今为止电子计算机所共同遵循的工作原理是 程序存储 和 程序控制 的工作原理。这种原理又称为 冯·诺依曼型 原理。

二、简答题

1.简述微处理器、微计算机及微计算机系统三个术语的内涵。

答:微处理器是微计算机系统的核心硬件部件,它本身具有运算能力和控制功能,对系统的性能起决定性的影响。微处理器一般也称为CPU;微计算机是由微处理器、存储器、I/O接口电路及系统总线组成的裸机系统。微计算机系统是在微计算机的基础上配上相应的外部设备和各种软件,形成一个完整的、独立的信息处理系统。三者之间是有很大不同的,微处理器是微型计算机的组成部分,而微型计算机又是微型计算机系统的组成部分。

2.什么叫总线?为什么各种微型计算机系统中普遍采用总线结构? 答:总线是模块与模块之间传送信息的一组公用信号线。

总线标准的建立使得各种符合标准的模块可以很方便地挂在总线上,使系统扩展和升级变得高效、简单、易行。因此微型计算机系统中普遍采用总线结构。

3.微型计算机系统总线从功能上分为哪三类?它们各自的功能是什么? 答:微型计算机系统总线从功能上分为地址总线、数据总线和控制总线三类。地址总线用于指出数据的来源或去向,单向;数据总线提供了模块间数据传输的路径,双向;控制总线用来传送各种控制信号或状态信息以便更好协调各功能部件的工作。

第2章 微处理器及其结构

一、填空题

1.8086/8088 CPU执行指令中所需操作数地址由 EU 计算出 16 位偏移量部分送 BIU ,由 BIU 最后形成一个 20 位的内存单元物理地址。

2.8086/8088 CPU在总线周期的T1 时刻,用A19/S6~A16/S3 输出 20 位地址信息的最高 4 位,而在其他时钟周期,则输出 状态 信息。

3.8086/8088 CPU复位后,从 0FFFF0H 单元开始读取指令字节,一般这个单元在 ROM 区中,在其中设置一条 跳转 指令,使CPU对系统进行初始化。

4.8086系统的存储体系结构中,1MB存储体分 2 个库,每个库的容量都是512K字节,其中和数据总线D15~D8相连的库全部由 奇地址 单元组成,称为高位字节库,并用BHE作为此库的选通信号。

5.8086/8088系统中,可以有 64K 个段起始地址,任意相邻的两个段起始地址相距 16 个存储单元。

6.用段基值及偏移量来指明内存单元地址的方式称为 逻辑地址 。

7.通常8086/8088 CPU中当EU执行一条占用很多时钟周期的指令时,或者在多处理器系统中在交换总线控制时会出现 空闲 状态。

8.8086 CPU使用 16 根地址线访问I/O端口,最多可访问 64K 个字节端口,使用 20 根地址线访问存储单元,最多可访问 1M 个字节单元。

9.CPU取一条指令并执行该指令的时间称为 指令 周期,它通常包含若干个 总线 周期,而后者又包含有若干个 时钟 周期。

二、单项选择题

1.某微机最大可寻址的内存空间为16MB,其CPU的地址总线至少应有(E)条。 A.26 B.28 C.20 D.22 E.24

2.8086/8088 CPU的RESET引脚至少应维持(A)个时钟周期的正脉冲宽度才能有效复位。

A.4 B. 5 C.2 D.3

3.当RESET信号进入高电平状态时,将使8086/8088 CPU的(D)寄存器初始化为0FFFFH。

A.SS B.DS C.ES D.CS

4.8086/8088 CPU 与慢速存储器或I/O 接口之间进行数据传输,为了使传送速度匹配,有时需要在(C)状态之间插入若干等待周期TW。

A.T1 和T2 B.T2 和T3 C.T3 和T4 D.随机 5.8086/8088 CPU中标志寄存器的主要作用是( D )。 A.检查当前指令的错误 C.决定是否停机

B.纠正当前指令执行的结果与错误

D.产生影响或控制某些后续指令所需的标志

6.8086最小模式下的存储器读周期中地址锁存发生在总线周期的( A )时刻。 A.T1 B.T2 C.T3 D.T4 7.指令指针IP的作用是( A )。

2

A.保存将要执行的下一条指令的地址 C.保存运算器运算结果内容

B.保存CPU要访问的内存单元地址 D.保存正在执行的一条指令

8.8086CPU有两种工作模式,最小模式的特点是( A )。 A.CPU提供全部控制信号 B.由编程进行模式设定 C.不需要8282收发器

D.需要总线控制器8288

三、简答题

1.8086/8088 CPU 分为哪两个部分?如何协调工作?

答:EU是执行部件,主要的功能是执行指令和形成有效地址。BIU是总线接口部件,与片外存储器及I/O接口电路传输数据,主要功能是形成实际地址、预取指令和存取操作数。EU经过BIU进行片外操作数的访问,BIU为EU提供将要执行的指令。EU与BIU可分别独立工作,当EU不需BIU提供服务时,BIU可进行填充指令队列的操作。

2.8086/8088 CPU的地址总线有多少位?其寻址范围是多少? 答:8086/8088 CPU的地址总线共20 位,最大可寻址1MB空间。

3.8086/8088 CPU使用的存储器为什么要分段?怎么分段?

答:8086/8088为16位CPU,其内部的ALU、相关的地址寄存器(如SP、IP以及BX、BP、SI、DI)等都是16位的,因而对存储器地址的处理也只能是16位操作,即8086/8088的直接寻址能力在64KB范围内。而实际上8086/8088有20条地址线,它的最大寻址空间为1MB。这就产生了一个矛盾,即如何用16位的地址寄存器去表示一个20位的存储器物理地址?

实际使用的解决办法是:将1MB大小的存储空间分为若干“段”,每段不超过64KB。这样,一个20位的物理地址就可以用“16位段基址:16位偏移量”的形式(称为逻辑地址)来表示了,其中段地址存放在8086/8088的段寄存器中。

4.8086/8088 CPU 中有几个通用寄存器?有几个变址寄存器?有几个指针寄存器?通常哪几个寄存器亦可作为地址寄存器使用?

答:8086/8088 CPU 中共有:

8个16位的通用寄存器AX、BX、CX、DX 、BP、SP、SI、DI; 2个变址寄存器SI、DI; 2个指针寄存器BP、SP;

其中BX、BP、SI、DI 亦可作地址寄存器。

3

5.Intel 8086与8088有何区别?

答:8086与8088的区别主要表现在以下几个方面:

第一、8086的指令队列可以容纳6个字节,每个总线周期在存储器中取出2个字节指令代码填入队列。而8088只能容纳4个字节,且每个总线周期只能取出1个字节指令代码。

第二、8086外部数据总线宽度为16位,8088外部数据总线宽度只有8位。注意:8086和8088外部数据总线的宽度不同将导致扩展主存储器及输入/输出接口时系统地址线和数据线连接方式的不同。

第三、其他不同的引脚定义:(1)AD15~AD0,在8086中为地址/数据复用,而在8088中AD15~AD8 改为A15~A8只作地址线用;(2)34、28号引脚定义不同。

6.8086/8088CPU工作在最小模式时:当CPU访问存储器时,要利用哪些信号?当CPU访问外设接口时,要利用哪些信号?

M/IO、答:8086/8088 CPU工作在最小模式时,若访问存储器,需用到以下信号:

ALE、DT/R、DEN、READY、BHE、WR、RD、AD0~AD15、A19/S6~A16/S3。若访问外设,需用到以下信号:M/IO、ALE、DT/R、DEN、READY、WR、RD、AD0~AD15。

7.什么是逻辑地址?什么是物理地址?它们之间有什么联系?各用在何处? 答:逻辑地址由两个16 位的部分即段基址和偏移量组成,一般在程序中出现的地址都表示为逻辑地址形式;物理地址是一个20 位的地址,它是唯一能代表存储空间每个字节单元的地址,一般只出现在地址总线上。

由于8086/8088CPU 中的寄存器只有16 位长,所以程序不能直接存放20 位的物理地址,而必须借助逻辑地址,即用两个16 位的寄存器来表示物理地址。他们之间的关系是:物理地址=段基址*16+偏移量;另外,一个物理地址可对应多个逻辑地址。

8.设现行数据段位于存储器0B0000H~0BFFFFH 单元,DS 段寄存器内容为多少?

答: DS 段寄存器内容为0B000H。

9.在8086中,逻辑地址、偏移地址、物理地址分别指的是什么?

答:逻辑地址是在程序中对存储器地址的一种表示方法,由段基址和段内偏移地址两部分组成,都是16位的二进制代码,如1234H:0088H。偏移地址是指段内某个存储单元相对该段首地址的差值。物理地址是8086芯片引线送出的20位地址码,物理地址=段基址*16+偏移地址,用来指出一个特定的存储单元。

4

LEA MOV LDS

SI,DATA CL,[SI] BX,DATA

答:执行结果为(AX)=6655H,(BX)=6655H,(CL)=55H,(SI)=24C0H,(DS)=8877H。

第4章 存储器系统

一、选择题

1.下列(B)不是半导体存储器芯片的性能指标。

A. 存储容量 B. 存储结构 C. 集成度 D. 最大存储时间 2.高速缓存由(B)构成。

A. SRAM B. DRAM C. EPROM D. 硬磁盘

3.由2K×1bit的芯片组成容量为4K×8bit的存储器需要(D)个存储芯片。 A. 2 B. 8 C. 32 D. 16

4.安排2764芯片内第一个单元的地址是1000H,则该芯片的最末单元的地址是(D)。

A. 1FFFH B. 17FFH C. 27FFH D. 2FFFH

5.一片容量为8KB的存储芯片,若用其组成1MB内存,需( C )片。 A. 120 B. 124 C. 128 D. 132 6.外存储器包括 ( A B E F )。

A. 软磁盘 B. 磁带 C. SRAM D. BIOS E. 硬磁盘 F. 光盘 7.在多级存储体系结构中,Cache-主存结构主要用于解决( D )的问题。 A. 主存容量不足

B. 主存与辅存速度不匹配

C. 辅存与CPU速度不匹配 D. 主存与CPU速度不匹配 8.动态RAM的特点之一是( BD )。 A. 能永久保存存入的信息 C. 不需要刷新电路

B. 需要刷新电路 D. 存取速度高于静态RAM

二、填空题

1.在分层次的存储系统中,存取速度最快、靠CPU最近且打交道最多的是 Cache 存储器,它是由 DRAM 类型的芯片构成,而主存储器则是由 SRAM 类型的芯片构成。

2.将存储器与系统相连的译码片选方式有 线选法、部分地址译码法和 全地址译码 法。

3.若存储空间的首地址为1000H,存储容量为1K×8、2K×8、4K×8H 和8K×8

10

的存储器所对应的末地址分别为 13FFH 、 17FFH 、 1FFFH 和 2FFFH 。

4.微机系统中存储器通常被视为 Cache 、 主存 、辅存 三级结构。

三、综合题

1.某微机系统中内存的首地址为3000H,末地址为63FFH,求其内存容量。

答:存储区总的单元数为:63FFH-3000H+1=3400H,故总容量13KB。

2.下图为SRAM6116芯片与 8088系统总线的连接图。 答:

(1)6116芯片的存储容量是2k*8bit

(2)第一片6116的内存地址范围是F1000H~F17FFH

第二片6116的内存地址范围是F1800H~F1FFFH

3.利用2K×4位的存储芯片,在8088系统总线上实现

20000H-23FFFH的内存区域,试画出连接电路图。

答:

(1)写出6116芯片的存储容量;

(2)分析每片6116所占的内存地址范围。

11

4.如图所示,IBM-PC/XT计算机扩展槽上与存储器连接的总线信号为20根地址线A19~A0,8根数据线D7~D0以及存储器读写信号MEMR和MEMW。使用8 EPROM)和1片62256(32K×8 RAM)这些信号扩展1片27256(32K×。要求EPROM的起始地址为C8000H,RAM紧随其后,使用74LS138(3-8译码器),采用全地址译码方式。

A19 A18 A17 A16 A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 D7 D6 D5 D4 D3 D2 D1 D0 MEMR MEMW 74LS138 G1 Y1 G2A Y2 G2B Y3 C B A Y4 Y5 Y6 Y7 A14 CE A13 A12 A11 A10 A9 IC0 D7 D6 A8 D5 A7 D4 A6 D3 A5 62256 D2 A4 D1 A3 D0 A2 A1 A0 OE WE A14 CE A13 A12 A11 A10 D7 A9 A8 IC1 D6 D5 A7 D4 A6 D3 A5 27256 D2 A4 D1 A3 D0 A2 A1 A0 OE Y0

(1)试在图中画出计算机的存储器连接图(门电路自选)。

74LS138 A19 A18 A17 A16 A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 D7 D6 D5 D4 D3 D2 D1 D0 MEMR MEMW 题五图、存储器扩展图

G1 Y1 G2A Y2 G2B Y3 C B A Y4 Y5 Y6 Y7 A14 CE A13 A12 A11 A10 A9 IC0 D7 D6 A8 D5 A7 D4 A6 D3 A5 62256 D2 A4 D1 A3 D0 A2 A1 A0 OE WE A14 CE A13 A12 A11 A10 D7 A9 A8 IC1 D6 D5 A7 D4 A6 D3 A5 27256 D2 A4 D1 A3 D0 A2 A1 A0 OE Y0 题五图、存储器扩展图 第四题图

12

(2)写出各片存储器的地址范围。

答:地址范围27512:C8000~CFFFFH, 62512:D0000H~D7FFFH

5.设某系统中的数据总线宽度为8bit,地址总线宽度为16bit。若采用4K×4的RAM芯片组成16KB的存储系统。问:

(1)共需多少片4K×4的RAM芯片?这些芯片应分成多少组?每组多少片? 答:共需8片RAM芯片,分成4组,每组2片。

(2)该存储系统至少需要多少根地址总线?其中多少根低位地址线用于片内自选(译码)?

答:至少需要14根地址总线,其中12根低位地址线用于片内自选。

(3)设该存储系统从0000H开始占用一段连续地址空间,试给出每组芯片占用的地址范围。

答:0000~0FFFH 1000~1FFFH 2000~2FFFH 3000~3FFFH

第5章 中断技术

一、判断题

1.内部中断的优先权总是高于外部中断。(×) 2.两片8259A级连后可管理16级中断。(×)

3.8259A所管理的中断源中,优先级低的中断源不可能中断优先级高的中断服务子程序。(×)

4.若8259A的中断屏蔽字为00H,则8259A所管理的8级中断全被屏蔽。(×) 5.只要8259A所管理的中断源没有被屏蔽,则任何中断源的中断请求都能得到CPU的响应和服务。(√)

6.在8259A特殊完全嵌套方式中,同级的中断可实现嵌套。(√)

二、单项选择题

1.8086CPU工作在总线请求方式时,会让出( D )。 A. 地址总线 B. 数据总线

C. 地址和数据总线 D. 地址、数据和控制总线

2.CPU响应INTR引脚上来的中断请求的条件之一是( B )。 A. IF =0 B. IF =1 C. TF =0 D. TF =1 3.断点中断的中断类型码是 ( C )。 A. 1 B. 2 C. 3 D. 4

4.执行指令IRET后弹出堆栈的寄存器先后顺序为( B )。

A. CS、IP、Flags B. IP、CS、Flags C. Flags、CS、IP D. Flags、IP、CS 5.若8259A工作在优先级自动循环方式,则IRQ4的中断请求被响应并且服务完毕后,优先权最高的中断源是( B )。

A. IRQ3 B. IRQ5 C. IRQ0 D. IRQ4

13

6.PC/XT机中若对从片8259A写入的ICW2是70H,则该8259A芯片的IRQ6的中断类型码是( B )。

A. 75H B. 76H C. 70H D. 1D8H

7.PC/XT机中若对从片8259A写入的ICW2是70H,则该8259A芯片的IRQ5的中断矢量存储的地址是( D )。

A. 75H B. 280H C. 300H D. 1D4H

8.当向8259A写入的操作命令字OCW2为01100100时,将结束( E )的中断服务。

A. IRQ0 B. IRQ1 C. IRQ2 D. IRQ3 E. IRQ4 F. IRQ5 G. IRQ6 H. IRQ7 9.3片8259A级联起来,可管理( C )级中断。 A. 24 B. 23 C. 22 D. 20 E. 16 F. 15

三、多项选择题

1.在PC机工作过程中,8259A所管理的中断源优先级将发生变化的工作方式有( C D )。

A. 全嵌套工作方式 B. 特殊全嵌套方式 C. 优先级自动循环方式 D. 优先级特殊循环方式

2.写入8259A的ICW1为13H,则该8259A芯片的工作方式是( ADE )。 A. 上升沿触发中断请求 B. 仅高电平请求中断 C. 多片主从方式 D. 单片方式 E. 初始化写入ICW4 F. 初始化不写入ICW4

3.写入8259A的ICW4为09H,则该8259A芯片的工作方式是( ABD )。 A. 全嵌套 B. 采用8086CPU C. 多片主从方式 D. 缓冲方式 E. 自动结束中断 F. 优先级自动循环

4.写入PC/XT机8259A芯片的操作命令字OCW1是36H,则被屏蔽的中断源是( BCEF )。

A. IR0 B. IR1 C. IR2 D. IR3 E. IR4 F. IR5 G. IR6 H. IR7

5.8086CPU响应硬中断NMI和INTR时,相同的条件是( BD )。 A. 允许中断

B.当前指令执行结束 D. 不处于DMA操作期间

C. CPU工作在最大模式下

四、填空题

1.中断矢量就是中断服务子程序的 入口地址 ,在内存中占有 4 个存储单元,其中低地址存储单元存放的是 IP内容,高地址存储单元存放的是 CS内容。

2.中断返回指令是 IRET ,该指令将堆栈中保存的断点弹出后依次装入 IP

14

寄存器和 CS 寄存器中,将堆栈中保存的标志装入 Flags 中。

3.CPU响应8259A中断,在引脚INTA上输出 2 个负脉冲,在第 2 个负脉冲期间读入中断类型码。

4.8086CPU共可管理 256 个中断,中断矢量表放在从 00000 H地址单元到 003FF H地址单元,总共有 1K 个字节。

5.CPU响应中断后将 Flags 寄存器入栈保存,然后自动将 IF 标志和 TF 标志复位。若要实现中断嵌套,必须在中断服务子程序中执行一条 开中断 指令。

6.以下代码完成8086系统中断向量设置的功能,其设置的中断类型为 0BH ,中断服务程序入口的物理地址为 579B4H 。

DATA VAR1 VAR2 DATA CODE

SEGMENT

2CH DW ? DW ? ENDS SEGMENT ASSUME ┆ XOR MOV MOV MOV MOV MOV

CODE

ENDS

AX,AX ES,AX AX,1234H ES:VAR1,AX AX,5678H ES:VAR2,AX

CS:CODE,ES:DATA

ORG

五、综合题

1.试说明一般中断系统的组成和功能。

答:处理器内部应有中断请求信号的检测电路,输出中断响应信号,保存断点的逻辑,转向中断处理程序的逻辑,中断返回逻辑。系统中要有一中断控制器,管理多个中断源,提供处理机所需的中断处理信息。系统中请求中断处理的I/O接口电路要有提供中断请求信号及接收中断响应信号的逻辑。

2.简述中断的响应过程。

答:8086在中断响应时,自动将标志寄存器FR和断点(CS和IP)的值入栈保存,但不将别的其它寄存器的值入栈保存,故如果中断服务程序中用到其它寄存器

15

时,应单独使用指令将其它寄存器的值入栈保存,等中断返回前再将其恢复。这一步骤称为保护现场和恢复现场。保护现场和恢复现场应后进先出。

8086只对可屏蔽中断的响应输出2个总线周期的INTA,并在第2个INTA期间到DB的低8位读入中断类型码,而对其它类型的中断,由于中断类型码是固定的,不用到DB读取,故没有2个INTA总线周期。

中断响应与调子程序过程完全不同。

4.什么是中断类型码、中断向量、中断向量表?在基于8086/8088的微机系统中,中断类型码和中断向量之间有什么关系?

答:处理机可处理的每种中断的编号为中断类型码。中断向量是指中断处理程序的入口地址,由处理机自动寻址。中断向量表是存放所有类型中断处理程序入口地址的一个默认的内存区域。在8086系统中,中断类型码乘4得到向量表的入口,从此处读出4字节内容即为中断向量。

5.写出分配给下列中断类型号在中断向量表中的物理地址。

(1) INT 12H 答:00048H

(2) INT 8 答:00020H

6.8259A中断控制器的功能是什么?

答:8259A中断控制器可以接受8个中断请求输入并将它们寄存。对8个请求输入进行优先级判断,裁决出最高优先级进行处理,它可以支持多种优先级处理方式。8259A可以对中断请求输入进行屏蔽,阻止对其进行处理。8259A支持多种中断结束方式。8259A与微处理器连接方便,可提供中断请求信号及发送中断类型码。8259A可以进行级连以便形成多于8级输入的中断控制系统。

6.画出8259A的初始化流程图。 答:

16

7.试按照如下要求对8259A设定初始化命令字:8086系统中只有一片8259A,中断请求信号使用电平触发方式,全嵌套中断优先级,数据总线无缓冲,采用中断自动结束方式。中断类型码为20H~27H,8259A的端口地址为0B0H和0B1H。并写出8259A的初始化程序段。

答:ICW1=1BH (送B0H端口),ICW2=20H (送B1H端口),ICW4=03H (送B1H端口)

MOV OUT MOV OUT MOV OUT

8.8259A的中断屏蔽寄存器IMR与8086中断允许标志IF有什么区别? 答:IF是8086微处理器内部标志寄存器的一位,若IF=0,8086就不响应外部可屏蔽中断请求INTR引线上的请求信号。8259A有8个中断请求输入线,IMR中的某位为1,就把对应这位的中断请求IR禁止掉,无法被8259A处理,也无法向8086处理器产生INTR请求。

9.若8086系统采用单片8259A中断控制器控制中断,中断类型码给定为20H,中断源的请求线与8259A的IR4相连,试问:对应该中断源的中断向量表入口地址是什么?若中断服务程序入口地址为4FE0H:0024H,则对应该中断源的中断向量表内容是什么,如何定位?

答:中断向量表入口地址为:0段的0090H地址。对应4FE24H中断服务程序入口,在向量表中定位情况:(0090H)=24H、(0091H)=00H、(0092H)=E0H、(0093H)=4FH。

AL,1BH 0B0H,AL AL,20H 0B1H,AL AL,03H 0B1H,AL

第6、7、8章 输入/输出接口技术

一、选择题

1.8086CPU在执行IN AL,DX指令时,DX寄存器的内容输出到( A )上。 A. 地址总线 B. 数据总线 C. 存储器 D. 寄存器

2.在CPU与外设进行数据传送时,下列( C )方式可提高系统的工作效率。 A. 无条件传送 B. 查询传送 C. 中断传送 D. 前三项均可 3.外部设备的端口包括 ( ABC )。

17

A. 数据端口 B. 状态端口 C. 控制端口 D. 写保护口 4.CPU 在数据线上传输的信息可能是 ( ABC )。 A. 数据 B. 状态 C. 命令 D. 模拟量 5.PC/XT机对I/O端口的寻址方式有( AF )。 A. 端口直接寻址 B. 寄存器寻址 C. 基址寻址 D. 变址寻址 E. 寄存器相对寻址 F. DX 间接寻址

6.PC机在和I/O端口输入输出数据时,I/O数据须经( AE )传送。 A. AL B. BL C. CL D. DL E. AX F. BX G. CX H. DX 7.I/O接口电路中,8255控制口可能使用的端口地址只能是( D )。 A. 00H B. 01H C. 04H D. 07H

8.程序查询I/O的流程总是按( B )的次序完成一个字符的传输。 A. 写数据端口,读/写控制端口 B.读状态端口,读/写数据端口 C. 写控制端口,读/写状态端口 D. 随I/O接口的具体要求而定。 9.由( D )引脚的连接方式可以确定8255的端口地址。 A. RD、CS B. WR、A0 C. A0、A1 D. A0、A1、CS 10.若8255A接口芯片的A口工作在方式2时,B口可以工作在(D )。 A. 方式0 B. 位控方式 C. 方式2 D. 方式0或方式1 11.在CPU与外设之间设计接口电路的目的主要有(ABCD)。 A. 解决驱动能力问题 C. 完成数据形式转换

B. 控制数据传输速度 D. 负责CPU与外设的联络

二、填空题

1.对I/O端口的编址一般有 外设与内存统一编址 方式和外设与内存独立编址 方式。PC机采用的是 独立编址 方式。

2.在PC系列微机中,I/O指令采用直接寻址方式的I/O端口有 256 个。采用DX间接寻址方式可寻址的I/O端口有 64K 个。

3.数据的输入/输出指的是CPU与 外设 进行数据交换。

4.数据输入/输出的四种方式是 无条件传送方式 、条件传送方式、 中断方式 和 DMA传送方式 。

5.CPU在执行OUT DX,AL指令时, DX 寄存器的内容送到地址总线上, AL 寄存器的内容送到数据总线上。

6.当CPU执行IN AL,DX指令时,M/IO引脚为 低 电平,RD为 低 电平, WR为 高电平。

三、判断对错并说明原因

1.一个外设总是只能对应一个端口地址。

错误原因:一个外设不一定只对应一个端口地址,可能有数据端口、控制端口

18

和状态端口。

2.每个I/O接口中都应具备数据端口、控制端口和状态端口。 错误原因:无条件传送方式下的接口就无需状态端口。

3.通过对8255进行初始化编程可使其三个端口都工作在双向方式下。 错误原因:只有A口能工作在双向方式下。

四、综合题

1.简述接口编址的方法及其特点。

答:给接口编地址,主要有两种方法:独立编址和统一编址。

统一编址是指将端口和存储单元一起进行分配地址,即端口地址占用存储空间的一部分,使得存储空间减少了,但对端口的访问正如对存储单元的访问一样灵活,不需设置专门的访问端口的指令(即I/O指令)。

单独编址是指单独对端口进行地址分配,端口地址不占用存储空间,但对端口的访问需专门的指令(即I/O指令)。

2.微机通过接口与外设交换数据的指令有哪些?并写出所有的格式。 答:有输入和输出两条指令,其格式各有四种:

IN AL,n OUT n,AL IN AX, n OUT n, AX IN AL,DX OUT DX, AL IN AX,DX OUT DX,AX

3.设8253计数器的时钟输入频率为1.91MHz,为产生25KHz的方波输出信号,应向计数器装入的计数初值为多少?

答: 1.19MHz25KHz?76.4 应向计数器装入的初值是76。

4.设8253三个计数器的端口地址为201H、202H、203H,控制寄存器端口地址200H。输入时钟为2MHz,让1号通道周期性的发出脉冲,其脉冲周期为1ms,试编写初化程序段。

答:

要输出脉冲周期为1ms,输出脉冲的频率是1(1?10?3)?1000,当输入时钟频率为2MHz时,计数器初值是2MHz1000?2000

使用计数器1,先读低8位,后读高8位,设为方式3,二进制计数,控制字是76H。设控制口的地址是200H,计数器0的地址是202H。程序段如下:

MOV MOV OUT

DX,200H AL,76H DX,AL

19

MOV MOV OUT MOV OUT

DX,202H AX,2000 DX,AL AL,AH DX,AL

3.如图所示,将8255的C端口接8个发光二极管,使这8个发光二极管依次亮灭,其中74LS138译码器与地址总线已经连接正确。

(1)C口端口地址为多少?控制口端口地址为多少? (2)按位置位/复位字0FH含义是什么?

(3)试编写实现8个发光二极管循环亮灭的程序。(已知有一个延时1秒的子程序,其入口地址为DELAY1S)。

答:(1)C口端口地址为3EAH,控制口端口地址为3EBH。 (2)按位置位/复位字0FH含义是将PC7置1。 (3)

L1:

MOV MOV OUT MOV MOV OUT LCALL ROL JMP HLT

DX,3EBH AL,80H DX,AL DX,3EAH AL,01H DX,AL DELAY1S AL,1 L1

20

5.用8253实现每隔1s产生一个负脉冲,已知8253的时钟频率为2MHz,(1)写出8253的端口地址;(2)编写8253的初始化程序。

答:(1)8253的端口地址为

(2)1/2MHz=0.5us 0.1s/0.5us=2000000>65535,应采用两个计数器级联,

可定义0#计数器工作在方式3(方波发生器),计数初值为20000,1#计数器工作在方式2(频率发生器),计数初值为100。

MOV MOV OUT MOV OUT MOV MOV OUT MOV OUT MOV

DX,0DF83H AL,00110110B DX,AL AL,01010100B DX,AL DX,0DF80H AX,20000 DX,AL AH,AL DX,AL DX,0DF81H

DF80H,DF81H,DF82H,DF83H

21

MOV AL,100

OUT DX,AL

6.IBM-PC/XT计算机系统接口芯片连接如图所示,AEN低电平选中端口。

(1)试说明各芯片使用的端口地址。 答:8259:20H,21H

8253:40H,41H,42H,43H (2)初始化各芯片。

1)单片8259工作在完全嵌套方式,中断申请输入IR0~IR7为边沿触发,IR0的中断号为08H,试写出8259初始化程序段。

答:

INT00 EQU 20H INT01 EQU 21H

MOV AL,13H OUT INT00,AL MOV AL,08H OUT INT01,AL MOV AL,09H OUT INT01,AL

2)8253的定时器0和定时器2工作在方式2,定时器0的定时时间为25mS,定时器2的输出频率为896HZ,试写出8253初始化程序段。

答:CTC0 EQU 40H

CTC1 EQU 41H CTC2 EQU 42H CTCC EQU 43H

MOV AL,36H ;通道0 OUT CTCC,AL MOV AX,7485H OUT CTC0,AL

22

OUT CTC0,AL

MOV AL,0B6H ;通道2 OUT CTCC,AL MOV AX,533H OUT CTC2,AL MOV AL,AH OUT CTC2,AL

第9章 串行通信技术及其接口芯片

一、填空题

1.如果串行传输速率是2400波特,则数据位的时钟周期是 4.17×10-4 秒。 2.设串行异步传送的数据格式是7个数据位、1个停止位、1个校验位,波特率为2400,则每秒钟传送的最大字符数为 240 个。

3.为使传送过程更可靠,在串行异步通信接口中设立了三种出错标志,分别是溢出错 、 格式错 和奇偶错。

4.串行通信根据其连接方式的不同可分为单工、 单双工 和 全双工 等三种。 5.设8251A工作于异步方式,收发时钟频率为38.4KHz,波特率为2400。数据格式为7位数据位,1位停止位,偶校验,则8251A的方式字为 7AH 。

二、单项选择题

1.串行同步传送时,每一帧数据都是由( D )开头的。 A.低电平 B.高电平 C.起始位 D.同步字符

2.RS232是一种常用的串行总路线标准,它规定逻辑“0”对应的电平是(C)。 A.0~+1.8V B. +2.8~+5V C. +3~+15V D. -15~-3V 3.现行PC机中打印机与主机的接口标准大多采用( C )。 A.IDE

B.Centoronics C.RS-232C D.SCSI

4.USB——通用串行总线实际上是一个万能插口,目前在PC机上都有USB连接器插座,USB连接器为( C )芯连接器。 A.2

B.3

C.4

D.5

5.8251A的方式控制字(即模式字)的作用是( A )。

A.决定8251的数据格式 B.决定8251的数据格式和传送方向 C.决定8251何时收发 D.以上都不对

6.在数据传输率相同的情况下,同步字符串送的速度高于异步字符传输,其原因是( D )。 A.字符间无间隔

B.双方通信同步 D.附加位信息总量少

C.发生错误的概率少

7.异步串行通信中,收发双方必须保持( C )。

23

A.收发时钟相同 B.停止位相同 D.以上都正确

C.数据格式和波特率相同 A.可用作并行接口

8.可编程通信接口芯片8251A( D )。

B.仅可用作异步串行接口

D.可用作同步、异步串行接口

C.仅可用作同步串行接口

三、综合题

1.什么是并行接口和串行接口?它们各有什么作用?

答:并行接口是指接口与外设之间按字长传送数据的接口,即4位、8位或16位二进制位同时传送;而串行接口是指接口与外设之间依时间先后逐位传送数据的接口,即一个时刻只传送一个二进制位。

并行接口传送速度较快,但在远距离传送数据时成本高,损耗大,且平行数据线之间干扰大,所以并行接口一般适用于近距离的高速传送,而串行接口则适用于远距离传送。

2.一个异步串行发送器,发送具有8位数据位的字符,在系统中使用一位作偶校验,2个停止位。若每秒钟发送100个字符,它的波特率和位周期是多少?

答:每个字符需要的发送位数是12位(数据位8位,校验位1位,停止位2位,起始位1位)。每秒发送100个字符共1200位。因此波特率为1200波特,位周期≈833μs。

3.全双工和半双工通信的区别是什么?在二线制电路上能否进行全双工通信?为什么?

答:全双工和半双工通信,双方都既是发送器又是接收器。两者的区别在于全双工可以同时发送和接收。半双工不能同时双向传输,只能分时进行。在二线制电路上是不能进行全双工通信的,只能单端发送或接收。因为一根信号线,一根地线,同一时刻只能单向传输。

4.同步传输方式和异步传输方式的特点各是什么?

答:同步传输方式中发送方和接收方的时钟是统一的、字符与字符间的传输是同步无间隔的。异步传输方式并不要求发送方和接收方的时钟完全一样,字符与字符间的传输是异步的。

5.在异步传输时,如果发送方的波特率是600,接收方的波特率是1200,能否进行正常通信?为什么?

答:不能进行正常通信,因为发送方和接收方的波特率不同,而接收端的采样频率是按传输波特率来设置。

24

6.试对一个8251A进行初始化编程,要求工作在内同步方式,2个同步字符,7位数据位,奇校验,1个停止位。

答:方式字是:00011000B=18H 程序段如下: XOR AX,AX MOV DX,PORT OUT DX,AL OUT DX,AL

OUT DX,AL ;向8251的控制口送3个00H MOV AL,40H

OUT DX,AL ;向8251的控制口送40H,复位 MOV AL,18H

OUT DX,AL ;向8251送方式字 MOV AL,SYNC ;SYNC为同步字符 OUT DX,AL

OUT DX,AL ;输出2个同步字符 MOV AL,10111111B

OUT DX,AL ;向8251送控制字

模拟试题(一)

一、单选题

1.在8086宏汇编过程中不会产生指令码,只用来指示汇编程序如何汇编的指令是 。

A. 汇编指令

B. 伪指令

C. 机器指令

D. 宏指令

2.在CMP AX,DX指令执行后,当标志位SF、OF、ZF满足下列逻辑关系(SF⊕OF)+ZF=0时,表明 。

A. (AX) > (DX)

B. (AX) ≥ (DX) C. (AX) < (DX)

D. (AX) ≤ (DX)

3.8086微机系统的RAM存储单元中,从0000H:002CH开始依次存放23H,0FFH,00H,和0F0H四个字节,该向量对应的中断号是 。

A. 0AH

B. 0BH

C. 0CH

D. 0DH

4.8255的A口工作在方式1输入时,其中断允许控制位INTE的开/关是通过对 的按位置位/复位操作完成的。

A. PC0

B. PC2

C. PC4

D. PC6

5.在8086中断优先级顺序中,最低优先级的中断源是 。

25

A. 单步陷阱中断 B. INTR C. 被零除 D. 断点

6.在 PC/XT中,设(AX)=9305H,(BX)=6279H,若ADD BX,AX指令后接着INTO指令则会 。

A. 进入 INTO中断服务子程序 C. 死机

B. 执行 INTO后面的指令 D. 显示器显示 OVERFLOW

7.有一微机系统,采用CPU的低10位地址线A0~A9作为输入输出口的地址线,系统中接口芯片内部有16个端口地址,该接口芯片的片选信号由地址译码器产生,则地址译码器的输入地址线一般应为( )。

A. A5~A9

B. A4~A9

C. A2~A9

D. A0~A9 B. 计数初值 D. 0

8.CPU可以对8253计数器进行读操作,其读到的是( )。 A. 工作方式字

C. 计数执行部件CE(减一计数单元)的当前值 调试的程序。

A. RAM

B. ROM

C. PROM

D. E2PROM

10.8259A工作在8086/8088模式时,初始化命令字ICW2用来设置 。 A. 中断向量地址的高8 位 C. 中断向量的高5位

B. 中断类型号地址的高5位 D. 中断类型号的高5位

9.在一个项目或产品研制的过程中,通常采用 ____ 类型的存储芯片来存放待

二、判断题

( )1.控制器的基本功能是:由程序计数器PC控制程序的有序运行,并完成各种算术逻辑运算。

( )2.8086的一个汇编源程序可以只有一个段。

( )3.奇校验的含义是:待传送的数据加上校验位中的“0”的个数为奇数表示正确。

( )4.字长一定的情况下,原码、反码和补码所能表示的二进制真值范围是相同的。

( )5.(6.51)O >(3.FC)H。

( )6.8086系统中,每个存储单元都只对应一个唯一的物理地址和一个唯一的逻辑地址。

( )7.8086的中断分为可屏蔽中断和不可屏蔽中断两种。

( )8.串行接口中“串行”的含意仅指接口与外设之间的数据交换是串行的,而接口与CPU之间的数据交换仍是并行的。

三、填空题

1.设模为28,则52的补码为 _____H,-14的补码为 ______H,-0的反码为 _____H。

2.设内存中一个数据区的起始地址是1020H:0A1CBH,在存入5个字数据

26

后,该数据区的下一个可以使用的单元的物理地址是 ________________。

3.8086根据所构成系统大小的不同,可以工作在最大方式或最小方式。在最大方式下,系统需使用 ________ 来形成总线周期。

4.微机系统内,按信息传输的范围不同,可有 ______,_________,_______,________等四级总线。

5.CPU对外设进行数据传送的方式有三种,即 __________,___________,或___________。

6.汇编指令通常包括 ___________ 和 __________ 两部分。

7.8086系统中,默认方式下对指令寻址由寄存器 ________ 和 _______ 完成,而堆栈段中的偏移量可由寄存器 ________ 或 _________ 来指示。

8.程序存储与程序控制原理的含义是 ________________________________ 。

四、程序阅读

1.下面的程序通过子程序调用,将数组ARRAY的COUNT个元素求和,并将结果送SUM单元,分析这段程序后,补充完整程序中的空格部分。

SUM DW ?

ARRAY DW 200 DUP(?) COUNT DW 200 ┆ MOV PUSH MOV PUSH MOV PUSH CALL LABEL1:

BX, OFFSET SUM BX

BX, OFFSET ARRAY BX

BX, OFFSET COUNT BX SUMPRO

SUMPRO PROC

PUSH PUSH PUSH PUSH PUSH MOV MOV MOV MOV MOV XOR NEXT:ADD

INC SI INC SI

AX BX SI DI

NEAR

BP BP, SP

SI, [BP+ ] ;得到ARRAY的地址 DI, [BP+ ] ;得到COUNT的地址 CX, [DI]

DI, [BP+ ] ;得到SUM的地址 AX, AX AX, [SI]

27

LOOP MOV POP POP POP POP POP

NEXT

[ ], AX ;送求和结果 DI SI BX AX

RET 6

SUMPRO ENDP

2.设有100个字节数据(补码),存放在数据段中EA=2000H的存储区内,以下程序应能从该数据区中找出最大的1个数并存入同一数据段EA=2100H的单元中,请完成该程序(在空白处填入适当的语句)。

MAX:

MOV BX, MOV AL,[BX] MOV CX, LOOP1: INC BX

CMP AL,[BX]  LOOP2 MOV AL,[BX]

LOOP2: DEC CX

JNZ MOV ,AL

五、存储器编址

某系统有一片EPROM2716,它与CPU地址总线的

连接如图,写出此EPROM的地址空间范围。

六、综合应用

有如题六图键盘电路,试编写8255初始化程序和键值读取程序,并将键值序号在LED七段数码管显示出来。

七、设计题

设外部有一脉冲信号源PLUS,要求用8253—5的计数器0对该信号源连续计数,当计数器计为0时向CPU发出中断请求。

1、画出8253-5的CLK0、GATE0和OUT0的信号连接图。

2、若该芯片的端口地址为40H~43H,计数初值为1234H,写出该计数器工作

28

在方式2按二进制计数的初始化程序。

3、若计数初值为12345H,在上述基础上增加计数器1如何连接以实现计数。

参考答案

一、单选题

BABCA BBCDD

二、判断题 ×√××√ ××√

三、填空题

1、34H,0F2H,0FFH 2、1020H:0A1D5H 或1A3D5H 3、总线控制器8288 4、片内总线,片(间)总线,系统内总线,系统外总线 5、程序方式,中断方式,DMA方式 6、操作码,操作数 7、CS,IP,SP,BP

8、用户应预先将程序存入存储器,计算机开始工作后,其控制器将自动、依次地从存储器中取出程序指令并加以执行,而不需人工干涉。 四、程序阅读

1. 14 12 16 DI BP。 2.2000H,99,JGE,LOOP1,[2100H] 五、存储器编址 A000H~A3FFH 六、综合应用 一种可能的程序实现如下:

DATA SEGMENT ;数据段中存放数字0 ~ 9的LED显示代码

LED DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA START: MOV AX,DATA

MOV DS,AX MOV DX,203H ;送8255工作方式字:A口方式0输出, MOV AL,10001000B;C口上半部输入,下半部输出 OUT DX,AL MOV CX,3 ;准备键扫

MOV AL,0FEH ;送第一行扫描码:PC0=0 MOV BH,-1 ;BH=-1表示第一行无键按下 S_NEXT: MOV DX,202H ;从8255C口下半部送键扫描码

OUT DX,AL MOV BL,AL IN AL,DX ;从8255C口上半部读按键状态 AND AL,70H CMP AL,70H ;(AL)=70H表示无键按下 JNZ DISP ;有键按下,转到显示处理 MOV AL,BL RCL AL,1 ADD BH,3 ;准备检查第二行(PC1=0)键状态 LOOP S_NEXT JMP EXIT DISP: MOV CL,4 ;根据AL值计算键值

SHR AL,CL NN: INC BH

29

RCR AL,1 JC NN

MOV AH,0 ;查表取键值显示码 MOV AL,BH MOV SI,AX

MOV AL,LED[SI] MOV DX,200H ;从8255A口送显示码,驱动LED显示 OUT DX,AL

EXIT: MOV AX,4C00H ;退出

INT 21H CODE ENDS

END START

七、1、

2、 MOV AL,34H OUT 43H,AL

MOV AL,34H OUT 40H,AL MOV AL,12H OUT 40H,AL

3、PLUS作CLK0的输入,OUT0的输出作CLK1的输入信号。OUT1的输出作CPU的请求信号。用两个计数器串联计数实现20位二进制的计数。

模拟试题(二)

一、填空

1、设字长为八位,有x= ?1,y=124,则有:[x?y]补=_________, [x?y] 补

=__________;

2、数制转换:247.86= H =______________BCD;

3、在8086CPU中,由于BIU和EU分开,所以_____和_____可以重叠操作,提高了CPU的利用率;

4、8086的中断向量表位于内存的 区域,它可以容纳 个中断向量,每一个向量占 个字节;

5、8086系统中,地址FFFF0H是___________________ 地址; 6、8086CPU的MNMX引脚的作用是____________________; 7、8251芯片中设立了_____、_____ 和______三种出错标志;

8、8086CPU中典型总线周期由____个时钟周期组成,其中T1期间,CPU输出______信息;如有必要时,可以在__________两个时钟周期之间插入1个或多个TW等待周期。

9、8259A共有___个可编程的寄存器,它们分别用于接受CPU送来的______命

30

令字和________命令字。

二、简答题

1、什么是信号的调制与解调?为什么要进行调制和解调?试举出一种调制的方式。

2、已有(AX)=E896H,(BX)=3976H,若执行ADD BX,AX指令,则BX、AX、标志位CF、OF、ZF各为何值?

3、自行设计一个可独立工作的8086单板机,板上共有64KB存储器,其中32KB为EPROM,物理地址分配在0~07FFFH,另外32KB为静态RAM,物理地址分配在F8000~FFFFFH。问此方案是否可行?并说明原因。

4、已有MOV AL,INF[BP?SI]与MOV AL,ES:INF[BP?SI]两条指令,试问:其源操作数采用何种寻址方式?是字或是字节操作?两条指令有何区别?

三、读图

下图中,AB7~AB0为8086CPU低八位地址总线 试问:1、8259A占用____个端口地址,分别为______,其中ICW1的设置地址为_____;

2、8255A占用____个端口地址,分别为________,其中控制寄存器的地址为_______。

四、判断题(下列各题,请在正确的题的括号内打“√”,错误的请打“×”。)

( )1、8253在不同的工作方式中,计数到0时,都会从OUT输出一个相同的信号。

( )2、CPU寻址外设时,存储器对应的I/O方式是把外设端口作为存储单元来看待。

( )3、用软件确定中断优先权时,只要改变查询的顺序,即可以改变中断的优先权。

( )4、在8259A级连系统中,作为主片的8259A的某些IR引脚连接从片,同时也可以在另一些IR引脚上直接连接外设的中断请求信号端。

五、阅读程序与接口芯片初始化

1.源程序如下:

MOV CL,4 MOV AX,[2000H]

31

SHL AL,CL SHR AX,CL MOV [2000H],AX

试问:?若程序执行前,数据段内(2000H)=09H,(2001H)=03H, 则执行后有(2000H)=_____ ,(2001H)=______。

?本程序段的功能_________________________。 2.源程序如下:

MOV AL,0B7H AND AL,0DDH XOR AL,81H OR AL,33H JP LAB1 JMP LAB2

试问:?执行程序后AL=_______; ?程序将转到哪一个地址执行:__________。 3.源程序如下:

MOV CX,9 MOV AL,01H MOV SI,1000H NEXT: MOV [SI],AL INC SI SHL AL,1 LOOP NEXT

试问:?执行本程序后有:AL=_____;SI=______;CX=______; ?本程序的功能是______________________________。 4.某系统中8253占用地址为100H~103H。初始化程序如下:

MOV DX, 103H MOV AL, 16H OUT DX,AL SUB DX, 3 OUT DX, AL

试问:?此段程序是给8253的哪一个计数器初始化?安排工作在哪种工作方式?

?若该计数器的输入脉冲的频率为1MHZ,则其输出脉冲的频率为:___________。

5.已知某8255A在系统中占用88~8BH号端口地址,现欲安排其PA,PB,PC口全部为输出,PA,PB口均工作于方式0模式,并将PC6置位,使PC3复位,试编写出相应的初始化程序。

六、编程

已知某输入设备的数据端口地址为40H,状态端口地址为41H,其中D0位为“1”时,表示“READY”状态。试编程实现:

32

?采用查询方式从该设备输入20个ASCII码表示的十进制数,并求出这20个十进制数的累加和;

?将此累加和转换成BCD码,并存放到NBCDH(百位数)和NBCDL(存十位和个位数)单元中。

注:只要求写出程序的可执行部分,可以不写任何伪指令。

参考答案

一、

1、01111011 10000011 2、F7?DCH 001001000111?10000110 BCD 3、取指令 执行指令 4、00000H~003FFH区 256 4

5、CPU复位以后执行第一条指令的 6、决定CPU工作在什么模式(最小/最大)

7、奇/偶错 帧格式错 溢出错 8、4个 地址 T3和T4 9、7个 初始化 操作 二、

1、调制是将数字信号?模拟信号。而解调则是相反。

串行长距离通信时,需要利用模拟信道来传输数字信号,由于信道的频带窄,一般为300~3400HZ,而数字信号的频带相当宽,故传输时必须进行调制,以免发生畸变而导致传输出错。

例如FSK制(调频制或称数字调频)可将数字“1”和“0”分别调制成2400HZ和1200HZ的正弦波信号。

2、BX=220CH AX=E896H CF=1 OF=0 ZF=0

3、答:方案不可行,因8086的低端内存为RAM区,高端应为ROM区。 4、源操作采用相对基址变址寻址方式 是字节操作 MOV AL,INF[BP+SI]—访问的是堆栈段

MOV AL,ES:INF[BP+SI]—访问的是附加段,实现了段超越 三、

? 8259A占2个 为20H,22H或24H,26H 20H或24H ? 8255A占4个 为80H,82H,84H,86H 86H 四、

×√√√ 五、 1、 (2000H)=39H (2001H)=00H 将(2000H),(2001H)两相邻单元中存放的未组合型BCD码压

缩成组合型BCD码,并存入(2000H)单元,0?(2001H)

2、37H LAB2 3、0 1009H 0 对数据段内1000H~1008H单元置数,依次送入1,2,

4,8,16,32,64,128,0共九个 4、计数器0 工作于方式3

45.454KHz

5、 MOV AL, 80H OUT 8BH,AL MOV AL,ODH OUT 8BH,AL

MOV AL,06H

OUT 8BH,AL

六、 MOV CX,20

MOV BL,0 INLOOP:IN AL,41H TEST AL,01H JZ INLOOP IN AL,40H

AND AL,0FH ;ASCII十进制 (BCD) ADD BL,AL

33

LOOP INLOOP ; 共输入20个 MOV AL,BL ;累加和?AL MOV AH,0

MOV BL,100 DIV BL ;AX?BL?AL,余数?AH MOV NBCDH,AL ; 存百位数 MOV AL,AH MOV AH,0 MOV BL,10 DIV BL ;十位数?AL,个位数?AH MOV CL,4 ROL AL,CL ;AL循环左移四位 OR AL,AH ;形成组合型BCD码 MOV NBCDL,AL ; 存十位,个位数 HLT

模拟试题(三)

一、填空题

1、将十进制数279?85转换成十六进制数、八进制数、二进制数及BCD码数分别为:________H,________Q,_____B, BCD。

2、字长为8位的二进制数10010100B,若它表示无符号数,或原码数,或补码数,则该数的真值应分别为______D,______D或______D。

3、已知(BX)=7830H,CF=1,执行指令:ADC BX,87CFH之后,(BX)=__________,标志位的状态分别为CF=_____,ZF=_____,OF=_____,SF=______。

4、8086中,BIU部件完成 功能,EU部件完成 功能。 5、8086中引脚BHE信号有效的含义表示____________________________。 6、8086正常的存储器读/写总线周期由________个T状态组成,ALE信号在__________状态内有效,其作用是______________。

7、设8086系统中采用单片8259A,其8259A的ICW2=32H,则对应IR5的中断类型号为____________H,它的中断入口地址在中断向量表中的地址为____________________H。

二、简答及判断题

1、某指令对应当前段寄存器(CS)=F000H,指令指针寄存器(IP)=FF00H,此时,该指令的物理地址为多少?指向这一物理地址的CS值和IP值是唯一的吗?试举例说明。

2、8086CPU的Flags寄存器中,状态标志和控制标志有何不同?程序中是怎样利用这两类标志的?

3、设采用8251A进行串行异步传输,每帧信息对应1个起始位,7个数据位,1个奇/偶校验位,1个停止位,波特率为4800,则每分钟能传输的最大字符数为多少个?

34

4、判断下列指令的对错(正确的在括号内打 “√”,错的打 “×”) (1) LEA SI, 4[SI] ( ) (3) XCHG

(5) POP CS ( )

(2) MOV

AL, [CX] ( )

WORD PTR[BX] ( )

[SI], [BX] ( ) (4) PUSH

三、读图和作图题

1、8086系统中接口连接关系如下图所示。要求回答以下问题: (1) 试分别确定8255,8253,8259及8251的端口地址; 8255的端口地址为:___________________________________; 8253的端口地址为:___________________________________; 8259的端口地址为:___________________________________; 8251的端口地址为:___________________________________; 对PA口操作的I/O指令为_______________________________; 对PB口操作的I/O指令为______________________________。

(2) 设8255的PA口为输出,PB口为输入,试写出对PA口和PB口执行输入/输出操作的指令。

ALEAD7~AD0G373A7~A08086CPUM/IOA6A5A4C B AA7A0Y0Y1G1138G2AG2BY2Y3A2A1CS8253A1A0CSA2A18255A1A0A1CS8251A0A1CS8259C/D 2、作图题。

系统采用4个接口芯片:8253,8251,8259及8255。要求8253的通道0用作实时时钟,每当定时时间到之后向8259的IR2送入中断申请信号。8253通道1用作方波发生器作为8251的收发时钟脉冲。8253通道0,通道1的门控信号由8255PC口的PC3和PC2控制。

(1)画出4个芯片之间控制线的连接图; (2)8253的两个通道应分别工作在什么方式?

四、程序阅读题

1、源程序如下:

MOV AH, 0 MOV AL, 9 MOV BL, 8

35

ADD AL, BL AAA AAD DIV AL

结果AL_________,AH=___________,BL=_____________。 2、源程序如下:

MOV AX,SEG TABLE ;TABLE为表头 MOV ES,AX

MOV DI,OFFSET TABLE MOV AL,?0? MOV CX,100 CLD

REPNE SCASB

问:1)该段程序完成什么功能?

2)该段程序执行完毕后,ZF和CX有几种可能的数值?各代表什么含义? 3、源程序如下:

CMP AX,BX JNC L1 JZ L2 JNS L3 JNO L4 JMP L5

设(AX)=74C3H,(BX)=95C3H,则程序最后将转到哪个标号处执行?试说明理由。

4、源程序如下:

MOV

MOV OUT MOV DEC DEC OUT MOV OUT

DX,143H AL,77H DX,AL AX,0 DX DX DX,AL AL,AH DX,AL

设8253的端口地址为140H~143H,问: (1)程序是对8253的哪个通道进行初始化? (2)该通道的计数常数为多少?能计多少脉冲?

(3)若该通道时钟脉冲CLK的周期为1μs,则输出脉冲OUT的周期为多少μs?

五、编程题

1、8255的编程。设8255的端口地址为200H~203H。

(1)要求PA口方式1,输入;PB口方式0输出;PC7~PC6为输入;PC1~PC0

36

为输出。试写出8255的初始化程序。

(2)程序要求当PC7=0时置位PC1,而当PC6=1时复位PC0,试编制相应的程序。

2、自BUFFER开始的缓冲区有6个字节型的无符号数:10,0,20,15,38,236,试编制8086汇编语言程序,要求找出它们的最大值、最小值及平均值,分别送到MAX、MIN和AVI三个字节型的内存单元。

要求按完整的汇编语言格式编写源程序。

参考答案

一、

1、117.D99H 427.6631Q 000100010111.110110011001B 0010 01111001.1000 0101 2、148D -20D -108D 3、(BX)=0000H CF=1 ZF=1 OF=0 SF=0 4、总线接口功能 指令的译码及执行功能 5、高8位数据线D15~D8有效

6、4 T1 给外部的地址锁存器提供一个地址锁存信号 7、35H 000D4H~000D7H 二、

1、物理地址为0FFF00H。

指向该物理地址的CS,IP值不唯一。

例如:CS:IP=FF00:0F00H也指向该物理地址。

2、状态标志表示算术运算或逻辑运算执行之后,运算结果的状态,这种状态将作为一种条件,影响后面的操作。

控制标志是人为设置的,指令系统中有专门的指令用于控制标志的设置或清除,每个控制标志都对某一特定的功能起控制作用。

3、每帧占1?7?1?1=10位,波特率为4800 bit/s,每分钟能传送最大字符数为4800*60/10=28800个 4、√××√× 三、 1、 (1) A7 A6 A5 1 0 0 1 0 0 1 0 1 1 0 1 A4 0 1 0 1 A3 任意 任意 任意 任意 A2 ? ? ? ? A1 ? ? ? ? A0 0 0 0 0 8255的端口地址为 80H,82H,84H,86H 8253的端口地址为 90H,92H,94H,96H 8259的端口地址为 A0H,A2H, 8251的端口地址为 B0H,B2H, OUT 80H,AL 或IN AL,80H OUT 82H,AL 或IN AL,82H

/Y0 /Y1 /Y2 /Y3 (2) OUT 80H, AL IN AL, 82H

2、 (1) 控制线连接图如图所示。

(2) 通道0工作在方式2——速率发生器;通道1工作在方式3——方波速率发生器 四、

1、 (AL)=01H (AH)=00H

(BL)=08H

2、(1) 从目的串中查找是否包含字符 ?0?,若找到则停止,否则继续重复搜索。 (2) ZF=1, 说明已找到字符

ZF=0, 说明未找到字符

CX?0,说明中途已找到字符退出CX=0,且ZF=0说明串中无字符 ?0? 3、 ∵ 74C3H

? 95C3H

37

PC38255PC2OUT0GATE08253OUT1GATE1IR28259?8251R×CT×C DF00H

且有:CF=1, ZF=0, SF=1, OF=1 ? 程序将转到L5标号处执行。

4、(1)程序对8253的通道1进行初始化。 (2)计数常数为0,能计10000个脉冲。 (3)周期=10000?1μs=10000μs=10ms 五、

1、(1) MOV DX,203H

MOV AL,10111000B OUT DX,AL (2) MOV DX,202H

IN AL,DX MOV AH,AL TEST AL,80H JNZ NEXT1 MOV DX,203H

MOV AL,00000011B ;对PC1置位 OUT DX,AL

NEXT1:MOV AL,AH

TEST AL,40H JZ NEXT2

MOV AL,00000000B ;对PC0复位 MOV DX,203H OUT DX,AL

NEXT2:………

2、DATA SEGMENT BUFFER DB 10,0,20,15,38,236 MAX DB 0 MIN DB 0 AVI DB 0

DATA ENDS

STACK SEGMENT PARA STACK?STACK? DW 100 DUP (?) STACK ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACK START PROC FAR BEGIN: PUSH DS MOV AX,0 PUSH AX MOV AX,DATA MOV DS,AX LEA DI,BUFFER MOV DX,0 ;使DH=0,DL=0 MOV CX,6 MOV AX,0 ;和清0 MOV BH,0 ;最大值 MOV BL,0FFH ;最小值

LOP1: CMP BH,[DI] JA NEXT1 ;若高于转移 MOV BH,[DI] ;大值?BH JMP NEXT2

NEXT1: CMP BL,[DI] ; JB NEXT2 ;若低于转移 MOV BL,[DI] ;小值?BL

NEXT2: MOV DL,[DI] ;取一字节数据

38

ADD AX,DX INC DI LOOP LOP1 MOV MAX,BH MOV MIN, BL MOV DL,6 DIV DL MOV AVI,AL ; 累加和

;送大值 ;送小值 ;求平均值 ;送平均值

RET

START ENDP CODE ENDS

END BEGIN

39

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

Top