32位微型计算机原理理,这道简答题做下

微机原理怎么突击复习啊
汇编语言好累啊,还有九天考试,应该怎么突袭复习啊,这次真的感觉好累啊,心塞塞的,有前辈给指条明路吗
这些回帖亮了
我想说明天早上8点考微机,今天中午才开始看。人有多大胆,复习有多晚。。。
发自手机虎扑
我想说明天早上8点考微机,今天中午才开始看。人有多大胆,复习有多晚。。。
发自手机虎扑
我要是给你看我当年复习汇编的笔记,你估计就能下决心直接去睡觉了~~
PS:本人非计算机专业
引用2楼 @ 发表的:我要是给你看我当年复习汇编的笔记,你估计就能下决心直接去睡觉了~~
PS:本人非计算机专业
我机械专业啊
引用3楼 @ 发表的:
我机械专业啊
怕是来不及了,抱大腿去把
现在还有不开卷的微机原理?
引用5楼 @ 发表的:
现在还有不开卷的微机原理?
我们就是……一个死板的要命的老头,据说经常给59……
这个突击不来 尽量填满背几道例题
引用3楼 @ 发表的:
我机械专业啊
微机机简单,不懂也会考过,不要问我为什么
人有多大胆,复习拖多晚
尽量从头到尾重点摸一遍
理清整个脉络,做到心中有数
然后就可以准备明年的重修了
当初我就是这么做的,
事实证明做的对,因为我确实重修了。。。
微波。电磁。微机原理。突击也就是临时背背大概的内容。祝好运。
微机原理你只要把控制器如何从内存里取出指令,然后指令如何解析,解析了之后运算器和控制器又要干嘛搞清楚,就足够你拿70+了
一天可能有点悬,祝你好运。
做小抄吧,我背了N天老师钩的原题还挂到清考
发自手机虎扑
引用12楼 @ 发表的:
微机原理你只要把控制器如何从内存里取出指令,然后指令如何解析,解析了之后运算器和控制器又要干嘛搞清楚,就足够你拿70+了
一天可能有点悬,祝你好运。
我还有九天
引用10楼 @ 发表的:尽量从头到尾重点摸一遍
理清整个脉络,做到心中有数
然后就可以准备明年的重修了
当初我就是这么做的,
事实证明做的对,因为我确实重修了。。。
卧槽……感觉是在准备后事啊
引用7楼 @ 发表的:这个突击不来 尽量填满背几道例题
好的,硬上例题了
引用12楼 @ 发表的:
微机原理你只要把控制器如何从内存里取出指令,然后指令如何解析,解析了之后运算器和控制器又要干嘛搞清楚,就足够你拿70+了
一天可能有点悬,祝你好运。
你一天能看那么多吗 不要吓到他
抱大腿给你讲讲吧……没听过预习的话还真不好过
发自手机虎扑
原理挺简单的啊 当时没复习就过了
麻痹 我上学期刚挂了微机
发自手机虎扑
您需要登录后才可以回复,请或者
450人参加团购358.00元&1299.00元
608人参加团购209.00元&599.00元
1051人参加团购499.00元&949.00元
1052人参加团购229.00元&899.00元
667人参加团购169.00元&499.00元
361人参加团购488.00元&990.00元
1153人参加团购899.00元&1399.00元
1607人参加团购555.00元&849.00元
627人参加团购688.00元&1199.00元
811人参加团购195.00元&899.00元
1461人参加团购599.00元&1299.00元微型计算机原理与应用习题集及答案_伤城文章网
微型计算机原理与应用习题集及答案
微型计算机原理与应用习题集目录第 1 章 概述 ....................................................................................................................... 1 第 2 章 计算机中的数制与编码 ....................................................................................... 2 第 3 章 微处理器及其结构 ............................................................................................... 4 第 4 章 CPU 指令系统 ..................................................................................... 9 第 5 章 汇编语言程序设计 ............................................................................................. 16 第 6 章 存储器系统 ......................................................................................................... 27 第 7 章 中断技术 ............................................................................................................. 30 第 8 章 输入/输出接口技术 ............................................................................................ 36 第 9 章 串行通信技术及其接口芯片 ............................................................................. 41 模拟试题(一) ............................................................................... 错误!未定义书签。 参考答案 ........................................................................................... 错误!未定义书签。 模拟试题(二) ............................................................................... 错误!未定义书签。 参考答案 ........................................................................................... 错误!未定义书签。 模拟试题(三) ............................................................................... 错误!未定义书签。 参考答案 ........................................................................................... 错误!未定义书签。 河南理工大学
学年第 1 学期 .................................. 错误!未定义书签。 参考答案 ........................................................................................... 错误!未定义书签。 近年来某高校硕士研究生入学试题 ............................................... 错误!未定义书签。 参考答案 ........................................................................................... 错误!未定义书签。 近年某高校研究生入学考试试题 ................................................... 错误!未定义书签。 参考答案 ........................................................................................... 错误!未定义书签。 近年某高校攻读硕士学位研究生试题 ........................................... 错误!未定义书签。 参考答案 ........................................................................................... 错误!未定义书签。第 1 章 概述一、填空题1.电子计算机主要由 运算器 、 控制器 、 存储器 、 输入设备 和 输出设 备 等五部分组成。 2. 运算器 和 控制器 集成在一块芯片上,被称作 CPU。 3.总线按其功能可分 数据总线 、 地址总线 和 控制总线 三种不同类型的总 线。 4. 计算机系统与外部设备之间相互连接的总线称为 系统总线 (或通信总线) ; 用于连接微型机系统内各插件板的总线称为系统内总线(板级总线) ;CPU 内部 连接各寄存器及运算部件之间的总线称为 内部总线 。 5. 迄今为止电子计算机所共同遵循的工作原理是 程序存储 和 程序控制 的工 作原理。这种原理又称为 冯? 诺依曼型 原理。二、简答题1.简述微处理器、微计算机及微计算机系统三个术语的内涵。 答:微处理器是微计算机系统的核心硬件部件,它本身具有运算能力和控制功 能,对系统的性能起决定性的影响。微处理器一般也称为 CPU;微计算机是由微处 理器、存储器、I/O 接口电路及系统总线组成的裸机系统。微计算机系统是在微计算 机的基础上配上相应的外部设备和各种软件,形成一个完整的、独立的信息处理系 统。三者之间是有很大不同的,微处理器是微型计算机的组成部分,而微型计算机 又是微型计算机系统的组成部分。 2.什么叫总线?为什么各种微型计算机系统中普遍采用总线结构? 答:总线是模块与模块之间传送信息的一组公用信号线。 总线标准的建立使得各种符合标准的模块可以很方便地挂在总线上,使系统扩 展和升级变得高效、简单、易行。因此微型计算机系统中普遍采用总线结构。 3.微型计算机系统总线从功能上分为哪三类?它们各自的功能是什么? 答:微型计算机系统总线从功能上分为地址总线、数据总线和控制总线三类。 地址总线用于指出数据的来源或去向,单向;数据总线提供了模块间数据传输的路 径,双向;控制总线用来传送各种控制信号或状态信息以便更好协调各功能部件的 工作。第 2 章 计算机中的数制与编码一、填空题1.写出下列原码机器数的真值;若分别作为反码和补码时,其表示的真值又分 别是多少? (1) ()二进制原码=(+110 1110)二进制真值=(+110)十进制真值 ()二进制反码=(+110 1110)二进制真值=(+110)十进制真值 ()二进制补码=(+110 1110)二进制真值=(+110)十进制真值 (2) ()二进制原码=(-011 0101)二进制真值=(-53)十进制真值 ()二进制反码=(-100 1010)二进制真值=(-74)十进制真值 ()二进制补码=(-100 1011)二进制真值=(-75)十进制真值2 2.写出下列二进制数的原码、反码和补码(设字长为 8 位) 。 (1) (+101 0110)二进制真值=()原码=()反码=()补码 (2) (-101 0110)二进制真值=()原码=()反码=()补码 3.[X]补=78H,则[-X]补=( 88 )H。 4. 下面各二进制数分别代表原码、 反码和补码时, 其等效的十进制数值为多少? (1) ()二进制原码=(-127)十进制真值 ()二进制反码=(-0)十进制真值 ()二进制补码=(-1)十进制真值 (2) ()二进制原码=(+0)十进制真值 ()二进制反码=(-127)十进制真值 ()二进制补码=(-128)十进制真值 5.已知 X1= +0010100,Y1= +0100001,X2= ?0010100,Y2= ?0100001,试计 算下列各式(设字长为 8 位) 。 (1) [X1+Y1]补= [X1]补+ [Y1]补=
(2) [X1-Y2]补= [X1]补+ [-Y2]补=
(3) [X2-Y2]补= [X2]补+ [-Y2]补=
(4) [X2+Y2]补= [X2]补+ [Y2]补=
= .将下列十六进制数分别转换成二进制、八进制、十进制和 BCD 数。 (1)(5D.BA)16=(11,1010)2=(135.564)8=(93.
=(11,01,01)BCD (2)()2=(9.34375)10=(11.26)8=(9.58)16 =(00,01)BCD 7.写出下列字符的 ASCII 码。 (1) ?9‘=(39H)ASCII 码 (3) ?$‘ =(24H)ASCII 码 (5) ?b‘ =(62H)ASCII 码 (7) ?换行‘ =(0AH)ASCII 码 (2) ?C‘ =(43H)ASCII 码 (4) ?空格‘ =(20H)ASCII 码 (6) ?回车‘ =(0DH)ASCII 码 (8) ?报警符‘ =(07H)ASCII 码二、选择题 1.下列无符号数中最小的数是(A)。A.(01A5)H B.(1,)B C.(2590)D D.(3764)O D.9614D 2.下列有符号数中最大的数是(D)。 A.1002H B.10 1100B C.2570O 3.在机器数(A)中,零的表示形式是唯一的。A.补码 B.原码 C.补码和反码 D.原码和反码 4.8位二进制数补码的数值表示范围为(A)。 A. -128~+127 C. 一129~+128 B.-127~+127 D.-128~+1283 5.若下列字符码(ASCII)中有奇偶校验位,但没有数据错误,采用偶校验的 字符码是(D)。 A. B. C. D..B9H 可以看成(ABD ) 。 A.无符号数185 C.十进制数99的组合BCD码 B.带符号数-71的补码 D.带符号数-57的原码第 3 章 微处理器及其结构一、填空题1. CPU执行指令中所需操作数地址由 EU 计算出 16 位偏移量部分 送 BIU ,由 BIU 最后形成一个 20 位的内存单元物理地址。 2. CPU在总线周期的T1 时刻,用A19/S6~A16/S3 输出 20 位地址信 息的最高 4 位,而在其他时钟周期,则输出 状态 信息。 3. CPU复位后,从 0FFFF0H 单元开始读取指令字节,一般这个单 元在 ROM 区中,在其中设置一条 跳转 指令,使CPU对系统进行初始化。 4. 8086系统的存储体系结构中, 1MB存储体分 2 个库, 每个库的容量都是512K 字节, 其中和数据总线D15~D8相连的库全部由 奇地址 单元组成, 称为高位字节库, 并用 BHE 作为此库的选通信号。 5.系统中,可以有 64K 个段起始地址,任意相邻的两个段起始地址 相距 16 个存储单元。 6.用段基值及偏移量来指明内存单元地址的方式称为 逻辑地址 。 7.通常 CPU中当EU执行一条占用很多时钟周期的指令时,或者在多 处理器系统中在交换总线控制时会出现 空闲 状态。 8.8086 CPU使用 16 根地址线访问I/O端口,最多可访问 64K 个字节端口, 使用 20 根地址线访问存储单元,最多可访问 1M 个字节单元。 9. CPU取一条指令并执行该指令的时间称为 指令 周期, 它通常包含若干个 总 线 周期,而后者又包含有若干个 时钟 周期。二、单项选择题1. 某微机最大可寻址的内存空间为16MB, 其CPU的地址总线至少应有 (E) 条。 A.26 能有效复位。 A.4 B. 5 C.2 D.3 3.当RESET信号进入高电平状态时,将使 CPU的(D)寄存器初始4B.28C.20D.22E.242. CPU的RESET引脚至少应维持(A)个时钟周期的正脉冲宽度才 化为0FFFFH。 A.SS B.DS C.ES D.CS 4. CPU 与慢速存储器或I/O 接口之间进行数据传输,为了使传送速 度匹配,有时需要在(C)状态之间插入若干等待周期TW。 A.T1 和T2 B.T2 和T3 C.T3 和T4 D.随机 5. CPU中标志寄存器的主要作用是( D )。 A.检查当前指令的错误 C.决定是否停机 A.T1 B.T2 C.T3 B.纠正当前指令执行的结果与错误 D.产生影响或控制某些后续指令所需的标志 D.T4 B.保存CPU要访问的内存单元地址 D.保存正在执行的一条指令 B.由编程进行模式设定 D.需要总线控制器82886.8086最小模式下的存储器读周期中地址锁存发生在总线周期的( A )时刻。 7.指令指针IP的作用是( A )。 A.保存将要执行的下一条指令的地址 C.保存运算器运算结果内容 A.CPU提供全部控制信号 C.不需要8282收发器8.8086CPU有两种工作模式,最小模式的特点是( A )。三、简答题1. CPU 分为哪两个部分?如何协调工作? 答:EU 是执行部件,主要的功能是执行指令和形成有效地址。BIU 是总线接 口部件,与片外存储器及 I/O 接口电路传输数据,主要功能是形成实际地址、预取 指令和存取操作数。 经过 BIU 进行片外操作数的访问, EU BIU 为 EU 提供将要执行 的指令。EU 与 BIU 可分别独立工作,当 EU 不需 BIU 提供服务时,BIU 可进行填 充指令队列的操作。 2. CPU的地址总线有多少位?其寻址范围是多少? 答: CPU的地址总线共20 位,最大可寻址1MB空间。 3. CPU使用的存储器为什么要分段?怎么分段? 答:为16位CPU,其内部的ALU、相关的地址寄存器(如SP、IP以及 BX、BP、SI、DI)等都是16位的,因而对存储器地址的处理也只能是16位操作,即 的直接寻址能力在64KB范围内。而实际上有20条地址线,它的 最大寻址空间为1MB。这就产生了一个矛盾,即如何用16位的地址寄存器去表示一 个20位的存储器物理地址? 实际使用的解决办法是:将1MB大小的存储空间分为若干D段‖,每段不超过5 64KB。这样,一个20位的物理地址就可以用D16位段基址:16位偏移量‖的形式(称 为逻辑地址)来表示了,其中段地址存放在的段寄存器中。 4.
CPU 中有几个通用寄存器?有几个变址寄存器?有几个指针寄存 器?通常哪几个寄存器亦可作为地址寄存器使用? 答: CPU 中共有: 8个16位的通用寄存器AX、BX、CX、DX 、BP、SP、SI、DI; 2个变址寄存器SI、DI; 2个指针寄存器BP、SP; 其中BX、BP、SI、DI 亦可作地址寄存器。 5.Intel 有何区别? 答:的区别主要表现在以下几个方面: 第一、8086的指令队列可以容纳6个字节,每个总线周期在存储器中取出2个字 节指令代码填入队列。而8088只能容纳4个字节,且每个总线周期只能取出1个字节 指令代码。 第二、8086外部数据总线宽度为16位,8088外部数据总线宽度只有8位。注意: 外部数据总线的宽度不同将导致扩展主存储器及输入/输出接口时系统 地址线和数据线连接方式的不同。 第三、其他不同的引脚定义:(1)AD15~AD0,在8086中为地址/数据复用,而 在8088中AD15~AD8 改为A15~A8只作地址线用;(2)34、28号引脚定义不同。 6.CPU工作在最小模式时:当CPU访问存储器时,要利用哪些信号? 当CPU访问外设接口时,要利用哪些信号?M 答:
CPU工作在最小模式时, 若访问存储器, 需用到以下信号: / IO 、ALE、 DT / R 、DEN、READY、 BHE 、 W R 、 RD 、AD0~AD15、A19/S6~A16/S3。 若访问外设,需用到以下信号: M / IO 、ALE、 DT / R 、DEN、READY、W R 、 RD 、 AD0~AD15。 7.试指出下列运算后的各个状态标志,并说明进位标志和溢出标志的区别: (1)1278H+3469H 答:CF=0 AF=1 ZF=0 SF=0 OF=0 PF=1 (2)54E3H-27A0H 答:CF=0 AF=0 ZF=0 SF=0 OF=0 PF=0 (3)3881H+3597H 答:CF=0 AF=0 ZF=0 SF=0 OF=0 PF=16 (4)01E3H-01E3H 答:CF=0 AF=0 ZF=1 SF=0 OF=0 PF=1 其中,进位标志CF 用于判别无符号数运算是否超出数的表示范围,而溢出标 志OF 用于判别带符号数运算是否超出数的表示范围。 奇偶标志PF 只能判断结果低8 位中D1‖的个数为奇数还是偶数。 8.什么是逻辑地址?什么是物理地址?它们之间有什么联系?各用在何处? 答:逻辑地址由两个16 位的部分即段基址和偏移量组成,一般在程序中出现的 地址都表示为逻辑地址形式;物理地址是一个20 位的地址,它是唯一能代表存储空 间每个字节单元的地址,一般只出现在地址总线上。 由于CPU 中的寄存器只有16 位长,所以程序不能直接存放20 位的 物理地址,而必须借助逻辑地址,即用两个16 位的寄存器来表示物理地址。他们之 间的关系是:物理地址=段基址*16+偏移量;另外,一个物理地址可对应多个逻辑 地址。 9.设现行数据段位于存储器0B0000H~0BFFFFH 单元,DS 段寄存器内容为 多少? 答: DS 段寄存器内容为0B000H。 10.在 8086 中,逻辑地址、偏移地址、物理地址分别指的是什么? 答:逻辑地址是在程序中对存储器地址的一种表示方法,由段基址和段内偏移 地址两部分组成,都是 16 位的二进制代码,如 1234H:0088H。偏移地址是指段内 某个存储单元相对该段首地址的差值。物理地址是 8086 芯片引线送出的 20 位地址 码,物理地址=段基址*16+偏移地址,用来指出一个特定的存储单元。 11.给定一个存放数据的内存单元的偏移地址是 20C0H, (DS)=0C0E0H,求 出该内存单元的物理地址。 答:物理地址:0C2EC0H。 12. 为什么采用地址/数据引线复用技术? 答:考虑到芯片成本和体积, 采用 40 条引线的封装结构。40 条引线 引出
的所有信号是不够用的,采用地址/数据线复用引线方法可以解决这 一矛盾,从逻辑角度,地址与数据信号不会同时出现,二者可以分时复用同一组引 线。 13.怎样确定 8086 的最大或最小工作模式?7 答:引线 MN MX 的逻辑状态决定 8086 的工作模式, MN MX 引线接高电平, 8086 被设定为最小模式, MN MX 引线接低电平,8086 被设定为最大模式。 14.8086 基本总线周期是如何组成的? 答: 基本总线周期由 4 个时钟(CLK)周期组成, 按时间顺序定义为 T1、 T2、 T3、 T4。 15.在基于 8086 的微计算机系统中,存储器是如何组织的?存储器是如何与处 理器总线连接的? BHE 信号起什么作用? 答:8086 为 16 位微处理器,可访问 1M 字节的存储器空间;1M 字节的存储器 分为两个 512K 字节的存储体,分别命名为偶存储体和奇存储体;偶体的数据线连 接 D7~D0, D体选‖信号接地址线 A0; 奇体的数据线连接 D15~D8, D体选‖信号接 BHE 信号;A0 信号有效时允许访问偶体中的低字节存储单元,BHE 信号有效时允许访问 奇体中的高字节存储单元,实现 8086 的低字节访问、高字节访问及字访问。 16.有一个由 20 个字组成的数据区,其起始地址为 610AH:1CE7H。试写出该 数据区首末单元的实际地址 PA。 首单元地址:610A0H+1CE7H=62D87H 末单元地址:62D87H+27H=62DAEH17.有两个 16 位的字 31DAH、5E7FH,它们在 8086 系统存储器中的地址为 00130H 和 00135H,试画出它们的存储器示意图。地址 0H 0H 0H 0E 内容 0DAH 31H18.试说明 8086CPU 的控制引脚 ALE 的作用。 答:8086 的低位地址线与数据线复用,为保证地址线维持足够的时间,需使用 ALE 信号将低位地址线通过锁存器保存,以形成系统地址总线。8 第 4 章 CPU 指令系统一、判断题1.MOV AX, [BP]的源操作数物理地址为 16× (DS)+(BP) (× 。 ) 2.OUT DX,AL 指令的输出是 16 位操作数。 3.不能用立即数给段寄存器赋值。 4.所有传送指令都不影响 PSW 寄存器的标志位。 5.堆栈指令的操作数均为字。 6.段内转移指令执行结果要改变 IP,CS 的值。 (× ) (√) (× ) (√) (× )二、单项选择题1.寄存器间接寻址方式中,操作数在(C)中。 A. 通用寄存器 A. DS: [BP] (SP)=(C) 。 A. 0014H A. 数据段 B. 0011H B. 代码段 C. 0010H D. 000FH D. 附加段 Short label 后,下列各数 (D)1100H 4.用 BP 作基址变址寻址时,操作数所在的段是当前(C) 。 C. 堆栈段 5.已知(IP)=1000H,CF=0,则执行指令 JNC 中哪一个是可能的 IP 值?(B) (A)0FFFFH MOV MOV ROL DEC MOV MUL HLT A. 8D00H A. CF =1 指令 LEA A. 0002H B. 9260H B. SF =1 C. 8CA0H C. OF =1 D. 0123H D. ZF =1 7. 设(AL)= - 68, (BL)= 86, 执行 SUB AL,BL 指令后,正确的结果是(C) 。 8.已知(SI)=0004H, (DS)=8000H, (80004H)=02H,(80005H)=C3H。 AX, [SI]执行后(AX)=( C ) 。 B. 0005H C. 0004H D. C302H (B)0FFEH (C)10FEH 6.执行下列指令后, (AX)=(A) 。 AX,1234H CL,4 AX,CL AX CX,4 CX B. I/O 端口 B. DS: [SI] C. 存储单元 C. DS: [DI] D. 段寄存器 D. SS: [BP] 2. (A)寻址方式的跨段前缀不可省略。 3.假设(SS)=2000H, (SP)=0012H, (AX)=1234H,执行 PUSH AX 后,9.条件转移指令 JNE 的条件是( C ) 。9 A. CF=0B. CF=1C. ZF=0D. ZF=110.在 8086 中, (BX)=0282H,且题中指令已在指令队列中,则执行 INC BYTE PTR(BX)指令需要的总线周期为( C ) 。 A. 0 B. 1 C.2 D. 3三、多项选择题1.下列指令中源操作数使用寄存器寻址方式的有(BF) 。 A. MOV BX,BUF[SI] D. CMP AX,DISP[DI] A. CMP AX,AX C. AND AX,0 B. ADD [SI+50] ,BX E. MUL VAR[BX] C. SUB AX,2 F. PUSH CX2.将累加器 AX 的内容清零的正确指令是(BCD) 。 B. SUB AX,AX D. XOR AX,AX B. LES AX,WORD VARR3.正确将字变量 WORD VARR 偏移地址送寄存器 AX 的指令是(CD) 。 A. MOV AX,WORD VARR C. LEA AX,WORD VARR A. 段内直接 D. 段间直接 A. 0 B. 1 B. 段内间接 E. 段间间接 C. 2 D. 3 D. MOV AX,OFFSET WORD VARR C. 短距离(SHORT)4.调用 CALL 指令可有(ABDE) 。5.8086 指令的操作数可能有(ABCD) 。四、填空题1.与指令 MOV BX,OFFSET BUF 功能相同的指令是 LEA BX,BUF。 2. (BX) 0449H, 假设 = (BP) 0200H, = (SI) 0046H, = (SS) 2F00H, = (2F246H) = 7230H 则执行 XCHG BX, [BP+SI]指令后, (BX)= 7230H 。 3.执行下列指令序列后,完成的功能是将(DX,AX)的值除以 16。 MOV NEXT: SHR RCR LOOP (AX)= 0FFA3H CX,4 DX,1 AX,1 NEXT 。4.已知(AL)=B,执行指令 NEG AL 后,再执行 CBW 后, 5.在数据传送类指令中,只有 SAHF 和 POPF 两条指令会影响标志位的值, 其中指令 POPF 是唯一可以改变 TF 标志的指令。 6.设有 100 个字节数据(补码) ,存放在数据段中 EA=2000H 的存储单元中。 以下程序应该从该数据区中找出最小的一个数据, 并存入 EA=2100H 单元中,请将 下面程序补充完整。10 MIN:MOV MOV MOVBX, 2000H AL, [BX] CX, 99 BX AL, [BX] LOOP2 AL, [BX] CX LOOP1 [2100H] ,ALLOOP1:INC CMP JLE MOV LOOP2:DEC JNZ MOV7.MOV AX,ES: [BX] [SI]中,源操作数的物理地址计算式是: (ES)×16+(BX)+(SI) 。五、综合题1.请指出以下各指令的源、目的操作数所使用的寻址方式。 (1)MOV SI,2100H (2)SBB (3)AND (4)OR (6)PUSH DISP[BX],7 [DI],AX AX,[609EH] ES:[BP](5)MOV [BX+DI+30H],CX (7)CALL DISP [DI] 答: (1)源操作数:立即数寻址;目的操作数:寄存器寻址 (2)源操作数:立即数寻址;目的操作数: (带位移量的)基址寻址 (3)源操作数:寄存器寻址;目的操作数:变址寻址 (4)源操作数:直接寻址; 目的操作数:寄存器寻址 (5)源操作数:寄存器寻址;目的操作数: (带位移量的)基址变址寻址 (6)源操作数:带段超越的基址寻址;目的操作数:隐含寻址 (7)只有一个操作数,为(带位移量的)变址寻址 2.请指出下列各条指令的错误,并改正。 (1) (2) (3) (4) (5) (6) MOV ADD PUSH IN OUT LES [100],23H AX,[BX+BP+6] DL AX,[3FH] 3FFH,AL SS,[SI]11 (7) (8) (9)POP IMUL SHL[AX] 4CH BX, 300 DX,0FFFH AH,BX [BX],ES:AX AX,OFFSET [SI] CS,AX DS,ES DS,1000H AX,1000H DS,AX(10) INT (11) XCHG (12) MOV (13) MOV (14) MOV (15) MOV (16) MOV (17) MOV MOV MOV答: (1)不允许直接向段寄存器送立即数,可改为:(2)该指令在语法上是对的,即可以把一个立即数送入一个存储单元;但是 如果考虑实际编译,则第一操作数前应加上 BYTE PTR 或 WORD PTR 说明,否 则汇编程序会因不能确定操作数长度而指示出错。可改为:MOV [100],23H (3)不能同时使用两个基址寄存器 BX、BP 进行间接寻址,可改为: ADD 可改为:PUSH DX AX,[BX+DI+6] (4)堆栈操作应以字为单位进行,而 DL 是一个字节。 (5)在输入/输出指令中,8 位端口地址应直接写在操作数处。可改为: IN AX,3FH (6) 端口地址 3FFH 已超出 8 位二进制表示范围, 位端口地址应存于 DX。 16 可改为: MOV LES DX,3FFH AX,[SI] [BX] BL,4CH BL CL,512BYTEPTROUTDX,AL(7)LES 指令的目操作数应该是通用寄存器,不能是段寄存器。可改为: (8)AX 不能用于间接寻址,间接寻址只能用 BX、BP、SI、DI 四个寄存 器之一。可改为:POP MOV IMUL MOV (9)立即数不能做乘法指令的操作数,可改为:(10)当逻辑移位的次数大于 1 时,应该用 CL 指示次数。可改为: SHLBX,CL(11)操作数 300 ? 255,已超出有效的中断类型码范围。 (12)XCHG 指令不允许立即数做它的操作数。可改为: MOV XCHG CX,0FFFH DX,CX(13)源、目的字长不一致 (14)在 8086 寻址方式中,AX 不能作为基址寄存器使用,而且源、目的不 能同时为存贮器寻址方式 (15)OFFSET 只用于简单变量,应去掉 (16)CS 不能作为目的寄存器 (17)段寄存器之间不能直接传送数据 3.设若标志寄存器原值为0A11H,(SP)=0060H,(AL)=4。下列几条指令 执行后,标志寄存器、AX、SP的值分别是多少? PUSHF LAHF XCHG PUSH SAHF POPF 答:指令执行后标志寄存器的值为0411H,AX=0411H ,SP=005EH。 4.假如在程序的括号中分别填入指令: (1) LOOP L20 (2) LOOPNE L20 (3) LOOPE L20 试说明在三种情况下, 当程序执行完后, AX、BX、CX、DX 四个寄存器的内 容分别是什么? BEGIN: MOV MOV MOV MOV L20: INC ADD SHR ( AX,01 BX,02 DX,03 CX,04 AX BX,AX DX,1 )13AH,AL AX 答案: (1) (AX)= 5 (BX)= 16 (CX)= 0 (DX)= 0 (2) (AX)= 3 (BX)= 7 (CX)= 2 (DX)= 0 (3) (AX)= 2 (BX)= 4 (CX)= 3 (DX)= 1 5.变量 N1 和 N2 均为 2 字节的非压缩 BCD 数码,请写出计算 N1 与 N2 之 差的指令序列。 答案: MOV MOV SUB AAS MOV MOV SBB AAS MOV 能。 答: (1)MOV (2)SUB (3)AND (4)XOR AX,0 ;仅将累加器清 0,不会影响任何标志位 ;累加器清 0 的同时影响所有状态标志,具体地 ;将累加器清 0,ZF、PF 置 1,CF、OF、SF 清 0 ;将累加器清 0,ZF、PF 置 1,CF、OF、SF 清 0 AX,AX AX,0 AX,AX AX, 0 AL, N1 AL, N2 DL, AL AL, N1+1 AL, N2+1 DH, AL6.在已学的指令中,可实现累加器清 0 的单条指令有哪些?比较它们的功有:ZF、PF 置 1,CF、AF、SF、OF 均清 07. (DS) 已知 =2000H, 有关的内存单元值为: (21000H)=00H, (21001H)=12H, (21200H)=00H,(21201H)=10H,(23200H)=20H,(23201H)=30H,(23400H)=40H, (23401H)=30H,(23600H)=60H,(23601H)=30H,符号 COUNT 的偏移地址为 1200H。执行下列指令后,寄存器 AX、BX、SI 的值分别是多少? MOV MOV MOV BX,OFFSET COUNT SI,[BX] AX,COUNT[SI][BX]答:执行结果为(BX)=1200H, (SI)=1000H, (AX)=3040H。 8.设若内存单元 DATA 在数据段中偏移量为 24C0H 处,24C0H~24C3H 单 元中依次存放着 55H、66H、77H、88H。下列几条指令执行后,寄存器 AX、BX、 CL、SI、DS 的值分别是多少? MOV LEA MOV AX,DATA SI,DATA CL,[SI]14 LDSBX,DATA答:执行结果为(AX)=6655H, (BX)=6655H, (CL)=55H, (SI)=24C0H, (DS)=8877H。 9.若(AX)=26D3H, (CX)=7908H,CF=1,执行下列指令后,寄存器 AX、CX 的值分别是多少?CF=?OF=? SAL RCR ROL CH,1 AX,CL AL,1答:执行结果为(AX)=0A64CH, (CX)=0F208H,CF=OF=0。 10.已知有程序段如下: MOV MOV AND AND MOV SHR MOV MUL ADD AL,35H DL,AL DL,0FH AL,0F0H CL,4 AL,CL BL,10 BL AL,DL执行之后,AL 的值等于多少?该程序段完成了什么功能? 答:程序段执行后(AL)=23H。该程序段实现了将 AL 中的 1 个组合 BCD 码转换为十六进制数并存回 AL 中的功能。 11.下面的程序执行后,DX、AX 的值分别是多少? ;以 X 为首址的字单元中的数据依次为 1234H、5678H ;以 Y 为首址的字单元中的数据依次为 8765H、4321HLEA LEA SI,X DI,YMOV DX,[SI+2] MOV AX,X ADD ADC CMP JL AX,X DX,[SI+2] DX,[DI+2] L215 CMP JL JMP L1:AX,Y L1 EXITMOV AX,1 JMP EXITL2:MOV AX,2EXIT:……答:执行结果为(AX)=2, (DX)=0ACF0H。 12.设 VAR 字单元的值为 x,F1 字单元的值为 y,试编程按以下要求给 y 赋值: 2 y= 0 -2 MOV CMP JG CMP JL MOV JMP GO PLUS2:MOV JMP MIN2: MOV GO:…… F1,2 GO F1,-2 ;y = -2 或 00FEH ;后续处理 ;y=2 x&30 30≥x≥1 x&1答:一种可能的程序段实现如下: AX,VAR ;AX ? x AX,30 PLUS2 ;x&30,则转 PLUS2 AX,1 MIN2 F1,0 ;x&1,则转 MIN2 ;30≥x≥1,y=0简析:本例中并未说明 VAR 字节单元是带符号数还是无符号数,读者在使 用判断转移指令时可任意选用。若当作带符号数,应使用 JG、JL、JGE、JLE 等 指令,如参考程序;若当作无符号数,则应使用 JA、JB、JAE、JBE 等指令。第 5 章 汇编语言程序设计一、填空题1.段定义伪指令语句用 SEGMENT 语句表示开始,以 ENDS 语句表示结束。 2.ARRAY DW 10 DUP(5 DUP (4 DUP (20H,40H,60H) )语句执行16 后共占 1200 字节存储单元。 3.汇编语句中,一个过程有 NEAR 和 FAR 两种属性。NEAR 属性表示主程序 和子程序 在同一个代码段中 , FAR 属性表示主程序和子程序不在同一个代码段中。 4.DOS 系统功能号应放在 AH 寄存器中。 5.子程序又称 过程 ,它可以由 PROC 语句定义,由 ENDP 语句结束,属 性可以是 NEAR 或 FAR 。 6.假设 VAR 为数据段中已定义的变量,则指令 MOV BX,OFFSET VAR 中 源操作数的寻址方式是 立即数寻址 。二、选择题1.EXE 文件产生在( D )之后。 A. 汇编 A. DB A. 堆栈 B. 编辑 B. DW C. 用软件转换 C. DD D. DF D. 连接 E. DQ F. DT D. 指令队列 E. 其他 2.变量定义的伪指令助记符有( ABCEF ) 。 3.主程序与子程序之间传递参数可通过( ABC )进行。 B. 存储器单元 C. 通用寄存器 4.计算机系统软件中的汇编程序是一种(C) 。 A. 汇编语言程序 C. 翻译程序 B. 编辑程序 D. 将高级语言转换成汇编程序的程序 B. MOV AX,DATA MOV DS,AX D. MOV DS,DATA5.若主程序段中数据段名为 DATA,对数据段的初始化操作应为(B) 。 A. MOV AX,DATA MOV ES,AX C. PUSH DS6. 8086 宏汇编源程序中, BUFF 是字变量名, 若 则执行指令 MOV BX, BUFF 后,BX 中的值为 BUFF 单元的( A ) 。 A. 字数据值 B. 变量类型值 C. 段基址 D. 段内偏移量三、综合题1.下列标号为什么是非法的? (1) GET.DATA (2) 1_NUM (3) TEST-DATA (4) RET (5) NEW ITEM 答案: (1)因为?.‘只允许是标号的第一个字符 (2)第一个字符不能为数字 (3)不允许出现?-‘17 (4)不能是保留字,如助记符 (5)不能有空格 2.已知数据和符号定义 A1 A2 K1 DB DB EQU ? 8 100判断下列指令的正误,并说明错误指令的原因。 (1)MOV K1,AX (2)MOV A2,AH (3)CMP MOV A1,A2 [BX],DX (4)MOV BX,K1 (5)K1 EQU 200 答:(1)错误。K1 是符号,在此处相当于立即数100,故不能做目的操作数。 (2)正确。 (3)错误。A1、A2 都是字节变量,相当于两个存储器单元,故不能同时 出现在一条指令中直接进行比较。 (4)正确。 (5)错误。用EQU 定义的符号不能重新赋值,除非已用PURGE 解除了 原值。 3.若数据段中有定义 NUM1 NUM2 EQU DW 23H 0则指令 MOV NUM2,NUM1 的源、目操作数的寻址方式以及指令执行后 NUM2+1 单元的内容分别是什么? 答:指令MOV NUM2,NUM1 的源操作数使用立即数寻址,目的操作数使用 直接寻址。指令执行后NUM2+1 单元的内容是0。 4.已知某数据段从物理地址 03000H 处开始,定义如下: DSEG SEGMENT ORG 2000H A1 DD 2 DUP(7,1,?) A2 DB 10 DUP(0,4,3 DUP(2) ,5) CNT EQU 20H A3 DW 100 DUP(?) DSEG ENDS 请分别用分析运算符 SEG、OFFSET、LENGTH、SIZE、TYPE 求出 A1、 A2、A3 的段基址、偏移量、类型及它们的 LENGTH、SIZE。18 答:(SEG A1)=0300H,(OFFSET A1) =2000H,(TYPE A1)=4, (LENGTH A1)=2,(SIZE A1) =2× 4=24; 3× (SEG A2)=0300H,(OFFSET A2) =2018H,(TYPE A2)=1, (LENGTH A2)=10,(SIZE A2) =10× 1=60; 6× (SEG A3)=0300H,(OFFSET A3)=2054H,(TYPE A3)=2, (LENGTH A3)=100,(SIZE A3)=100× 2=200 5. 下面两个数据段中偏移地址为 10H 和 11H 的两个存储单元中的数据一样吗? DTSEG SEGMENT ORG 10H DATA1 DB 72H DB 04H DTSEG ENDS 为什么? 答案:不一样。分别是 72H, 04H 和 04H, 72H。存储字时低 8 位存在低字节,高 8 位存在高字节。 6.已知符号定义语句如下: ALPHA BETA GAMMA EQU EQU EQU 100 25 2 DTSEG SEGMENT ORG 10H DATA1 DW 7204H DTSEG ENDS分别求下列各表达式的值。 (1)ALPHA*4 GT BETA (2)ALPHA MOD GAMMA+BETA (3) (BETA / 3)LE 5 (4)ALPHA AND BETA (5)GAMMA XOR(BETA EQ 25) 答:(1)ALPHA*4 GT BETA = 100*4 GT 25 = 0FFFFH (2)ALPHA MOD GAMMA+BETA = 100 MOD 2+25 = 25 (3)(BETA / 3)LE 5 =(25 / 3)LE 5 = 0 (4)ALPHA AND BETA = 100 AND 25 = 64H & 19H = 019 (5)GAMMA XOR(BETA EQ 25)= 2(25 EQ 25) = 0FFFDH 7.已知数据段定义如下: DSEG SEGMENT ORG 6 VAR1 DB 2,18 ORG $ +2 VAR2 DW 569AH CONT EQU $CVAR2 DB ?AB‘ DSEG ENDS 用示意图说明该数据段的分配情况。 答:有关存储单元的内容如下图所示。 8.判断以下说法是否正确,如有错,请说明原因并改正。 (1)伪指令在汇编过程中不会产生二进制代码。 (2)宏和过程的相同之处是都可用于简化源程序书写、精简目标代码。 (3)在计算机中,高级语言通常需要转换为汇编语言后才能执行。 (4)汇编语言程序上机一般包括编辑、汇编、链接和调试几个步骤。 答: (1)正确。 (4)正确。 9.执行下列指令后,AX 寄存器中的内容是什么? TABLE DW 10,20,30,40,50 ENTRY DW 3 . . BX,OFFSET TABLE BX,ENTRY AX,[BX] (2)错误。宏不能精简目标代码。 (3)错误。高级语言程序经编译或解释后直接转换为目标代码。MOV ADD MOV答: (AX)=1E00 10.指出下列程序中的错误: STAKSG SEGMENT DB 100 DUP(?) STA_SG ENDS20 DTSEG SEGMENT DATA1 DB ? DTSEG END CDSEG SEGMENT MAIN PROC MOV ADD MOV START ENDP CDSEG ENDS END 答案: 改正后: STAKSG SEGMENT DB 100 DUP(?) STAKSG ENDS DTSEG SEGMENT DATA DB ? DTSEG ENDS CDSEG SEGMENT MAIN PROC FAR ASSUME CS: CDSEG, DS: DTSEG, SS: STAKSG START: MOV AX, DTSEG MOV DS, AX MOV AL, 34H ADD AL, 4FH MOV DATA1, AL MOV AH, 4CH INT 21H MAIN ENDP CDSEG ENDS END START 11.请写出上述两条指令执行后,BX 寄存器中的内容。 DATA DATA ┆ MOV LEA BX, TABLE_ADDR BX, TABLE_ADDR ;执行后(BX)=1234H21FAR DS,DATSEG AL,34H AL,4FH DATA,ALSTART: MOVSEGMENT DW 1234H ENDSTABLE_ADDR答案: MOV BX,TABLE_ADDR LEABX,TABLE_ADDR;执行后(BX)=OFFSET TABLE_ADDR12.读下面程序,在其中的空处添上适当内容。该程序完成了什么功能?程 序运行后,变量 RS 的值是多少?DATA BUF CNT RS DATA STACK STACK CODE START SEGMENT DB DB DB DB 0 ENDS SEGMENT PARA ENDS SEGMENT ASSUME PROC PUSH MOV PUSH MOV MOV LEA MOV MOV LP: MOV TEST JE INC CONT: INC LOOP RET START CODE ENDP ENDS END START CS:CODE, DS:DATA, SS:STACK FAR DS AX,0 AX AX,DATA DS,AX BX,BUF CH,0 CL, AL,[BX] AL,80H CONT RS BX LP STACK DB 256 DUP(?) -13,24,5,-62 77,20,-7,145,0 $ -BUF答:程序空处可填 CNT,字节变量 RS 的最后结果是 04H。该程序实现的功 能是:统计数据段中以 BUF 为首址的带符号字节数据表中负数的个数,CNT 为 表中所有数据的个数,即表的长度。需要注意的是:十进制数据D145‖在以二进 制带符号字节数据形式存放时相当于D-111‖。 13.试编写一个汇编语言程序段,要求对键盘输入的小写字母用大写字母显示22 出来。 答案: abc: mov int cmp jb cmp ja sub mov mov int jmp stop: ret ah,1 21h al,‘a‘ stop al,‘z‘ stop al,20h dl,al ah,2 21h abc14. 编写程序, 比较两个字符串 STRING1 和 STRING2 所含字符是否完全相同, 若相同则显示DMATCH‖,若不同则显示DNO 答案:datarea segment string1 string2 mess1 mess2 datarea main start: ends proc far assume cs:prognam,ds:datarea push ds sub ax,ax ;返回 DOS push ax mov ax,datarea mov ds,ax mov es,ax begin: ;赋初值 mov cx, string2-string1 mov bx, mess1-string2 cmp bx,cx jnz lea dispno dx,addr ;若长度相同23MATCH‖。db ?asfioa‘ db ?xcviyoaf‘ db ?MATCH‘,‘$‘ db ?NO MATCH‘,‘$‘prognam segment;比较两字符串的长度 lea lea repe jne mov lea int ret dispno: mov lea int ret main endp end prognam endssi,string1 di,string2 ;地址指针赋初值 cmpsb dispno ah,9 dx,mess1 21h ah, 9 dx, mess2 21h ;不同,显示 NO MATCH ;相同,显示 MATCH ;比较start15.编写一个完整的源程序,将数据 35、-27、-13、6、-47、52、9、-3 中 的正数放入以 BUFFER 为首址的数据缓冲区中。 答:一种可能的程序如下实现:DATA SEGMENT BLOCK DB 35,-27,-13,6,-47,52,9,-3 COUNT EQU $-BLOCK BUFFER DB COUNT DUP(?) DATA ENDS STACK SEGMENT PARA STACK?STACK‘ DW 40 DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK BEGIN: MOV AX,DATA MOV DS,AX MOV ES,AX ;需用 STOS 串操作指令 MOV CX,COUNT LEA SI,BLOCK ;源数据区指针 LEA DI,BUFFER ;正数存放区指针 CLD ;自动增量 AGAIN: LODSB ;取源数据,并修改 SI TEST AL,80H ;取符号位,不影响 AL JS GO ;符号位=1,是负数,不存 STOSB ;存正数并修改 DI GO: LOOP AGAIN MOV AH,4CH ;退出循环,返回 DOS INT 21H CODE ENDS END BEGIN24 16.从内存单元 BUF 开始的缓冲区中有 7 个 8 位无符号数,依次为 13H、 0D8H、92H、2AH、66H、0E0H、3FH。编程找出它们的中间值并放入 RES 单 元,且将结果以D(RES) = ?‖的格式显示在屏幕上。答:一种可能的程序如下实现: DATA SEGMENT BUF DB 13H,0D8H,92H,2AH,66H,0E0H,3FH RES DB ? ;中间数的存放单元 STR DB ?(RES)=‘ STR1 DB ?,?,?$‘ ;结果字符串 DATA ENDS SSEG SEGMENT PARA STACK?SSEG‘ DB 100 DUP(?) SSEG ENDS CODE SEGMENT ASSUME CS:CODE,SS:SSEG,DS:DATA,ES:DATA MAIN PROC FAR ;主程序 PUSH DS XOR AX,AX PUSH AX MOV AX,DATA MOV DS,AX MOV ES,AX ;有 STOS 指令,需用 ES MOV CX,6 ;外循环次数,比 6 次 AGN: MOV SI,OFFSET BUF MOV DI,SI INC DI ;SI、DI 指向相邻 2 数 MOV DX,6 ;内循环次数,比 6 次 AGN1: MOV AL,[SI] CMP AL,[DI] ;两个无符号数相比较 JB UNCH ;小于则转,不互换 EXCH: XCHG AL,[ DI ] ;前 1 单元较大,则互换 MOV [ SI ],AL ;大数放在后面 UNCH: INC SI ;修改指针,指向下一个数 INC DI DEC DX JNZ AGN1 ;未处理完,继续内循环 LOOP AGN ;外循环 DONE: MOV AL,[SI-3] ;排序完成,取中间数 MOV RES,AL AND AL,0F0H ;分离高半字节 MOV CL,4 SHR AL,CL CALL BATR ;调子程序,将 AL 值转换为 ASCII 码 LEA DI,STR1 ;DI 指向结果单元 CLD STOSB ;存放转换结果 MOV AL,RES AND AL,0FH ;分离并转换低半字节 CALL BATR STOSB 25 LEA DX,STR ;显示整个字符串 MOV AH,09H INT 21H RET MAIN ENDP ;主程序 MAIN 结束 ;子程序 BATR,实现 16 进制数到 ASCII 码的转换 BATR PROC NEAR CMP AL,10 ;入口参数为 AL JB NUM ;是数字,则转 NUM ADD AL,‘A‘-10-‘0‘ ;字母 NUM: ADD AL,‘0‘ RET BATR ENDP ;子程序结束 CODE ENDS END MAIN简析:本例的基本思路是:先把 7 个无符号数按大小排序,排序完成之后取位 于中间的一个数即为中间值。 然后将该 16 进制数转换为两个对应的 ASCII 码, 再与 要求的格式字符一起输出送显即可。 数据排序可以是从大到小、或从小到大排列,本参考程序完成从小到大排序, 由一个双重循环结构实现。内循环完成一个数与其它数之间的一一比较,并使每次 比较所得的小数置于低地址单元。外循环实现所有数之间的两两相较。共 7 个数据, 故内、外循环中的比较次数均为 6 次。 编程时需注意:无符号数比较大小应使用 JA、JB、JAE、JBE 指令,本例完成 从小到大的排列,故用 JB 控制转移到 UNCH;若要从大到小排列,则用 JA 代替 JB 即可。 对两个循环体进行初始化时,需仔细考虑指针和循环控制寄存器的初值。在数 据段的定义中,分别定义 STR、STR1 两个变量名字,是为了便于在 STR1 处存放转 换结果;显示时使 DX 直接指向 STR,以 STR1 末尾的D$‖为结束符。中间值找出之 后,应把高、低半字节相分离,并分别转换为各所对应的 ASCII 码。 17.设某测试系统中,1 号端口为测试口,所得数据是 0~9 之间的十进制整 数;2 号端口为显示口,对应于数字 0~9 的 LED 七段共阴显示码依次为:3FH、 06H、5BH、4FH、66H、6DH、3DH、07H、7FH、6FH。编写一段查表送显的 程序,要求:先从测试口读入一个数据,再查表将相应的显示码从显示口送出, 如此反复进行直至读入数据D0FFH‖为止。 答:一种可能的程序如下实现:DATA TAB DATA STACK STACK SEGMENT DB 3FH,06H,5BH,4FH,66H DB 6DH,3DH,07H,7FH,6FH ENDS SEGMENT PARA STACK?STACK‘ DW 50 DUP(?) ENDS ;0~9 的七段码26 CODE SEGMENT ASSUME CS:CODE,SS:STACK,DS:DATA START: MOV AX,DATA MOV DS,AX LE BX,TAB ;BX 指向表首址 NEXT: IN AL,1 ;从测试口输入 CMP AL,0FFH JE STOP ;是 0FFH,结束 XLAT TAB ;不是 0FFH,查表转换 OUT 2,AL ;向显示口输出七段码 JMP NEXT ;继续测试 STOP: MOV AH,4CH INT 21H CODE ENDS END START第 6 章 存储器系统一、选择题1.下列(B)不是半导体存储器芯片的性能指标。 A. 存储容量 A. SRAM A. 2 (D)。 A. 1FFFH A. 120 B. 17FFH B. 124 C. 128 C. 27FFH D. 132 D. BIOS E. 硬磁盘 F. 光盘 D. 2FFFH 5.一片容量为8KB的存储芯片,若用其组成1MB内存,需( C )片。 6.外存储器包括 ( A B E F )。 A. 软磁盘 B. 磁带 C. SRAM 7.在多级存储体系结构中,Cache-主存结构主要用于解决( D )的问题。 A. 主存容量不足 C. 辅存与CPU速度不匹配 A. 能永久保存存入的信息 C. 不需要刷新电路 B. 主存与辅存速度不匹配 D. 主存与CPU速度不匹配 B. 需要刷新电路 D. 存取速度高于静态RAM B. 8 B. 存储结构 B. DRAM C. 32 C. 集成度 D. 最大存储时间 2.高速缓存由(B)构成。 C. EPROM D. 16 D. 硬磁盘 3.由2K× 1bit的芯片组成容量为4K× 8bit的存储器需要(D)个存储芯片。 4.安排2764芯片内第一个单元的地址是1000H,则该芯片的最末单元的地址是8.动态RAM的特点之一是( BD )。二、填空题1.在分层次的存储系统中, 存取速度最快、 靠CPU最近且打交道最多的是 Cache 存储器,它是由 DRAM 类型的芯片构成,而主存储器则是由 SRAM 类型的芯片27 构成。 2.将存储器与系统相连的译码片选方式有 线选法、部分地址译码法和 全地址 译码 法。 3.若存储空间的首地址为1000H,存储容量为1K× 8、2K× 8、4K× 8H 和8K× 8 的存储器所对应的末地址分别为 13FFH 、 17FFH 、 1FFFH 和 2FFFH 。 4.微机系统中存储器通常被视为 Cache 、 主存 、辅存 三级结构。三、综合题 1.某微机系统中内存的首地址为3000H,末地址为63FFH,求其内存容量。答:存储区总的单元数为:63FFH-3000H+1=3400H,故总容量13KB。 计算方法:若直接用十六进制表示,则总容量=(3*163+4*162)/1024; 若将地址表示成二进制,则总容量= 213B+212B+210B; 2.下图为SRAM6116芯片与 8088系统总线的连接图。 (1)写出6116芯片的存储容量; (2)分析每片6116所占的内存地址范围。 答: (1)6116芯片的存储容量是 2k*8bit (2)第一片6116的内存地址 范围是F1000H~F17FFH 第二片 6116 的内存地址 范围是 F1800H~F1FFFH3. 利用6264芯片, 在808828 系统总线上实现20000H-23FFFH的内存区域,试画出连接电路图。 答: 4.如图所示,IBM-PC/XT计算机扩展槽上与存储器连接的总线信号为20根地 址线A19~A0,8根数据线D7~D0以及存储器读写信号 MEMR 和 MEMW 。使用 8 8 这些信号扩展1片27256(32K× EPROM)和1片62256(32K× RAM) 。要求EPROM 的起始地址为C8000H,RAM紧随其后,使用74LS138(3-8译码器) ,采用全地址 译码方式。74LS138A19 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 MEMWG1 Y1 G2A Y2 G2B Y3 C B AY4 Y5 Y6 Y7A14 CE A13 A12 A11 A10 A9 IC0 D7 D6 A8 D5 A7 D4 A6 A5 6 A4 D1 A3 D0 A2 A1 A0 OE WE A14 CE A13 A12 A11 A10 A9 A8 IC1 A7 A6 A5 2 A2 A1 A0 OEY0D7 D6 D5 D4 D3 D2 D1 D0题五图、存储器扩展图(1)试在图中画出计算机的存储器连接图(门电路自选) 。74LS138A19 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 MEMWG1 Y1 G2A Y2 G2B Y3 C B AY4 Y5 Y6 Y7A14 CE A13 A12 A11 A10 A9 IC0 D7 D6 A8 D5 A7 D4 A6 A5 6 A4 D1 A3 D0 A2 A1 A0 OE WE A14 CE A13 A12 A11 A10 A9 A8 IC1 A7 A6 A5 2 A2 A1 A0 OEY0D7 D6 D5 D4 D3 D2 D1 D0题五图、存储器扩展图 第四题图29 (2)写出各片存储器的地址范围。 答:地址范围2~CFFFFH, 6H~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第 7 章 中断技术一、判断题1.内部中断的优先权总是高于外部中断。 ) (× 2.两片 8259A 级连后可管理 16 级中断。 ) (× 3.8259A 所管理的中断源中,优先级低的中断源不可能中断优先级高的中断服 务子程序。 ) (× 4.若 8259A 的中断屏蔽字为 00H,则 8259A 所管理的 8 级中断全被屏蔽。 ) (× 5.只要 8259A 所管理的中断源没有被屏蔽,则任何中断源的中断请求都能得 到 CPU 的响应和服务。 (√) 6.在 8259A 特殊完全嵌套方式中,同级的中断可实现嵌套。 (√)二、单项选择题1.8086CPU 工作在总线请求方式时,会让出( D ) 。 A. 地址总线 C. 地址和数据总线 A. IF =0 A. 1 B. 2 B. IF =1 C. 3 B. 数据总线 D. 地址、数据和控制总线 C. TF =0 D. 4 C. Flags、CS、IP D. Flags、IP、CS D. TF =12.CPU 响应 INTR 引脚上来的中断请求的条件之一是( B ) 。 3.断点中断的中断类型码是 ( C ) 。 4.执行指令 IRET 后弹出堆栈的寄存器先后顺序为( B ) 。 A. CS、IP、Flags B. IP、CS、Flags 完毕后,优先权最高的中断源是( B ) 。 A. IRQ3 B. IRQ5 C. IRQ0 D. IRQ4305.若 8259A 工作在优先级自动循环方式,则 IRQ4 的中断请求被响应并且服务 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 断服务。 A. IRQ0 E. IRQ4 A. 24 B. IRQ1 F. IRQ5 B. 23 C. 22 C. IRQ2 G. IRQ6 D. 20 D. IRQ3 H. IRQ7 E. 16 F. 15 B. 280H C. 300H D. 1D4H 8.当向 8259A 写入的操作命令字 OCW2 为
时,将结束( E )的中9.3 片 8259A 级联起来,可管理( C )级中断。三、多项选择题1.在 PC 机工作过程中,8259A 所管理的中断源优先级将发生变化的工作方式 有( C D ) 。 A. 全嵌套工作方式 C. 优先级自动循环方式 A. 上升沿触发中断请求 D. 单片方式 A. 全嵌套 D. 缓冲方式 是( BCEF ) 。 A. IR0 E. IR4 B. IR1 F. IR5 C. IR2 G. IR6 D. IR3 H. IR7 B.当前指令执行结束 D. 不处于 DMA 操作期间 B. 特殊全嵌套方式 D. 优先级特殊循环方式 B. 仅高电平请求中断 C. 多片主从方式2.写入 8259A 的 ICW1 为 13H,则该 8259A 芯片的工作方式是( ADE ) 。 E. 初始化写入 ICW4 B. 采用 8086CPU E. 自动结束中断 F. 初始化不写入 ICW4 C. 多片主从方式 F. 优先级自动循环3.写入 8259A 的 ICW4 为 09H,则该 8259A 芯片的工作方式是( ABD ) 。4.写入 PC/XT 机 8259A 芯片的操作命令字 OCW1 是 36H,则被屏蔽的中断源5.8086CPU 响应硬中断 NMI 和 INTR 时,相同的条件是( BD ) 。 A. 允许中断 C. CPU 工作在最大模式下四、填空题1.中断矢量就是中断服务子程序的 入口地址 ,在内存中占有 4 个存储 IP 单元,其中低地址存储单元存放的是 IP 内容,高地址存储单元存放的是 CS 内容。 2.中断返回指令是 IRET ,该指令将堆栈中保存的断点弹出后依次装入31 寄存器和 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)的值入栈保 存,但不将别的其它寄存器的值入栈保存,故如果中断服务程序中用到其它寄存器32 时,应单独使用指令将其它寄存器的值入栈保存,等中断返回前再将其恢复。这一 步骤称为保护现场和恢复现场。保护现场和恢复现场应后进先出。 8086 只对可屏蔽中断的响应输出 2 个总线周期的 INTA, 并在第 2 个 INTA 期间 到 DB 的低 8 位读入中断类型码,而对其它类型的中断,由于中断类型码是固定的, 不用到 DB 读取,故没有 2 个 INTA 总线周期。 中断响应与调子程序过程完全不同。 3.简述 8086 系统的中断分类及优先级。 答:内部(除法除以 0、单步、断点、溢出、指令中断)和外部(非屏蔽、可 屏蔽)两大类。 每个中断源有一个自已特定的类型码,8086 靠类型码来识别不同中断源,转去 执行不同中断服务程序。 可以使标志寄存器的 IF 位和 TF 位为 0 来关闭可屏蔽中断和单步中断,但除法 除以 0 中断、溢出中断、断点中断、指令中断及非屏蔽中断是无法关闭的。可屏蔽 中断有专用的指令 STI(开可屏蔽中断)和 CLI(关可屏蔽中断) ,但单步中断的开 或关没有专用指令。 因 8086 的中断类型码为 8 位的,中断类型码的个数为 0―FFH,最多可有 256 个数,故 8086 的内部中断和外部中断加起来最多可有 256 个。除了可屏蔽中断的中 断类型码是由 8259A 提供的外,其它每种中断的中断类型码都是固定的。 8086 各中断源的优先级从高到低依次是: 除法除以 0 溢出中断、断点中断、指令中断 非屏蔽中断 可屏蔽中断 单步中断 注意,优先级的高低与中断类型码的大小没有关系。 因 INT N 指令中断的优先级高于可屏蔽中断的优先级, 8086 在执行指令中断 故 期间不能响应可屏蔽中断的中断请求。 4.什么是中断类型码、中断向量、中断向量表?在基于
的微机系统 中,中断类型码和中断向量之间有什么关系? 答:处理机可处理的每种中断的编号为中断类型码。中断向量是指中断处理程 序的入口地址,由处理机自动寻址。中断向量表是存放所有类型中断处理程序入口 地址的一个默认的内存区域。在 8086 系统中,中断类型码乘 4 得到向量表的入口, 从此处读出 4 字节内容即为中断向量。33 5.写出分配给下列中断类型号在中断向量表中的物理地址。 (1) INT 12H 答:00048H (2) INT 8 答:059A 中断控制器的功能是什么? 答:8259A 中断控制器可以接受 8 个中断请求输入并将它们寄存。对 8 个请求 输入进行优先级判断,裁决出最高优先级进行处理,它可以支持多种优先级处理方 式。8259A 可以对中断请求输入进行屏蔽,阻止对其进行处理。8259A 支持多种中 断结束方式。8259A 与微处理器连接方便,可提供中断请求信号及发送中断类型码。 8259A 可以进行级连以便形成多于 8 级输入的中断控制系统。 7.画出 8259A 的初始化流程图。 答:8.试按照如下要求对 8259A 设定初始化命令字:8086 系统中只有一片 8259A, 中断请求信号使用电平触发方式,全嵌套中断优先级,数据总线无缓冲,采用中断 自动结束方式。中断类型码为 20H~27H,8259A 的端口地址为 0B0H 和 0B1H。并 写出 8259A 的初始化程序段。 答:ICW1=1BH (送 B0H 端口),ICW2=20H (送 B1H 端口),ICW4=03H (送 B1H 端口) MOV OUT MOV OUT AL,1BH 0B0H,AL AL,20H 0B1H,AL34 MOV OUTAL,03H 0B1H,AL9.8259A 的中断屏蔽寄存器 IMR 与 8086 中断允许标志 IF 有什么区别? 答:IF 是 8086 微处理器内部标志寄存器的一位,若 IF=0,8086 就不响应外部 可屏蔽中断请求 INTR 引线上的请求信号。8259A 有 8 个中断请求输入线,IMR 中 的某位为 1,就把对应这位的中断请求 IR 禁止掉,无法被 8259A 处理,也无法向 8086 处理器产生 INTR 请求。 10. 8086 系统采用单片 8259A 中断控制器控制中断, 若 中断类型码给定为 20H, 中断源的请求线与 8259A 的 IR4 相连,试问:对应该中断源的中断向量表入口地址 是什么?若中断服务程序入口地址为 4FE0H:0024H,则对应该中断源的中断向量 表内容是什么,如何定位? 答:中断向量表入口地址为:0 段的 0090H 地址。对应 4FE24H 中断服务程序 入 口 , 在 向 量 表 中 定 位 情 况 : (0090H)=24H 、 (0091H)=00H 、 (0092H)=E0H 、 (0093H)=4FH。 11.现假设某外设的中断请求信号由 IR2 端引入,要求编程实现 CPU 每次响应 该中断时屏幕显示字符串DWELCOME!‖。已知主机启动时 8259A 中断类型号的高 5 位已初始化为 00001,故 IR2 的类型号为 0AH(B) ;8259A 的中断结束 方式初始化为非自动结束, 即要在服务程序中发 EOI 命令; 8259A 的端口地址为 20H 和 21H。 解:程序如下: DATA SEGMENT MESS DB 'WELCOME!',0AH,0DH,'?' DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,SEG INT2 MOV MOV MOV INT IN AND OUT DS,AX DX,OFFSET INT2 AX,250AH 21H AL,21H AL,0FBH 21H,AL ;置中断矢量表 ;读中断屏蔽寄存器 ;开放 IR2 中断35 STI LL: JMP LL AX,DATA DS,AX DX,OFFSET MESS AH,09 21H AL,20H 20H,AL ;显示每次中断的提示信息 ;OCW2,一般 EOI 命令 ;发出 EOI 结束中断 ;屏蔽 IR2 中断 MOV MOV MOV INT MOV OUT ;等待中断 ;中断服务程序 INT2: MOVIN AL,21H OR AL,04H OUT STI MOV INT IRET CODE ENDS END START AH,4CH 21H 21H,AL第 8 章 输入/输出接口技术一、选择题1.8086CPU 在执行 IN AL,DX 指令时,DX 寄存器的内容输出到( A )上。 A. 地址总线 A. 无条件传送 A. 数据端口 A. 数据 B. 数据总线 B. 查询传送 B. 状态端口 C. 命令 C. 存储器 D. 寄存器 D. 前三项均可 D. 写保护口 ) 。 2.在 CPU 与外设进行数据传送时,下列( C )方式可提高系统的工作效率。 C. 中断传送 C. 控制端口 D. 模拟量 ) 。 C. 基址寻址 F. DX 间接寻址 F. BX G. CX H. DX 3.外部设备的端口包括 ( ABC ) 。 4.CPU 在数据线上传输的信息可能是 ( ABC B. 状态 5.PC/XT 机对 I/O 端口的寻址方式有( AF A. 端口直接寻址 D. 变址寻址 A. AL A. 00H B. BL B. 01H B. 寄存器寻址 E. 寄存器相对寻址 C. CL D. DL E. AX D. 07H366.PC 机在和 I/O 端口输入输出数据时,I/O 数据须经( AE )传送。 7.I/O 接口电路中,8255 控制口可能使用的端口地址只能是( D ) 。 C. 04H 8.程序查询 I/O 的流程总是按( B )的次序完成一个字符的传输。 A. 写数据端口,读/写控制端口 C. 写控制端口,读/写状态端口 A. RD 、 CS A. 方式 0 B. W R 、A0 B. 位控方式 B.读状态端口,读/写数据端口 D. 随 I/O 接口的具体要求而定。 C. A0、A1 C. 方式 2 D. A0、A1、 CS D. 方式 0 或方式 19.由( D )引脚的连接方式可以确定 8255 的端口地址。 10.若 8255A 接口芯片的 A 口工作在方式 2 时,B 口可以工作在(D ) 。 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 为 低 电 平, W R 为 高电平。三、判断对错并说明原因1.一个外设总是只能对应一个端口地址。 错误原因:一个外设不一定只对应一个端口地址,可能有数据端口、控制端口 和状态端口。 2.每个 I/O 接口中都应具备数据端口、控制端口和状态端口。 错误原因:无条件传送方式下的接口就无需状态端口。 3.通过对 8255 进行初始化编程可使其三个端口都工作在双向方式下。 错误原因:只有 A 口能工作在双向方式下。四、综合题1.简述接口编址的方法及其特点。 答:给接口编地址,主要有两种方法:独立编址和统一编址。 统一编址是指将端口和存储单元一起进行分配地址,即端口地址占用存储空间 的一部分,使得存储空间减少了,但对端口的访问正如对存储单元的访问一样灵活,37 不需设置专门的访问端口的指令(即 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.19MHz 25KHz ? 76.4 应向计数器装入的初值是 76。 4.设 8253 三个计数器的端口地址为 201H、202H、203H,控制寄存器端口地 址 200H。输入时钟为 2MHz,让 1 号通道周期性的发出脉冲,其脉冲周期为 1ms, 试编写初化程序段。 答: 要输出脉冲周期为 1ms,输出脉冲的频率是 1 (1?10?3 ) ? 1000,当输入时钟频率 为 2MHz 时,计数器初值是 2MHz
使用计数器 1,先读低 8 位,后读高 8 位,设为方式 3,二进制计数,控制字是 76H。设控制口的地址是 200H,计数器 1 的地址是 202H。程序段如下: MOV MOV OUT MOV MOV OUT MOV OUT DX,200H AL,76H DX,AL DX,202H AX,2000 DX,AL AL,AH DX,AL3.如图所示,将 8255 的 C 端口接 8 个发光二极管,使这 8 个发光二极管依次 亮灭,其中 74LS138 译码器与地址总线已经连接正确。 (1)C 口端口地址为多少?控制口端口地址为多少? (2)按位置位/复位字 0FH 含义是什么?38 (3)试编写实现 8 个发光二极管循环亮灭的程序。 (已知有一个延时 1 秒的子 程序,其入口地址为 DELAY1S) 。答: (1)C 口端口地址为 3EAH,控制口端口地址为 3EBH。 (2)按位置位/复位字 0FH 含义是将 PC7 置 1。 (3) MOV MOV OUT MOV MOV L1: OUT LCALL ROL JMP HLT 5. 8253 实现每隔 1s 产生一个负脉 用 冲,已知 8253 的时钟频率为 2MHz, (1) 写出 8253 的端口地址;(2)编写 8253 的初始化程序。 DX,3EBH AL,80H DX,AL DX,3EAH AL,01H DX,AL DELAY1S AL,1 L139 答:(1)8253的端口地址为DF80H,DF81H,DF82H,DF83H (2)1/2MHz=0.5us ,1s/0.5us=35,应采用两个计数器级联, 可定义0#计数器工作在方式3(方波发生器),计数初值为20000,1#计数器工作在 方式2(频率发生器),计数初值为100。 MOV MOV OUT MOV OUT MOV MOV OUT MOV OUT MOV MOV DX,0DF83H AL,B DX,AL AL,B DX,AL DX,0DF80H AX,20000 DX,AL AH,AL DX,AL DX,0DF81H AL,100OUT DX,AL 6.IBM-PC/XT计算机系统接口芯片连接如图所示,AEN低电平选中端口。(1)试说明各芯片使用的端口地址。 答:8259:20H,21H 8253:40H,41H,42H,43H (2)初始化各芯片。40 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初始化程序段。 EQU 40H 答:CTC0 CTC1 EQU 41H CTC2 EQU 42H CTCC EQU 43H MOV AL,36H ;通道0 OUT CTCC,AL MOV AX,7485H OUT CTC0,AL 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× -4 秒。 10 2.设串行异步传送的数据格式是 7 个数据位、1 个停止位、1 个校验位,波特 率为 2400,则每秒钟传送的最大字符数为 240 个。 3.为使传送过程更可靠,在串行异步通信接口中设立了三种出错标志,分别是 溢出错 、 格式错 和奇偶错。 4.串行通信根据其连接方式的不同可分为单工、 单双工 和 全双工 等三种。 5.设 8251A 工作于异步方式,收发时钟频率为 38.4KHz,波特率为 2400。数 据格式为 7 位数据位,1 位停止位,偶校验,则 8251A 的方式字为 7AH 。二、单项选择题41 1.串行同步传送时,每一帧数据都是由( D )开头的。 A.低电平 A.0~+1.8V A.IDE B.高电平 B. +2.8~+5V B.Centoronics C.起始位 D.同步字符 D. -15~-3V D.SCSI 2.RS232 是一种常用的串行总路线标准,它规定逻辑“0”对应的电平是(C)。 C. +3~+15V C.RS-232C 3.现行 PC 机中打印机与主机的接口标准大多采用( C )。 4. USB――通用串行总线实际上是一个万能插口, 目前在 PC 机上都有 USB 连 接器插座,USB 连接器为( C )芯连接器。 A.2 B.3 C.4 D.5 B.决定 8251 的数据格式和传送方向 5.8251A 的方式控制字(即模式字)的作用是( A )。 A.决定 8251 的数据格式 C.决定 8251 何时收发 D.以上都不对 6.在数据传输率相同的情况下,同步字符串送的速度高于异步字符传输,其原 因是( D )。 A.字符间无间隔 C.发生错误的概率少 A.收发时钟相同 C.数据格式和波特率相同 A.可用作并行接口 C.仅可用作同步串行接口 B.双方通信同步 D.附加位信息总量少 B.停止位相同 D.以上都正确 B.仅可用作异步串行接口 D.可用作同步、异步串行接口7.异步串行通信中,收发双方必须保持( C )。8.可编程通信接口芯片 8251A( D )。三、综合题1.什么是并行接口和串行接口?它们各有什么作用? 答:并行接口是指接口与外设之间按字长传送数据的接口,即 4 位、8 位或 16 位二进制位同时传送;而串行接口是指接口与外设之间依时间先后逐位传送数据的 接口,即一个时刻只传送一个二进制位。 并行接口传送速度较快,但在远距离传送数据时成本高,损耗大,且平行数据 线之间干扰大,所以并行接口一般适用于近距离的高速传送,而串行接口则适用于 远距离传送。 2.一个异步串行发送器,发送具有 8 位数据位的字符,在系统中使用一位作偶 校验,2 个停止位。若每秒钟发送 100 个字符,它的波特率和位周期是多少? 答: 每个字符需要的发送位数是 12 位 (数据位 8 位, 校验位 1 位, 停止位 2 位, 起始位 1 位) 。每秒发送 100 个字符共 1200 位。因此波特率为 1200 波特,位周期 ≈833?s。42 3. 全双工和半双工通信的区别是什么?在二线制电路上能否进行全双工通信? 为什么? 答:全双工和半双工通信,双方都既是发送器又是接收器。两者的区别在于全 双工可以同时发送和接收。半双工不能同时双向传输,只能分时进行。在二线制电 路上是不能进行全双工通信的,只能单端发送或接收。因为一根信号线,一根地线, 同一时刻只能单向传输。 4.同步传输方式和异步传输方式的特点各是什么? 答:同步传输方式中发送方和接收方的时钟是统一的、字符与字符间的传输是 同步无间隔的。异步传输方式并不要求发送方和接收方的时钟完全一样,字符与字 符间的传输是异步的。 5.在异步传输时,如果发送方的波特率是 600,接收方的波特率是 1200,能否 进行正常通信?为什么? 答:不能进行正常通信,因为发送方和接收方的波特率不同,而接收端的采样 频率是按传输波特率来设置。 6.试对一个 8251A 进行初始化编程,要求工作在内同步方式,2 个同步字符, 7 位数据位,奇校验,1 个停止位。 答:方式字是:H 程序段如下: XOR AX,AX MOV DX,PORT OUT DX,AL OUT DX,AL OUT DX,AL MOV AL,40H OUT DX,AL MOV AL,18H OUT DX,AL MOV AL,SYNC OUT DX,AL OUT DX,AL MOV AL,B OUT DX,AL ;向 8251 送控制字 ;输出 2 个同步字符 ;向 8251 送方式字 ;SYNC 为同步字符 ;向 8251 的控制口送 40H,复位 ;向 8251 的控制口送 3 个 00H43 模拟试题(一)一、单选题1.在 8086 宏汇编过程中不会产生指令码,只用来指示汇编程序如何汇编的指 令是 A. 汇编指令 。 B. 伪指令 C. 机器指令 。 C. (AX) & (DX) D. (AX) ≤ (DX) 。 D. 0DH D. 宏指令2.在 CMP AX,DX 指令执行后,当标志位 SF、OF、ZF 满足下列逻辑关系 (SFOF)+ZF=0 时,表明 A. (AX) & (DX) B. (AX) ≥ (DX)3.8086 微机系统的 RAM 存储单元中,从 CH 开始依次存放 23H, 0FFH,00H,和 0F0H 四个字节,该向量对应的中断号是 A. 0AH 对 B. 0BH C. 0CH4.8255 的 A 口工作在方式 1 输入时,其中断允许控制位 INTE 的开/关是通过 的按位置位/复位操作完成的。 A. PC0 A. 单步陷阱中断 指令后接着 INTO 指令则会 A. 进入 INTO 中断服务子程序 C. 死机 B. PC2 B. INTR C. PC4 C. 被零除 。 B. 执行 INTO 后面的指令 D. 显示器显示 OVERFLOW D. 断点 D. PC6 。 5.在 8086 中断优先级顺序中,最低优先级的中断源是6.在 PC/XT 中,设(AX)=9305H,(BX)=6279H,若 ADD ?BX,AX7.有一微机系统,采用 CPU 的低 10 位地址线 A0~A9 作为输入输出口的地址 线,系统中接口芯片内部有 16 个端口地址,该接口芯片的片选信号由地址译码器产 生,则地址译码器的输入地址线一般应为( )。 A. A5~A9 A. 工作方式字 C. 计数执行部件 CE(减一计数单元)的当前值 调试的程序。 A. RAM B. ROM C. PROM B. 中断类型号地址的高 5 位 D. 中断类型号的高 5 位 D. E2PROM 。 10.8259A 工作在
模式时,初始化命令字 ICW2 用来设置 A. 中断向量地址的高 8 位 C. 中断向量的高 5 位 B. A4~A9 C. A2~A9 D. A0~A9 )。 B. 计数初值 D. 0 8.CPU 可以对 8253 计数器进行读操作,其读到的是(9.在一个项目或产品研制的过程中,通常采用 ____ 类型的存储芯片来存放待二、判断题( )1.控制器的基本功能是:由程序计数器 PC 控制程序的有序运行,并完44 成各种算术逻辑运算。 ( )2.8086 的一个汇编源程序可以只有一个段。 ( 示正确。 ( )4.字长一定的情况下,原码、反码和补码所能表示的二进制真值范围是 相同的。 ( )5.(6.51)O &(3.FC)H。 ( )6.8086 系统中,每个存储单元都只对应一个唯一的物理地址和一个唯 一的逻辑地址。 ( )7.8086 的中断分为可屏蔽中断和不可屏蔽中断两种。 ( )8.串行接口中D串行‖的含意仅指接口与外设之间的数据交换是串行的, 而接口与 CPU 之间的数据交换仍是并行的。 )3.奇校验的含义是:待传送的数据加上校验位中的D0‖的个数为奇数表三、填空题1.设模为 28,则 52 的补码为 _____H,-14 的补码为 ______H,-0 的反码 为 _____H。 2.设内存中一个数据区的起始地址是 1020H:0A1CBH,在存入 5 个字数据 后,该数据区的下一个可以使用的单元的物理地址是 ________________。 3.8086 根据所构成系统大小的不同,可以工作在最大方式或最小方式。在最 大方式下,系统需使用 ________ 来形成总线周期。 4.微机系统内,按信息传输的范围不同,可有 ______,_________,_______, ________等四级总线。 5.CPU 对外设进行数据传送的方式有三种,即 __________,___________, 或___________。 6.汇编指令通常包括 ___________ 和 __________ 两部分。 7.8086 系统中,默认方式下对指令寻址由寄存器 ________ 和 _______ 完 成,而堆栈段中的偏移量可由寄存器 ________ 或 _________ 来指示。 8. 程序存储与程序控制原理的含义是 ________________________________ 。四、程序阅读1.下面的程序通过子程序调用,将数组 ARRAY 的 COUNT 个元素求和,并 将结果送 SUM 单元,分析这段程序后,补充完整程序中的空格部分。SUM DW ? ARRAY DW 200 DUP(?) COUNT ┆ MOV PUSH MOV PUSH DW 200 BX, OFFSET SUM BX BX, OFFSET ARRAY BX 45 MOV PUSH CALL LABEL1: ┆BX, OFFSET COUNT BX SUMPROSUMPRO PROC NEAR PUSH AX PUSH PUSH PUSH PUSH MOV MOV MOV MOV MOV XOR NEXT:ADD INC SI INC SI LOOP MOV POP POP POP POP POP BX SI DI BP BP, SP SI, [BP+ DI, [BP+ CX, [DI] DI, [BP+ AX, AX AX, [SI] ] ;得到 ARRAY 的地址 ] ;得到 COUNT 的地址 ] ;得到 SUM 的地址NEXT [ DI SI BX AX ], AX ;送求和结果RET 6 SUMPRO ENDP2.设有 100 个字节数据(补码) ,存放在数据段中 EA=2000H 的存储区内, 以下程序应能从该数据区中找出最大的 1 个数并存入同一数据段 EA=2100H 的单元 中,请完成该程序(在空白处填入适当的语句) 。MAX: MOV MOV MOV LOOP1: INC CMP ???? MOV LOOP2: DEC JNZ MOV BX, AL,[BX] CX, BX AL,[BX] LOOP2 AL,[BX] CX ,AL五、存储器编址某系统有一片 EPROM2716,它与 CPU 地址总线的 连接如图,写出此 EPROM 的地址空间范围。46 六、综合应用有如题六图键盘电路, 试编写 8255 初始化程序和 键值读取 程 序,并将键值序号在 LED 七段数 码管显示出来。七、设计题设外部有一脉冲信号源 PLUS,要求用 8253―5 的计数器 0 对该信号源连续计 数,当计数器计为 0 时向 CPU 发出中断请求。 1、画出 8253-5 的 CLK0、GATE0 和 OUT0 的信号连接图。 2、若该芯片的端口地址为 40H~43H,计数初值为 1234H,写出该计数器工作 在方式 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、用户应预先将程序存入存储器,计算机开始工作后,其控制器将自动、依次地从存储器中取出 程序指令并加以执行,而不需人工干涉。 四、程序阅读 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 47 MOV MOV MOV OUT MOV MOV MOV S_NEXT: MOV OUT MOV IN AND CMP JNZ MOV RCL ADD LOOP JMP DISP: MOV SHR NN: INC RCR JC MOV MOV MOV MOV MOV OUT EXIT: MOV INT CODE ENDS ENDDS,AX DX,203H ;送 8255 工作方式字:A 口方式 0 输出, AL,B;C 口上半部输入,下半部输出 DX,AL CX,3 ;准备键扫 AL,0FEH ;送第一行扫描码:PC0=0 BH,-1 ;BH=-1 表示第一行无键按下 DX,202H ;从 8255C 口下半部送键扫描码 DX,AL BL,AL AL,DX ;从 8255C 口上半部读按键状态 AL,70H AL,70H ; (AL)=70H 表示无键按下 DISP ;有键按下,转到显示处理 AL,BL AL,1 BH,3 ;准备检查第二行(PC1=0)键状态 S_NEXT EXIT CL,4 ;根据 AL 值计算键值 AL,CL BH AL,1 NN AH,0 ;查表取键值显示码 AL,BH SI,AX AL,LED[SI] DX,200H ;从 8255A 口送显示码,驱动 LED 显示 DX,AL AX,4C00H ;退出 21H START七、1、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 位二进制的计数。2、48 模拟试题(二)一、填空1、设字长为八位,有 x= ?1,y=124,则有:[x?y]补=_________, [x?y] =__________; 2、数制转换:247.86= 提高了 CPU 的利用率; 4、8086 的中断向量表位于内存的 断向量,每一个向量占 个字节; 区域,它可以容纳 个中 H =______________BCD; 3、在 8086CPU 中,由于 BIU 和 EU 分开,所以_____和_____可以重叠操作,补5、8086 系统中,地址 FFFF0H 是___________________ 地址; 6、8086CPU 的 MN MX 引脚的作用是____________________; 7、8251 芯片中设立了_____、_____ 和______三种出错标志; 8、8086CPU 中典型总线周期由____个时钟周期组成,其中 T1 期间,CPU 输出 ______信息;如有必要时,可以在__________两个时钟周期之间插入 1 个或多个 TW 等待周期。 9、8259A 共有___个可编程的寄存器,它们分别用于接受 CPU 送来的______命 令字和________命令字。二、简答题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 低八位地址总线49 试问:1、8259A 占用____个端口地址,分别为______,其中 ICW1 的设置地址 为_____; 2、8255A 占用____个端口地址,分别为________,其中控制寄存器的地址为 _______。四、判断题(下列各题,请在正确的题的括号内打D√‖,错误的请打D×‖。)( )1、8253 在不同的工作方式中,计数到 0 时,都会从 OUT 输出一个相同 的信号。 ( )2、CPU 寻址外设时,存储器对应的 I/O 方式是把外设端口作为存储单元 来看待。 ( )3、用软件确定中断优先权时,只要改变查询的顺序,即可以改变中断的 优先权。 ( )4、在 8259A 级连系统中,作为主片的 8259A 的某些 IR 引脚连接从片, 同时也可以在另一些 IR 引脚上直接连接外设的中断请求信号端。五、阅读程序与接口芯片初始化1.源程序如下:MOV CL,4 MOV AX,[2000H] SHL SHR AL,CL AX,CLMOV [2000H],AX试问:? 若程序执行前,数据段内(2000H)=09H,(2001H)=03H, 则执行后有 (2000H)=_____ ,(2001H)=______。 ? 本程序段的功能_________________________。 2.源程序如下:MOV AL,0B7H AND XOR OR JP JMP AL,0DDH AL,81H AL,33H LAB1 LAB2试问: 执行程序后 AL=_______; ? 程序将转到哪一个地址执行: ? __________。 3.源程序如下:MOV CX,9 MOV AL,01H MOV SI,1000H NEXT: MOV [SI],AL INC SHL SI AL,1LOOP NEXT50 试问:? 执行本程序后有:AL=_____;SI=______;CX=______; ? 本程序的功能是______________________________。 4.某系统中 8253 占用地址为 100H~103H。初始化程序如下:MOV DX, 103H MOV AL, 16H OUT SUB OUT DX,AL DX, 3 DX, AL试问:? 此段程序是给 8253 的哪一个计数器初始化?安排工作在哪种工作方 式? ? 若 该 计 数 器 的 输 入 脉 冲 的 频 率 为 1MHZ , 则 其 输 出 脉 冲 的 频 率 为 : ___________。 5.已知某 8255A 在系统中占用 88~8BH 号端口地址,现欲安排其 PA,PB, PC 口全部为输出,PA,PB 口均工作于方式 0 模式,并将 PC6 置位,使 PC3 复位, 试编写出相应的初始化程序。六、编程已知某输入设备的数据端口地址为 40H, 状态端口地址为 41H, 其中 D0 位为D1‖ 时,表示DREADY‖状态。试编程实现: ? 采用查询方式从该设备输入 20 个 ASCII 码表示的十进制数, 并求出这 20 个 十进制数的累加和; ? 将此累加和转换成 BCD 码,并存放到 NBCDH(百位数)和 NBCDL(存十位和 个位数)单元中。 注:只要求写出程序的可执行部分,可以不写任何伪指令。参考答案一、 1、00011 2、F7?DCH ? BCD 3、取指令 执行指令 4、0FFH 区 256 4 5、CPU 复位以后执行第一条指令的 6、决定 CPU 工作在什么模式(最小/最大) 7、奇/偶错 帧格式错 溢出错 8、4 个 地址 T3 和 T4 9、7 个 初始化 操作 二、 1、调制是将数字信号?模拟信号。而解调则是相反。 串行长距离通信时,需要利用模拟信道来传输数字信号,由于信道的频带窄,一般为 300~3400HZ, 而数字信号的频带相当宽, 故传输时必须进行调制, 以免发生畸变而导致传输出错。 例如 FSK 制(调频制或称数字调频)可将数字D1‖和D0‖分别调制成 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 51 ? 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 对数据段内 H 单元置数,依次送入 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 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 ; 存十位,

我要回帖

更多关于 微型计算机原理第五版 的文章

 

随机推荐