微机原理及应用A试题库

更新时间:2024-04-05 10:02:01 阅读量: 综合文库 文档下载

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

1.1选择题

1.计算机的发展阶段通常是按计算机所采用的( B)来划分的。

A.内存容量 B.电子器件 C.程序设计 D.操作系统

2. 一个完整的计算机系统通常应包括(C )。

A、系统软件和应用软件 B、计算机及其外部设备 3.

C、硬件系统和软件系统 D、系统硬件和系统软件

PC机硬件系统从逻辑上看主要由CPU、内存储器、外存储器、输入设备、输A.运算器 B.键盘 C.显示器 D.总线 A. 微机的字长可以是8、16、24、32位 B. 微机的字长可以是8、16、32、C. 微机的字长可以是8、16、24、32K D. 字长是指计算机处理数据的

出设备以及( D )组成。 4. 以下叙述正确的是(B )。 64位 精度

5. BIOS是“基本输入输出系统”,在现代的微机系统中,BIOS中代码( B )。

A.是不能升级的 B. 是可以升级的 C.更换BIOS芯片后才可以升级 D. 以上说法都不正确 A. CPU也称作运算控制单元 B. CPU也称作微处理器 C. CPU是微型机的核心部件。 D. CPU也称作运算处理单元 A. 二进制编码和存储程序控制 B. 二进制数和存储器 C. CPU和存储器 D. 存储器和输入输出设备 A. 3 B. 4 C. 5 D. 6

A. 运算器、控制器、存储器和输入输出设备 B. 寄存器、运算器、控制器、 C. 寄存器、CPU和存储器 D. 存储器和输入输出设备 A. Hz B. KHz C. MHz D. GHz A. B B. KB C. MB D. GB

6. 以下有关CPU的说法不正确的是( D )。

7. 冯?诺依曼计算机的基本思想主要是指( A)。

8. 冯?诺依曼计算机的硬件由( C )大基本部件组成。 9. 冯?诺依曼计算机的硬件由(A )等大基本部件组成。 存储器

10. 在现代的微机系统中,描述CPU主频常用的单位是( D )。 11. 在现代的微机系统中,描述内存容量常用的单位是(D )。

12. 微型计算机和各个外部设备之间用( A )连接起来,再配上软件,就构成了微机系统。

A. 系统总线 B.通信总线 C.数据总线 D.片内总线 A. CPU内部数据总线的位数。B. CPU外部数据总线的位数。

C. CPU地址总线的位数。 D. CPU中运算器一次能处理二进制数的最

13. 所谓微机的字长是指( D )。

大位数。

14. ( C)是以CPU为核心,加上存储器,I/O接口和系统总线构成的.

A.微处理器 B.微型计算机 C.微型计算机系统 D.计算机. 15. 微型计算机是以超大规模集成电路为主要部件,以集成了控制器和( C)的微处理器为

核心,所构造出的计算机

A.存贮器 B.寄存器 C.运算器 D.计数器 A.存放数据 B.存放程序 C.存放数据和程序 D.存放微16. 存储器是计算机系统的记忆设备,它用来( C ) 程序

17. 通常所说的32位计算机是指( A)。

A.CPU字长为32位 B.通用寄存器数目为32个 C.可处理的数据长度为32位 D.地址总线的宽度为32位

1.3填空题

1. .CPU是英文Central processing unit的缩写,中文译为中央处理单元。 2. Intel 8086支持1MB容量主存空间,80486支持4GB容量主存空间。

3. .二进制16位共有216个编码组合,如果一位对应处理器一个地址信号,16位地址信号共能寻址64KB容量主存空间。

4. DOS主要支持两种可执行文件,它们的扩展名分别是EXE和COM。 5. 关于总线的英文缩写ISA原文是industry standard architecture, PCI原文是peripheral component interconnection。

6. Windows的文件夹对应的专业术语是目录 ,英文是directory。 7. Pentium系列处理器的多媒体指令有

MMX,SSE,SSE2和SSE3类指令。

8.Pentium处理器采用64位数据总线,32位地址总线与主存相连。 9.最初由IBM公司采用Intel 8088处理器和DOS操作系统推出PC机。

10. 当前32位PC机主要采用PCI总线连接I/O接口电路卡,键盘、鼠标等则采用PS/2总线连接。

11. 描述CPU的主要技术参数有_字长_ ,时钟频率,集成度等。 12. 系统总线一般可分为地址总线,数据总线 和控制总线。

13. 在计算机系统的层次结构中,汇编语言位于第4层,而高级语言位于第5层。 14. 在计算机系统的层次结构中,操作系统位于第3层,而机器语言位于第2层。 15. 在计算机系统的层次结构中,数字电路位于第0层,而用户位于第6层。

1.4简答题

1. 计算机字长指的是什么?

处理器单位时间处理二进制数据的位数

2. 简述微型计算机系统的硬件组成及各部分作用。

1微处理器:处理器及其支持的电路构成了微机系统的控制中心,对系统的各个

部件进行统一的协调和控制 2存储器:存放程序和数据

3 I/O设备和I/O接口:实现用户和微机的交互 4系统总线:多部件相互连接、传递信息的公共通道 3. ROM-BIOS是什么?

基本输入输出系统,操作系统通过对BIOS的调用驱动各硬件设备,用户也可以在应用程序中调用BIOS中的许多功能。 4. 什么是通用微处理器、单片机?

通用为处理器:适合较广的应用领域的微处理器,如装在PC机、笔记本电脑等的微处理器

单片机:通常用于控制领域的微处理器芯片,期内部除CPU外还集成了计算机的其他一些主要部件,只需配上少量的外部电路和设备,就可以构成具体的应用系统。

5. 什么是DSP芯片、嵌入式系统?

DSP:数字信号处理器,更适合于处理高速的数字信号,内部集成有高速乘法器,可进行快速乘法加法运算。

嵌入式系统:利用微处理器,数字信号处理器或通用微处理器,结合具体应用构成的控制系统。

6. 冯?诺依曼计算机的基本设计思想是什么?

采用二进制表达数据和指令,将数据和指令事先保存在存储器中;按顺序执行程序来控制计算机工作

7. 计算机系统通常划分为哪几个层次?普通计算机用户和软件开发人员对计算机系统的认 识一样吗?

最上层是用户层;第五层是高级语言层;第四层是汇编语言层;第三层是操作系统层;第二层是机器语言层;第一层是控制层;第零层是数字电路层。 不一样,普通计算机用户看到的计算机属于用户层,而软件人员看到的属于高级语言层或是汇编语言层。 8. 什么是系列机和兼容机?

系列机:同一厂家生产的具有相同计算机结构,但具有不同组成和实现的一系列不同档次不同型号的机器

兼容机:不同厂家生产的具有相同计算机结构的计算机。

第2章 处理器结构

2.1选择题

1. 一条计算机指令中规定其执行动作的部分称为(B )。

A. 源地址码 B. 操作码 C. 目标地址码 D. 数据码

2. 标志寄存器中的溢出标志OF=1时表示的含义,下列说法中正确的是 (A ) 。

A. 表示运算结果溢出 B. 表示最高位有进位

C. 两个符号位相同的操作数的运算结果的符号位与参与运算的操作数符号位相反

D. 以上说法都不对

6. 下列80X6CPU标志寄存器的标志位中,不属于状态标志位的是( B )

A.OF B.IF C.AF D.PF A.OF B.TF C.AF D.PF

7. 下列80X6CPU标志寄存器的标志位中,不属于状态标志位的是( B ) 8. 计算机能直接识别、理解和执行的程序是 (B )。

A汇编语言程序 B.机器语言程序 C.高级语言程序 D.数据库语言程序 9. 寄存器( D )不能被分割为高字节和低字节。

A.AX B. DX C.BX D. CS

10. VAR是数据段中定义的字变量,指令MOV EBX,OFFSET VAR源操作数的寻址方式是 (B )。

A.直接寻址 B.寄存器间接寻址 C.立即数寻址 D.存贮器寻址

13. 运算器由很多部件组成,其核心部分是( B )。

A.数据总线 B.算术逻辑单元 C.累加器 D.多路开关

2.3填空题

3. 逻辑地址由段基地址和偏移地址两部分组成。

4. 进行8位二进制数加法:10111010+01101100,8位结果是[1]00100110,标志CF=1。

5. 在实地址工作方式下,逻辑地址“7380H∶400H”表示的物理地址是73C00H,并且该段起始于73800物理地址。

9. 除外设数据外的数据寻址方式有3类,分别被称为立即数寻址、寄存器寻址和存储器寻址。

14. 除I/O指令外,具有双操作数的指令中,目的操作数只能采用寄存器寻址方式或存储器寻址方式。

15. 计算机存储信息的最小单位是byte,1个字节等于8个二进制位。

2.4简答题

1. 举例说明CF和OF标志的差异。

进位标志CF表示无符号数运算结果是否超出范围,超出范围后加上进位或借位,运算结果仍然正确;溢出标志OF表示有符号数运算结果是否超出范围,如果超出范围,运算结果已经不正确。

2. IA-32处理器有哪三类基本段,各是什么用途?

代码段:存放程序的指令代码。程序的指令代码必须安排在代码段,否则将无法正常执行。

数据段:存放当前运行程序所用的数据。程序中的数据默认是存放在数据段,也可以存放在其他逻辑段中。

堆栈段:主存中堆栈所在的区域。程序使用的堆栈一定在堆栈段。 3. 什么是实地址方式、保护方式和虚拟8086方式?它们分别使用什么存储模型?

实地址方式:与8086具有相同的基本结构,只能寻址1MB物理存储器空间,逻辑段最大不超过64KB;但可以使用32位寄存器、32位操作数和32位寻址方式;相当于可以进行32位处理的快速8086。实地址工作方式只能支持实地址存储模型。

保护方式:具有强大的段页式存储管理和特权与保护能力,使用全部32条地址总线,可寻址4GB物理存储器。保护方式通过描述符实现分段存储管理,每个逻辑段可达4GB。处理器工作在保护方式时,可以使用平展或段式存储模型。

虚拟8086方式:在保护方式下运行的类似实方式的运行环境,只能在1MB存储空间下使用“16位段”。 处理器工作在虚拟8086方式时,只能使用实地址存储模型。

4. 什么是平展存储模型、段式存储模型和实地址存储模型?

平展存储模型下,对程序来说存储器是一个连续的地址空间,称为线性地址空间。程序需要的代码、数据和堆栈都包含在这个地址空间中。

段式存储模型下,对程序来说存储器由一组独立的地址空间组成,独立的地址空间称为段。通常,代码、数据和堆栈位于分开的段中。

实地址存储模型是8086处理器的存储模型。它是段式存储模型的特例,其线性地址空间最大为1MB容量,由最大为64KB的多个段组成。 5. 汇编语句有哪两种,每个语句由哪4个部分组成?

汇编语句有两种:执行性语句(处理器指令)、说明性语句(伪指令)。 每个语句有:标号、指令助记符、操作数或参数、注释4个部分组成。 6. 给出IA-32处理器的32位寻址方式的组成公式,并说明各部分作用。

32位存储器寻址方式的组成公式

32位有效地址 = 基址寄存器+(变址寄存器×比例)+位移量 其中的4个组成部分是:

·基址寄存器 任何8个32位通用寄存器之一;

·变址寄存器 除ESP之外的任何32位通用寄存器之一;

·比例 可以是1,2,4或8(因为操作数的长度可以是1,2,4或8字节); ·位移量 可以是8或32位有符号值。 7. Pentium的片上Cache采用统一结构还是分离结构?

Pentium芯片中有两个8KB容量的Cache,一个用于高速缓冲指令的指令Cache,另一个用于高速缓冲数据的数据Cache,即分离的Cache结构。 8. 为什么将查找操作数的方法称为数据寻“址”方式?

主存和外设在汇编语言中被抽象为存储器的地址或I/O地址,而寄存器虽然以名称表达,但机器代码中同样用地址编码区别寄存器,所以指令的操作数需要通过地址指示。这样,通过地址才能查到数据本身,这就是数据寻址方式。

第3章 数据处理

一.选择

1. BUF DWORD 10h DUP( 3 DUP( 2,5 ) ,3 ,4 ,5)语句为变量BUF分配的内存空间的字节数是( )。

A. 50h B. 90h C. 240h D. 120h

2. BUF DW 10H DUP(3 DUP(2,?),1,2 DUP(?),100)为变量BUF分配的内存空间的字节数是( )。 型

4. 用来定义双字变量的伪指令是( )。

A. DB B. DW C. DD D. DQ A. DB B. DW C. DD D. DQ A. BYTE B. WORD C. DWORD D. QWORD

A. OF=CF=0 B. OF=0,CF=1 C. OF=1,CF=0 D. OF=1,CF=1 5. 用来定义字变量的伪指令是( )。 6. 用来定义字节变量的伪指令是( 。)

A. 160 B. 22 C. 80 D. 320

A. 定义内存变量的类型 B. 重新指定内存变量的类型

C. 定义寄存器变量的类型 D. 重新指定寄存器变量的类3. 类型操作符PTR用于( )。

7. 执行AND指令后,OF和CF标志位的值是( )。

8. 执行INC指令除对于SF、ZF有影响外,还要影响的标志位是( )。 A. AF,PF,CF B. OF,AF,CF

C. OF,PF,CF D. OF,AF,PF A. AF,PF,CF B. OF,AF,CF C. OF,PF,CF D. OF,AF,PF

A.AL=1, ZF=1 B.AL=0, ZF=0 C.AL=1, ZF=0 D.AL=0, 9. 执行DEC指令除对于SF、ZF有影响外,还要影响的标志位是( )。

10. 执行指令 XOR EAX,EAX 后则 ( )

ZF=1

11. 下列指令执行后,不影响标志位的指令是( )。 。

A.ADD EAX,1 B.DEC DX C.XOR CX,AX D.LEA EDX,MSG A 符号名 B 变量名 C 标号 D 常量名

12. 能够表示指令存放地址的是( )

13. 8位二进制无符号数所能表示的数值范围是( )。

A.0 ~ 255 B.0 ~ 256 C.0 ~ 128 D.0 ~ 127

A.0 ~ 65535 B.0 ~ 65536 C.-32768 ~ +32767 D.-65536 ~ +66536 A.0 ~ 255 B.0 ~ 256 C.-128 ~ +127 D.-128 ~ +128

14. 16位二进制补码所能表示的带符号数的数值范围是( )。

15. 8位二进制补码所能表示的带符号数的数值范围是( )。

二.名词解释 1. Two's Complement 二进制补码

2. Nested Procedure Calls 嵌套程序调用 3. Conditional Jump 条件转移 4. Extended ASCII

扩充美国信息交换标准码

5. Integer constants 整数常量

6. Jumps Based on Signed Comparisons 无符号数条件转移比较 7. Little Endian Order 小端方式

8. Intrinsic Data Types 内部数据类型 三.判断

1. 对一个正整数,它的原码、反码和补码都一样,也都与无符号数的编码一样。

T

2. 常用的BCD码为8421 BCD码,其中的8表示D3位的权重。T 3. IA-32处理器采用小端方式存储多字节数据。T 4. 空操作NOP指令其实根本没有指令。F

5. 堆栈的操作原则是“先进后出”,所以堆栈段的数据除PUSH和POP指令外,不允许其他方法读写。F

6. 虽然ADD指令和SUB指令执行后会影响标志状态,但执行前的标志并不影响它们的执行 果。T

7. 指令“INC ECX”和“ADD ECX,1”的实现功能完全一样,可以互相替换。F 8. 无符号数在前面加零扩展,数值不变;有符号数前面进行符号扩展,位数加长一位、数 值增加一倍。F

9. 逻辑运算没有进位或溢出问题,此时CF和OF没有作用,所以逻辑运算指令如

AND、OR等将CF和OF设置为0。T

10. CMP指令是目的操作数减去源操作数,CMPS指令是源操作数减去目的操作数T

11. 指令“DEC ECX”和“SUB ECX,1”的实现功能完全一样,可以互相替换。F 12. 指令“TEST”和“AND”的实现功能完全一样,可以互相替换。F

13. 指令“CMP EAX, ECX”和“SUB EAX, ECX”的实现功能完全一样,可以互相替换。F

14. CPU在实施加减运算时不区分有符号数和无符号数。T

15. VAR是数据段中定义的字变量,指令MOV AL,VAR是正确的。T 四.填空

1. (1)定义字节变量的伪指令助记符是_BYTE,获取变量名所具有的偏移地址的操作符是_OFFSET。

2. (2)计算机中有一个“01100001”编码。如果把它认为是无符号数,它是10进制数__97;如果它是某个ASCII码,则代表字符__a。

3. C语言用“\\n”表示让光标回到下一行首位,在汇编语言中需要输出两个控制字符:一个

是回车,其ASCII码是_0DH,它将光标移动到当前所在行的首位;另一个是换行, 其ASCII码是_0AH,它将光标移到下一行。

4. 数据段有语句“H8843 DWORD 99008843H”,代码段指令“MOV CX, WORD PTR H8843”执

行后,CX=__8843H;代码段指令“MOV CL, BYTE PTR H8843”执行后,CX=_____________。

5. 数据段有语句“XYZ DWORD ?”,则XYZ的类型是_DWORD,用“TYPE XYZ”会得到数值为__4。

6. 数据段有语句“ABC BYTE 3 DUP (1,2,3)”,代码段指令“MOV CL, ABC+3”执行后,CL

=_4; “MOV CL, ABC+8”执行后,CL=_9。

7. 数据段有语句“ABC BYTE 3 DUP (1,2,3)”,代码段指令“MOV AX, WORD PTR ABC”执

行后,AX=_; “MOV EAX, DWORD PTR ABC”执行后,EAX=_________。 8. 顺序执行指令“XOR EAX, EAX”和“SUB EAX, EAX”后,EAX=_0,OF=_0。 9. 顺序执行指令“XOR EAX, EAX”和“DEC EAX”后,EAX=_0,CF=_0。 10. 欲将EDX内的无符号数除以16,使用指令“SHR EDX, _4”; 欲将EAX内的有符号数除以16,使用指令“____________________”。

11. 已知:X补=10101100B,Y补=11000110B,则:[X+Y]补= [1]01110010 ,

[X-Y]补= _01100110 。

12. 设字长为八位,有x= -1,y=124,则有:[x+y]补=__123, [x-y] 补=__-125。 13. 已知:寄存器AX=7836H,指令: ADD AX,9A5EH执行后,AX=__1295H CF=_1。

14. 已知:寄存器AX=7836H,指令: ADD AX,9A5EH执行后, OF=_0,SF=_1_。 15. \~\的ASCII码值是__30H~39H,\~\的ASCII码值是__41H~5AH。. 五.简答题

1. 使用二进制8位表达无符号整数,257有对应的编码吗?

没有。使用二进制8位表达无符号整数,257没有对应的编码。

2. 字符“'F'”和数值46H作为MOV指令的源操作数有区别吗?

字符“'F'”的ASCII码就是数值46H,所以没有区别。

3. 为什么可以把指令“MOV AX, (34+67H)*3”中的数值表达式看成是常量?

汇编程序在汇编过程中对数值表达式计算,得到一个确定的数值,故称数值表达式为常量。

4. 数值500,能够作为字节变量的初值吗?

不能。数值500大于一个字节所能表达的数据量,所以不能为字节变量赋值。

5. 为什么说“XCHG EDX,CX”是一条错误的指令?

源、目标寄存器位数不同,不能用该指令进行数据交换。

6. 都是获取偏移地址,为什么指令“LEA EBX, [ESI]”正确,而指令“MOV EBX, OFFSET[ESI]”就错误?

前者在指令执行时获得偏移地址,是正确的;但后者的OFFSET只能在汇编阶段获得偏移地址,但此时寄存器内容是不可知的,所以无法获得偏移地址。

7. INC,DEC,NEG和NOT都是单操作数指令,这个操作数应该是源操作数还是目的操作数?

INC,DEC,NEG和NOT指令的操作数既是源操作数也是目的操作数。 8. 大小写字母转换的规律是什么?给出转换的公式。

大小写字母转换利用它们的ASCII码相差20H。

第4章 指令系统

一.选择

1. 11. 计算机内的“溢出”是指其运算的结果 ( )。

A.无穷大或无穷小 B.超出了内存单元所能存储的数值范围

C.超出了寄存器能存储数值的范围 D.超出了该指令所指定的结果能存储

的数值范围

2. 计算机内的“溢出”是指其运算的结果 ( )。

A.无穷大或无穷小 B.超出了内存单元所能存储的C.超出了寄存器能存储数值的范围 D.超出了该指令所指定的结果能存储

数值范围

的数值范围

3. 16位二进制无符号数的数值范围是( )。

11. 顺序执行PUSH EAX和POP EBX两条指令,其功能等同于( )

A.MOV EAX, EBX B.MOV EBX, EAX C.XCHG EAX, EBX D.XCHG EBX, EAX

A.BCD码 B.ASCII码 C.余三码 D.格雷码 A.0 ~ 65535 B.0 ~ 65536

C.0~ 32767 D.0 ~ 32768

4. 最大的10位无符号二进制整数转换成十进制数是 。

A. 51 B. 512 C. 1023 D. 1024 A.ZF B. SF C.CF D. TF A.ZF B. SF C.CF D. DF A.ZF B. SF C.CF D. IF A.线路故障 B.内部 C.外部 D.单步 A.不产生任何中断 B. 会产生内部中断 C. 会产生外部中断 D. 会产生单步中断 A. MOV AX,BX B. MOV BX,AX

C. PUSH AX D. MOV CX,AX POP BX MOV AX,BX MOV BX,CX 5. ADD 指令不能影响标志寄存器的( )位。 6. INC 指令不能影响标志寄存器的( )位。 7. DEC 指令不能影响标志寄存器的( )位。

8. 在执行DIV或IDIV指令发生错误时会产生( )中断。 9. 在执行ADD或SUB指令发生溢出错误时( )。

10. 完成同指令XCHG AX,BX相同功能的指令或指令序列是( )。

12. 目前在微机中最普遍采用的字符的编码是( )。

13. 已知X、Y的补码分别为11101011B、00001010B,求X+Y的补码等于( )。

A. 10100001B B. 11011111B C. 11110101B D. 溢出

14. 计算机中( )不能直接表示有符号数。

A.原码 B.补码 C.反码 D.BCD

15. 下列字母中,ASCII码值最小的是( ) 。

A. K B. Y C. a D. i MOV AL,0C4H ADD AL,9DH

A. 0,0 B. 0,1 C. 1,0 D. 1,1 16. 当执行完下列指令序列后,标志位CF和SF的值为( )。

二.名词解释

1. Program flow control instructions 程序流程控制指令 2. OFFSET Operator:在汇编阶段取得变量的偏移地址。 3. Loop Counter循环计数器,一般为ECX

4. . Pseudo Code:伪代码,又称虚拟代码,是高层次描述算法的一种。 5. Single Dimension Array:一位数组

6. Conditional Loop Instructions:条件循环指令利,用条件转移指令决定是否进行循环。

7. Arithmetic instructions:算数指令

8. Jumps Based on Unsigned Comparisons:无条件转移比较 三.判断

1. VAR是数据段中定义的字变量,指令MOV AX,VAR+2是正确的。T 2. VAR1和VAR2是数据段中定义的字变量,指令MOV AX, VAR1-VAR2是正确的。T

3. VAR1和VAR2是数据段中定义的字变量,指令MOV AX, VAR1+VAR2是正确的。F

4. 执行乘法指令IMUL src时,运算结果不会产生溢出。 5. 执行乘法指令IMUL REG,src时,运算结果不会产生溢出。 6. 定义符号常量时,使用“=”与“EQU”没有区别。F

7. 地址操作符OFFSET可以获取任何寻址方式的内存变量的有效地址。F 8. 指令“SHL”与“SAL”的功能是等价的。T 9. 指令“SHR”与“SAR”的功能是等价的。T

10. 指令“LOOP Lable ”与“DEC ECX JNZ Lable”的功能是等价的。T 11. 32位机不能完成64位整数加法运算。F 12. 只有补码才能表示有符号数。F

13. 指令“LEA”可以获取任何寻址方式的内存变量的有效地址。T 14. 指令“LEA”可以实现求两个寄存器与一个立即数三个数之和的功能。T 15. 堆栈内部中的数据是无法修改的。F 四.填空

1. 顺序执行指令“XOR EAX, EAX”和“SUB EAX, 1”后,EAX=_0_,CF=_0_。 2. 数据段有语句“BUF DWORD 10h DUP( 3 DUP( 2,? ) ,3 ,4 ,5)”,则用“LENGTHOF BUF”会得到数值为_576_,用“SIZEOF BUF”会得到数值为_144_。 3. 已知AL=01100001B,执行指令“AND AL,5FH”后,AL=_41H_;如果AL的内

容是某个ASCII码,则代表字符_!_。

4. 已知AL=01000001B,执行指令“OR AL,20H”后,AL=_71H_;如果AL的内容是某个ASCII码,则代表字符_q_。

5. 设字长为八位,-128补=_80_H, -1补=_ff_H。

6. 已知:寄存器AX=7836H,指令: TEST AX,9A5EH执行后, OF=_0_,SF=_0_。 7. 已知:寄存器AX=7836H,指令: CMP AX,9A5EH执行后, AX=_7836H_, OF=__。

8. 要测试AX的第五位是否为1,使用指令__;若要将AL的第五位置为1,使用指令____。(说明:最低位为第0位。)

9. 已知:寄存器AX=9A5EH,指令: NEG AX执行后, OF=_0_,SF=_0 。 10. 已知:寄存器EAX=65536,EBX=32768,指令:DIV EBX执行后, EAX=2。则指令:DIV EBX执行前EDX的值应为 _,指令:DIV EBX执行后EDX=_______。 11. 已知:寄存器AL=-1,指令:MOVSX BX,AL执行后,BX= ________H;指令:MOVZX CX,AL执行后,CX= ________H。

12. 顺序执行指令序列“XOR EAX,EAX ,DEC EAX ,ADC EAX,0”后,CF=___,ZF=____。 13. 顺序执行指令序列“XOR EAX,EAX ,SUB EAX,1 ,ADC EAX,0”后,CF=___,ZF=____。

14. 已知:寄存器AL=10,BL=-10,指令:MUL BL执行后, AX=________H;而若将指令改为:IMUL BL 则执行后AX=________H;

15. 若要将AX的第五位和第九位置为0,使用指令____________________;若要将AX的第五位和第九位置反,使用指令____________________。(说明:最低位为第0位。) 五.简答题

1. 乘除法运算针对无符号数和有符号数,有两种不同的指令。只有一种指令的加减法如何区别无符号数和有符号数运算?

加减法不区别无符号数和有符号数,但根据运算结果分别设置标志寄存器的CF和OF标志,可利用CF和OF进行区别。 2. 逻辑与运算为什么也称为逻辑乘?

逻辑与运算规则类似二进制的乘法,所以称其为逻辑乘。 3. 简述逻辑运算指令怎么实现复位、置位和求反功能?

4. 在处理一维数组时,通常可以采用哪些寻址方式?各自的特点是什么?

5. 通常在什么情况下需要使用MOVSX、MOVZX指令?

对无符号数,在前面加零实现零位扩展。对应指令MOVZX;对有符号数进行符号扩展,即用一个操作数的符号位(最高位)形成另一个操作数,对应指令MOVSX 6. 通常在什么情况下需要使用PTR类型操作符?举例说明。

如在指令“MOV EAX,DWORD PTR ARRAY”,EAX是双字,变量ARRAY被定义为字量,两者类型不同,MOV指令不允许不同类型的数据传送,利用PTR改变ARRAY的类型,将其传送给EAX.

7. ESP是通用寄存器,是否可以随意的修改ESP的值?

不可以,堆栈段的范围由堆栈执政寄存器ESP的初值确定,这个位置就是堆栈的底部(不再变化),因此不能随意改变ESP的值。

8. 大小写字母转换的规律是什么?给出转换的公式。

大小写字母转换利用它们的ASCII码相差20H。SUB BL 20H:实现小写字母转换为大写;ADD BL 20H:实现大写字母转换为小写

9. ESP是通用寄存器,是否可以随意的修改ESP的值?

第5章 汇编语言程序设计

一.选择

1. 循环指令LOOP终止循环的条件是( )。

A.ECX=0 B. ECX=0,且ZF=0 C ECX≠0,且ZF=0 D. ECX≠0,或ZF=1 A.ECX=0,或ZF=1 B. ECX=0,且ZF=0 C.ECX≠0,且ZF=0 D. ECX≠0,2. 循环指令LOOPNZ终止循环的条件是( )。 或ZF=1

3. LOOP指令执行时,隐含计数器是( )。

A. ESP B.EBX C. ECX D.EDI A. JA B. JAE C. JG D. JGE A. JA B. JAE C. JG D. JGE A. ZF = 1 B. SF = 1 C. OF = 1 D. CF 4. 当A>B时转移的条件转移指令为(A、B为无符号数)( )。 5. 当A>=B时转移的条件转移指令为(A、B为 有符号数)( )。 6. 条件转移指令JC Label的测试条件是( )。 = 1

7. 若主程序通过堆栈向子程序传递了3个参数,子程序返回主程序时,在子程序中清除堆栈中3个参数正确的RET指令是( )。

A. RET 3*1 B. RET 3*2 C. RET 3*3 D. RET 3*4 8. 主程序通过堆栈向子程序传递了3个参数,子程序调用结束后,在主程序中清除堆栈中3个参数正确的指令是( )。

A. ADD ESP, 3*2 B. ADD ESP, 3*4 C. ADD EBP, 3*2 D. ADD EBP, 3*4 9. 条件转移指令JZ Label的测试条件是( )。 = 1

10. 利用堆栈传递子程序参数的方法是固定的,若主程序通过堆栈向子程序传递了3个参数,则在子程序中, 主程序中最后一个被压入栈中的参数可以用( )的形式来访问。

A. [EBP-4] B. [EBP-8] C. [EBP+4] D. [EBP+8] 11. 通过堆栈传递参数,在子程序中使用EBP间址取得参数的原因是( )。 A. EBP没有被占用B. EBP间址速度较快C. EBP间址默认的段是堆栈段D. EBP是基址指针

12. 通过寄存器传递参数比通过堆栈传递参数的优点是( )。

A. 能传递更多得参数 B. 存取效率高 C. 能确保正确调用 D. 没有副作 A. ZF = 1 B. SF = 1 C. OF = 1 D. CF

13. 利用堆栈传递子程序参数的方法是固定的,在子程序中, 修改参数( )可以改变子程序的返回地址。

A. [EBP-4] B. [EBP-8] C. [EBP+4] D. [EBP+8] 14. 在用LOOP Label 指令构成的循环中,若ECX的初值为-10,则循环体将被执行( )次。

A. 10 B. 0 C. 100 D. >100

15. 在用LOOP Label 指令构成的循环中,若ECX的初值为10,在LOOP Label 指令前有一条“SUB ECX,2” 指令,则循环体将被执行( )次。

A. 10 B. 5 C. 4 D. >10000 二.名词解释 三.判断

1. 指令指针或者还包括代码段寄存器值的改变将引起程序流程的改变。T 2. JMP指令对应高级语言的GOTO语句,所以不能使用。F

3. 因为条件转移指令Jcc要利用标志作为条件,所以也影响标志。F 4. JA和JG指令的条件都是“大于”,所以是同一个指令的两个助记符。F 5. 控制循环是否结束只能在一次循环结束之后进行。F

6. 介绍LOOP指令时,常说它相当于DEC ECX和JNZ两条指令。但考虑对状态标志的影响,它们有差别。LOOP指令不影响标志,而DEC指令却会影响除CF之外的其他状态标志。T

7. CALL指令用在调用程序中,如果被调用程序中也有CALL指令,说明出现了嵌套。T

8. 子程序需要保护寄存器,包括保护传递入口参数和出口参数的通用寄存器。F 9. 利用寄存器在主子程序间传递参数,其实质就是利用全局变量来传递参数。F 10. 子程序采用堆栈传递参数时,只能在主程序中修改ESP方可保持堆栈的平衡。F

11. 汇编语言中不允许递归调用子程序。F

12. 与高级语言中的自定义函数不同,汇编语言中的子程序不能将计算的结果返给主程序F

13. 汇编语言中,子程序嵌套调用就是递归调用。F 14. 在LOOP指令构成的循环结构中,允许修改ECX的值。T 15. 指令CALL或RET的执行,不改变程序执行的流程。T 16. 在软件中只使用一次的功能编写成子程序完全没有必要。F 17. 在执行CALL指令时,硬件自动将断点地址压入堆栈中。F

18. 在高级语言中,若多重循环出现\交叉”的错误,编译系统通常会给出提示来。若汇编语言程序中也出现\交叉”错误时,汇编程序也会给出提示来。T 四.填空

1. JMP指令根据目标地址的寻址方式,可以分成三种类型:相对寻址、直接寻址和间接寻址。

2. 假设在平展存储模型下,EBX=1256H,双字变量TABLE的偏移地址是20A1H,线性地址32F7H处存放3280H,执行指令“JMP EBX” 后EIP=1256H,执行指令“JMP TABLE[EBX]”后EIP=3280H。

3. “CMP EAX,3721H”指令之后是JZ指令,发生转移的条件是EAX=3721H,此

时ZF=1。

4. JMP指令根据目标地址的寻址方式,可以分成三种类型:相对寻址、间接寻址和直接寻址,通常相对寻址方式使用的最多。

5. 循环结构程序一般有三个部分组成,它们是循环初始,循环体和循环控制部分。 6. 条件转移指令JE Label的测试标志位是ZF,条件转移指令JNO Label的测试标志位是_OF__。

7. .过程定义开始是“TEST PROC”语句,则过程定义结束的语句是TEST ENDP。宏定义开始是“DISP MACRO”语句,则宏定义结束的语句是ENDM。

8. 利用堆栈传递子程序参数的方法是固定的,在子程序中通常是利用寄存器EBP来访问栈中的参数,采用的寻址方式是间接寻址。

9. 调用程序和子程序之间的信息传送称为__参数__,而当传递的信息很大时通常通过地址来进行传递。

10. 在LOOP Label 指令构成的循环中,若ECX的初值为0,则循环体将被执行__2_次;若ECX的初值为—100,则循环体将被执行(2这称为__递归调用_。

12. 通常在子程序的开始部分要保护__入口参数___寄存器,但用做出口参数的通用寄存器则__不能保护和恢复__。

13. 通常在子程序中的参数分为两种类型,分别称为_入口参数__和 __出口参数__。

14. 通常在子程序中至少要有一条_返回__指令用于返回主程序,而汇编程序在汇编时并不检测__返回_指令是否存在。

15. 在主程序中,采用“JMP subName”指令可以_转到_子程序subName,但子程序结束后需返回。 五.简答题

1. 是什么特点决定了目标地址的相对寻址方式应用最多?

当同一个程序被操作系统安排到不同的存储区域执行时,指令间的位移没有改变,目标地址采用相对寻址可方便操作系统的灵活调度。

2. 将下面C语言程序的代码片段转换为功能等价的汇编语言代码片段,其中sign与sinteger均为双字变量。

if ( sin teger = = 0) sign = = 0;

else If ( siteger > 0) sign = 1; else sign = -1;

32

32 -100

)次。

11. 只要堆栈空间允许,子程序嵌套调用的层次_无限制_,子程序也可调用本身,

3. 将下面C语言程序的代码片段转换为功能等价的汇编语言代码片段,其中ch1与caps均为字节变量。

if (ch1> =’a’ && ch1< =’z’) caps= =0;

if (ch1> =’A’ && ch1< =’Z’) caps= =1;

4. 将下面C语言程序的代码片段转换为功能等价的汇编语言代码片段,其中sum

与i变量均为双字变量。

sum=0;

for ( i=1;i< =100;i++) if ( i%2= =0) sum=sum+i;

用于实现结束前一个分支回到共同的出口作用。

6. 不使用CALL指令是否可以实现子程序的调用?若可以,举例说明。

调用系统服务子程序一般不使用CALL指令, 而是使用中断调用指令 7. 写出3条以上的可以改变程序执行流程的指令,并简述其用途。

1)JMP指令;无任何先决条件下,就能使程序改变执行顺序; 2)Jcc指令;根据指定条件,确定程序是否发生转移; 3)LOOP指令;作为计数器,控制循环; 4)CALL指令;在主程序中实现子程序的调用。

8.在子程序中,可否改变子程序的返回地址?若可以,则举例说明。

RET N 该指令允许返回地址出栈后修改堆栈的指针。 9. 为什么特别强调为子程序加上必要的注释?

完整的子程序注释可方便程序员调用该子程序,子程序注释包括子程序名、子程序功能、入口参数和出口参数、调用注意事项和其他说明等。 六.应用题

1. 能被4整除但不能被100整除,或者年被400整除的年份是闰年。编程写一个完整的程序,求出2012年~2099年中的所有闰年年份,并把它们存放在数组Lyear中。

include io32.inc .data

year dword ?

prompt byte msg msg1 main

byte byte

' Enter the year :',0 ' is leap year .',0 ' is not leap year .',0

5. 在N分支结构中,至少要使用N—1条 JMP指令,它的作用是什么?

.code

proc ;主程序开始

eax,offset prompt readsid year,eax dispsid

edx,edx ebx,400 ebx edx,0 leap

;if year mod 400=0 then goto leap ;输出年份

mov call mov call

call dispmsg

;读入一个年份

xor mov div cmp jz

mov

xor mov div cmp jnz

eax,year edx,edx ebx,4 ebx edx,0

noleap ;if year mod 4<>0 then goto noleap

eax,year edx,edx ebx,100 ebx edx,0 leap

;if year mod 100<>0 then goto leap

mov xor mov div cmp jnz mov jmp mov call call

display

noleap: leap: display:

main

eax,offset msg1 eax,offset msg dispmsg dispcrlf

;返回操作系统

ret

endp ;主程序结束

end main ;end of assembly

2. 编程写一个完整的程序,求出2~100之间的所有素数,并将它们存入Prime数组中,素数的个数存入变量Pcounter中。 include io32.inc .data

msg

proc ;主程序开始

eax,offset msg ebx,2

ebx,100 ;i循环入口 done ecx,ebx ecx,1

print

;j=i/2

mov mov ja mov shr

byte

' List of prime number',13,10,0 ' ',0

blank byte

.code main

call dispmsg

iLoop: cmp

jLoop: cmp jb

ecx,2 ;j循环入口

mov cdq div or jz dec jmp

eax,ebx

;xor edx,edx

;被除数送eax,32位除法

ecx

edx,edx ;cmp edx,0

nexti ;if i mod j=0 then goto next i ecx jLoop

;显示素数i的值

;显示空格 ;i=i+1

print: mov

call mov

eax,ebx dispuid

eax,offset blank ebx iLoop dispcrlf

call dispmsg jmp

nexti: inc done: call main

ret

;返回操作系统

endp ;主程序结束

end main ;end of assembly

3. 编程写一个完整的程序,将数组aray中的元素按逆序存放,要求程序中附加的变量最少。数据段的定义如下:

.data

aray dword 12,4, 168,122,-33,56,78,99,345, 66,-5

4. 编程写一个完整的程序,求数组aray中的最大值与最小值,并将它们分别存入max和min单元中。数据段的定义如下:

.data

aray dword 12,4,-168,122,-33,56,78,99,345,-66,-5 min dword ? max dword ? main

proc ;主程序开始

eax,offset msg

;显示字符串

.code

mov

call dispmsg xor esi,esi

mov ecx,lengthof array ;数组元素的个数送ecx

;esi间址指针

mov ax,array[esi*type array] ;注意比例因子!

cmp ax,array[esi*type array] jge next inc

;注意区分有符号数和无符号数! ;esi指向下一个元素

mov ax,array[esi*type array]

esi

again:

next:

loop

again

movsx eax,ax ;注意符号位的扩展! call call ret

dispsid dispcrlf

;返回操作系统

main endp ;主程序结束

end main ;end of assembly(最大值)

5. 编程写一个完整的程序统计msg中的空格的个数与小写字母的个数,并分别将它们存入space单元与char单元中。数据段的定义如下:

.data

msg byte 'I love XUT !',13,10,0 space dword ? char dword ?

6. 编程写一个完整的程序,将字符串msg中所有的小写字母转换为大写字母。数据段的定义如下:

.data

msg byte 'I love XUT !',13,10,0

7. array是一无符号数数组,数据段的定义如下。要求:编程写一个完整的程序求出数组元素中偶数的和,并将它存入esum单元中。

.data

array

dword

12,34,123,78,43,234,79,86,98,20

esum dword ?

8. “回文串”是一个正读和反读都一样的字符串,比如“eye”、“level”、“noon”等。请写一个程序测试一字符串是否是“回文”, 是“回文”则显示“Y”,否则显示“N”。 显示一个字符的子程序为:dispc,入口参数:AL=要显示个字符的SACII码。

9. 回文是指正读和反读都一样的数或文本。例如:11、121、12321等,编写程序,求10到10000之间所有回文数并输出。显示一个无符号数的子程序为:dispuid,入口参数:EAX=要显示无符号数的值。 include io32.inc .data

blank byte

' ',0

;字符串

char byte ?

anyKey byte 13,10,'press any key to continue ...',0 .code main

proc ;主程序开始

mov ecx,10

mov ebx,ecx .repeat

xor esi,esi mov eax,ecx .while (eax!=0)

xor div imul add

edx,edx ebx esi,10 esi,edx

.endw cmp esi,ecx jne next mov eax,ecx call

dispuid

call dispcrlf

next: inc ecx

.until (ecx>10000) ret

;返回操作系统

main end

main ;end of assembly

10. 编程写一个名为Prime的子程序,用于测试一个整数是否是素数,主子程序间的参数传递通过堆栈完成。调用Prime子程序求出2~100之间的所有素数,并将它们存入Parray数组中,素数的个数存入变量Pcounter中。 include io32.inc .data

msg

proc ;主程序开始

eax,offset msg ebx,2

ebx,100 ;i循环入口 done ecx,ebx ecx,1

print eax,ebx

;j=i/2

mov mov ja mov shr

byte

' List of prime number',13,10,0 ' ',0

blank byte

endp ;主程序结束

.code main

call dispmsg

iLoop: cmp

jLoop: cmp jb mov

ecx,2 ;j循环入口

cdq div or jz dec jmp

;xor edx,edx

;被除数送eax,32位除法

ecx

edx,edx ;cmp edx,0

nexti ;if i mod j=0 then goto next i ecx jLoop

;显示素数i的值

;显示空格 ;i=i+1

print: mov

call mov

eax,ebx dispuid

eax,offset blank ebx iLoop dispcrlf

call dispmsg jmp

nexti: inc done: call main

ret

;返回操作系统

endp ;主程序结束

end main ;end of assembly

11. 编程写一个名为Gcd的求两个数最大公约数子程序,主子程序间的参数传递通过堆栈完成。调用Gcd子程序求出三个双自变量:dvar1、dvar2与dvar3的最大公约数并输出。显示一个无符号数的子程序为:dispuid,入口参数:EAX=要显示无符号数的值。

12. 在一个已知长度的字符串中查找是否包含“BUG”子字符串。如果存在,显示“Y”,否

则显示“N”。 显示一个字符的子程序为:dispc,入口参数:AL=要显示个字符的SACII码。13. 已知一个字符串的长度,剔除其中所有的空格字符。请从字符串最后一个字符开始逐个向前判断、并进行处理。

14. 编写一子程序,将一个32位二进制数用8位十六进制形式在屏幕上显示出来。采用堆栈方法传递这个32位二进制数,并写主程序验证它。显示一个字符的子程序为:dispc,入口参数:AL=要显示个字符的SACII码。

15. 编程写一个名为Bubble的冒泡排序子程序,主子程序间的参数传递通过堆栈完成;并写主程序验证它。显示一个无符号数的子程序为:dispuid,入口参数:EAX=要显示无符号数的值。

第6章 微机总线

一.选择

1. 地址总线为20位的微处理器可直接寻址的最大范围是( )。 应

3. 当控制线READY=0时,应在( )之间插入等待周期Tw 应

5. 8086的READY信号线表示( )

A 就绪 B 复位 C 时钟 D 测试

A 总线请求 B 总线响应 C 中断请求 D 中断响应

A 完成数据传送 B 输出地址 C 输出控制信号 D 检测数据传送 A 完成数据传送 B 输出地址 C 输出控制信号 D检测数据传送 A 完成数据传送 B 输出地址 C 输出控制信号 D 检测数据传送 A 完成数据传送 B 输出地址 C 输出控制信号 D 检测数据传送 A 总线上每秒传输的最大数据量 B 总线上每秒传输的最大字节量 C 总线上每秒传输的二进制位数 D 总线上每秒传输的十进制位数

A 总线位宽 B 总线字宽 C 总线带宽 D 数据位数 A 不同类型 B 同类型 C 近距离 D 远距离 A 不同类型 B 同类型 C 近距离 D 远距离 A 通用的串行总线接口 B 通用的并行总线接口 6. 8086的HOLD信号线表示( ) 7. 8086的写总线周期在T1状态( ) 8. 8086的写总线周期在T2状态( ) 9. 8086的写总线周期在T3状态( ) 10. 8086的写总线周期在T4状态( ) 11. MB/s的含义是 ( )

A T1和T2之间 B T2和T3之间 C T3和T4之间 D 任何时候

A 可屏蔽中断响应 B 不可屏蔽中断 C 可屏蔽中断 D不可屏蔽中断响A 1MB B 16MB C 64MB D 4GB

A 可屏蔽中断响应 B 不可屏蔽中断 C 可屏蔽中断 D不可屏蔽中断响2. 8086的INTR信号线表示( )

4. 8086的NMI信号线表示( )

12. 总线上每秒传输的最大字节量称为 ( ) 。 13. 串行通信适用于微机间 ( )的数据传送。 14. 并行通信适用于微机间 ( )的数据传送。 15. USB是一种 ( )

C 新型的微机内部总线 D 新外设标准插头

二.名词解释

1. 芯片总线:大规模集成电路芯片内部或系统中各种不同器件连接在一起的总线. 2. 内总线:微机系统中功能单元与功能单元间连接的总线. 3. 外总线:微机系统与其外设或微机系统之间连接的总线

4. 总线仲裁:确定使用总线的主模块,目的是避免多个主模块同时使用时占用总线,确保任何时候总线上只有一个模块发送信息. 5. 总线带宽:单位时间传送的数据量,也成总线

6. 总线时序:描述总线信号随时间变化的规律以及总线信号的相互作用. 7. 指令周期:一条指令在处理器中从取旨、译码到最终执行完成的过程 8. 总线周期:伴随着数据交换的总线操作 9. 机器周期:完成一个基本工作所需要的时间。 10. 时钟周期:每个时钟脉冲的持续时间。 11. 存储器读:处理器从存储器读取代码或操作数。 12. 存储器写:处理器向存储器写入操作数。 13. I/O读:存储器从外设读操作数 14. I/O写:存储器向外设写操作数

15. ALE:地质所存允许,是一种三态输出高电平有效的信号 三.判断

1. 低电平有效是指信号为低电平时候表示信号的功能。T

2. 处理器读取存储器操作数时和读取代码时,都发生存储器读的总线操作。T 3. 8086准备好READY引脚输出给存储器或外设有效信号,表明处理器准备好交换数据了。F

4. 8086总线周期的T1状态发出地址,属于总线操作的寻址阶段。T

5. 总线操作的同步时序是指总线操作的各个过程由共用的总线时钟信号控制。T 6. 总线操作的半同步时序是指总线操作仍由共用的总线时钟信号控制,但慢速模块可以通

过等待信号让快速模块等待。T

7. 总线操作的异步时序是指总线操作需要握手(Handshake)联络(应答)信号控制,总线

时钟信号可有可无。T

8. 能够控制总线传输信息的设备称为从设备。F 9. 处理器引脚是典型的芯片总线。T

10. 现代微型计算机采用分级总线结构,以适应不同部件的要求。T 11. 高性能总线都支持数据块传送,即猝发传送。T 12. 某一时刻可以有多个主模块控制总线。F

13. 总线类似于一个“公路网”,通过不同的总线把系统内的各个模块连接起来。T

14. 总线信号并不是各自独立发挥作用,而是相互配合实现总线操作。T 15. 处理器通过引脚对外操作主要有存储器读,存储器写,I/O读,I/O写四种操作。T 四.填空

1. 某个处理器具有16个地址总线,通常可以用A____0____表达最低位地址信号,

用A__15__

_____表达最高地址信号。

2. 8086有3个最基本的读写控制信号,它们是___RD____和___WR____。 3. 8086执行指令“MOV AX, [BX]”时,在其引脚上将产生__存储器读___总线操作;执行指令“MOV [BX], AX”时,在其引脚上将产生_存储器写___总线操作。 4. 8086无等待的总线周期由_4__个T状态组成,Pentium无等待的总线周期由2个T状态组成。

5. 占用总线进行数据传输,一般需要经过总线请求和仲裁、_寻址__、_数据传送_和结 束4个阶段。

6. 总线按照信号分类可以分为数据总线,_地址总线__,_控制总线__。 7. 总线按照信号分类可以分为__________,__________,控制总线。 8. 总线按照数据传输方式分为并行总线_和_串行总线_ 。

9. 8086处理器的数据总线为16位,时钟频率为5MHz,那么实现一次16为数据传送的总线带宽是_20?10b/s。而对于系统时钟频率为66MHz的Pentium处理器来说,其2-1-1-1的猝发传送周期用5个时钟传送32个字节数据,则其总线带宽是422.4MB/S 。

10. 通常情况下,我们用AB表示地址总线,那么DB表示数据总线, 用CB_表示控制总线。

11. 位于集成电路内部的总线被称为芯片总线。用于同一块印刷电路板上的总线是内总线。

12. 总线仲裁的方法有用 集中仲裁和分布仲裁。

13. 通常总线带宽与位宽成正比,如果总线的频率为88MHz,总线的位宽为8位,则总线的带宽应为__________。

14. 外部总线也称为通信总线,其表现形式是位于微机后面板上的一些 __________ 。

15. IA32处理器进行串行传送时,需要___1___根传输线;并行传送时,每个数据位都需

要 ____1_条单独的传输线。 五.简答题

1. 为什么称处理器的数据总线是双向的?

数据总线承担着处理器与存储器、外设之间的数据交换既可以输入也可以输出故其是双向的

2. 8086的地址和数据总线为什么要分时复用?

为减少引脚个数,8086采用了地址总线和数据总线分时复用。即数据总线在不同时刻还具有地址总线的功能。

3. 具有三态能力的引脚输出高阻意味着什么?

相当于连接了一个阻抗很高的外部器件,信号无法正常输出;即放弃对该引脚的控制,与其它部件断开连接。

4. 总线周期中的等待状态是个什么工作状态?

处理器的运行速度远远快与存储器和I/O端口。处理器检测到存储器或I/O端口

6不能按基本的总线周期进行数据交换时,插入一个等待状态Tw。等待状态实际上是一个包车总线信号状态不变的时钟周期 5. 猝发传送是一种什么传送?

处理器只提供首地址。但可以从后续连续的存储单元中读写多个数据

6. 8086处理器的输入控制信号RESET,HOLD的含义各是什么?当它们有效时,8086 CPU将出现何种反应?

RESET:复位输入信号,,高电平有效。该引脚有效时,将迫使处理器回到其初始状态;转为无效时,CPU重新开始工作。

HOLD:总线请求,是一个高电平有效的输入信号。该引脚有效时,表示其他总线主控设备向处理器申请使用原来由处理器控制的总线。

7. 8086处理器的输入控制信号NMI和INTR的含义各是什么?当它们有效时,8086 CPU将出现何种反应?

NMI:不可屏蔽中断请求,是一个利用上升沿有效地输入信号。该引脚信号有效时,表示外界向处理器申请可屏蔽中断。

INMI:可屏蔽中断请求,是一个利用高电平有效的输入信号。该引脚信号有效时,表示中断请求设备向处理器申请可屏蔽中断。 8. 总线数据传输为什么要进行总线仲裁?

总线上可能连接多个需要控制总线的主设备,但任一时刻总线上只能有一个模块发送信息。总线仲裁可以确定使用总线的主模块,用以避免多个主模块同时占用总线

第7章 存储系统

一.选择

1. 某处理器设计只支持7KB主存,则内存地址需( )位就足够了。

A 12 B 13 C 14 D 15 A.SRAM B.DRAM C.EPROM D.E2PROM A.PROM B.EPROM C.Flash Memory D.E2PROM A.PROM B.MROM C.EPROM D.E2PROM

A.非易失性 B.易失性 C.只读性 D.磁介质性 A.字扩展 B.位扩展 C.字位扩展 D.以上均可 A.16 B.8 C.1 D.4 2. 需要定时刷新的存储器是( )

3. 下列只读存储器中,可紫外线擦除数据的是( ) 4. 可编程ROM可简记为( ) 。

5. 优盘是一种电可擦除.可重写的 ( ) 的存储器。 6. 存储器芯片位数不足时,需用( ) 。 7. 64K*1位的DRAM芯片通常有( ) 地址线引脚

8. 某微机系统的存储器容量为256K字节,若采用单片容量为16K*8位的SRAM芯片,则组成该存储系统共需( )个该类芯片

A.16 B.8 C.1 D.4 A.16 B.8 C.1 D.4 9. 64K*1位的EPROM芯片通常有( ) 地址线引脚

10. 某微机系统的存储器容量为256K字节,若采用单片容量为16K*1位的SRAM芯片,则组成该存储系统共需( )个该类芯片

A.16 B.128 C.64 D.8 A.640kB B.64kB C.1MB D.16MB A.640kB B.64kB C.1MB D.16MB A.1k B.32k C.64k D.1M A.1k B.32k C.64k D.1M

A.PROM B.EPROM C.Flash Memory D.E2PROM 11. 8086CPU有20条地址线,可寻址空间为( ) 。 12. 80286有24条地址线,可寻址空间为( )。 13. PC系列微机可寻址的I/O空间是( ) 。

14. 一般PC系列微机I/O寻址只用10根地址线,可寻址( )个。 15. 下列只读存储器中,仅能一次写入数据的是( ) 二.名词解释

1. RAM:随机存储器,只要给出存取位置就可以读写内容,存取时间与所处位置无关。

2. ROM:只读存储器,只能读出其中的数据,但数据可以长期保存断电不丢失。 3. SRAM:

4. FLASH ROM: 5. NVRAM 6. 完全译码 7. 部分译码

8. 系统RAM区:该去占用地址最低端的640KB空间(00000H-9FFFFH)由dos进行管理

9. 存储容量:微机系统存储容量,以字节B为基本单位,半导体芯片以位b为基本单位,表达存储容量

10. 存取速度:即存储时间,指从读写命令发出到数据传输操作完成经历的时间 11. 空间局部:即紧邻被访单元的地方也将被访问。 12. 时间局部:刚被访问的单元很快将再次被访问。

13. 辅助存储器:通过磁记录或光记录方式,以磁盘或光盘形势存放可读可写式制度内容

14. 地址译码:将某个特定的编码输入翻译为有效输出的过程

15. 虚拟存储器:利用读写辅助存储器,操作系统可以在主存储器与辅助存储器之间以磁盘文件形式建立虚拟存储器 三.判断

1. 存储系统的高速缓存需要操作系统的配合才能提高主存访问速度。F 2. 存储器芯片的集成度高表示单位芯片面积制作的存储单元数多。T 3. 微机大容量主存一般采用DRAM芯片组成。T

4. 部分译码可以简化译码电路,不会减少可用的存储空间。F

5. 存储系统每次给DRAM芯片提供刷新地址,被选中的芯片上所有单元都刷新一遍。F

6. 存储系统的刷新地址提供给所有DRAM芯片。T 7. ROM芯片的烧写或擦写就是指对ROM芯片的编程。T 8. 存储器译码时采用全地址译码会浪费地址空间。F 9. 存储器的主要性能指标是存储容量和存储空间。F

10. 存储访问的局部特性保证了层次化存储系统具有优秀的性能。T 11. 存储访问的局部性原理只是指空间局部。F 12. PC机主要采用光盘作为辅助存储器。F

13. 按制造工艺,半导体存储器可分为“双极型”器件和“MOS型”器件。T 14. 芯片的存储容量有存数单元数和每个存储单元的数据位数决定。T 15. 高性能处理器必须配合快速主存储器才能真正发挥作用。T 四.填空

1. 计算机存储容量的基本单位:1 B(Byte)=___8__b(bits),1TB=__2________GB 2. 在半导体存储器中,RAM指的是随机存取存储器_,可读可写,但断电后信息一般会丢失。

3. 在半导体存储器中ROM指的是只读存储器,正常工作时只能从中读取信息。 4. 存储结构为8K×8位的EPROM芯片2764,共有13个地址引脚,用其组成64KB的ROM存储区共需8片芯片。

105. 对一个存储器芯片进行片选译码时,有一个高位系统地址信号没有参加译码,则该芯片

的每个存储单元占有__________个存储器地址。假设地址总线A19~A15输出01011时译码电路产生一个有效的片选信号,这个片选信号共有__________容量。 6. 半导体EPROM芯片顶部开有一个圆形石英窗口。 通常U盘、MP3播放器、数码相机、

多媒体手机等设备采用半导体Flash ROM芯片构成存储器。 7. SIMM是一种________内存条,而 DIMM是一种________内存条。

8. 每个存储单元被赋予一个唯一的编号,称为地址,一个存储单元可以存储1、4、8、16、32位二进制信息。

9. 存储器扩展有两种方法,分别是_______扩展和________扩展。

10. 用2k×8位的存储芯片,组成16k×8位的存储器,需用 8片,组成24k×1位的存储器,需用 12_片。

11. 8086的存储器分为偶存储体和奇存储体。 12. 衡量存储器的技术指标主要有容量,速度和成本。

13. 衡量存储器的技术指标主要有存储容量,存储速度和成本价格

14. 以8086为CPU的微型计算机内存RAM区为00000H~3FFFFH,若采用8K*8的6264构成,需要________片芯片,若采用256K*1的21256构成,需要________片芯片。

15. 计算机需要主存储器存放当前运行的_程序_和_数据__。 五.简答题

1. 存储器的存取时间和存取周期有什么区别?

存取时间是指从读/写命令发出,导数据传输操作完成所经历的时间;存取周期表示两次存储器访问所允许的最小时间间隔。存取周期大于等于存取时间 2. 地址重复是怎么回事?

译码电路中只有部分地址线参与译码会造成地址重复,也就是一个存储单元占有多个存储器地址。

3. 简述存储系统的层次结构及各层存储部件特点。

为解决容量.速度和价格的矛盾,存储系统采用金字塔型层次结构,单位价格和速度自

上而下逐层减少,容量自上而下逐层增加。

存储系统的各层存储部件自上而下依次是:CPU寄存器.高速缓存.主存存储器(RAM/ROM

),辅助存储器如磁盘.光盘等。CPU寄存器.高速缓存器集成在CPU芯片上,对用户来说,

是透明的,它们用于暂存主存和处理器交互的数据,以减少频繁读取主存而影响处理器速度

;主存储器则可和处理器直接交换数据,而辅助存储器必须经过主存存储器,才可与处理器 进行数据交换。 4. DRAM为什么要刷新?

DRAM以单个MOS管为基本存储单元,以极间电容充放电表示两种逻辑状态。由于极间电容的容量很小,充电电荷自然泄漏会很快导致信息丢失,所以要不断对

它进行刷新操作.即读取原内容.放大再写入。 5. 存储系统如何进行刷新?

存储系统的刷新控制电路提供刷新行地址,将存储DRAM芯片中的某一行选中刷新。实际

上,刷新控制电路是将刷新行地址同时送达存储系统中所有DRAM芯片,所有DRAM芯片都在同时进行一行的刷新操作。 刷新控制电路设置每次行地址增量,并在一定时间间隔内启动一次刷新操作,就能够保证所有DRAM芯片的所有存储单元得到及时刷新。

6. 请给出下图中138译码器的所有译码输出引脚对应的地址范围。

7. 写出下图中138译码器指定引脚译码输出的地址范围。

8. 利用全地址译码将6264芯片接在IA-32的系统总线上,其所占地址范围为0BE000H~0BFFFF H,画出连接电路图。

第8章 无条件与查询传送方式

一.选择

1. 8086CPU对I/O接口编址采用( ) 。

A.I/O端口和存储器统一编址 B.I/O端口和寄存器统一编址 C.I/O端口单独编址 D.输入和输出口分别编址 A. B. C. D.

A.n值越小级别越高 B.无优先级别 C.n值越大级别越高

2. 当CPU访问外设接口时,需利用( )信号。

3. 软中断INT n(n=10~FFH)的优先级排列原则是( )。 D.随应用而定

4. CPU在执行IN AL,DX指令时,DX的内容输出到( )。 息 息

C 处理器控制接口电路和外设操作的有关信息 D 以上皆可 C 处理器控制接口电路和外设操作的有关信息 D 以上皆可

A 处理器和外设之间交换的数据 B 外设或其接口电路当前的工作状态信12. 控制寄存器用来保存( )

A.地址总线 B.数据总线 C.存储器 D.寄存器 A.查询 B.中断 C.DMA D.以上皆是 A.有条件 B.中断 C.DMA D.查询

A 先写数据端口,再读/写控制端口 B 先读状态端口,再读/写数据端口 C 先写控制端口,再读/写数据端口 D 先读控制端口,再读/写状态端口

A 线性和非线性编址 B 集中与分散编址 C 统一和独立编址 D 重叠与非重叠编址

A 无条件传送方式 B 查询传送方式 C 中断传送方式 D DMA传送方式 A 处理器和外设之间交换的数据 B 外设或其接口电路当前的工作状态C 处理器控制接口电路和外设操作的有关信息 D 以上皆可

A 处理器和外设之间交换的数据 B 外设或其接口电路当前的工作状态信5. 数据传送方式中,除无条件传送外,( )方式也是外设被动进行数据交换 6. 程序控制传送方式又分为无条件传送和( )传送方式。

7. 采用查询传输方式的工作流程是按( )的次序完成一个数据的传输。

8. 按微机系统中与存储器的关系,I/O端口的编址方式分为( )

9. 从硬件的角度而言,采用硬件最少的数据传送方式是( ) 10. 状态寄存器用来保存( )

信息

11. 数据寄存器用来保存( )

13. 由外设主动提出数据交换请求的数据传送方式是( )

A 无条件传送方式 B 查询传送方式 C 中断传送方式 D 以上皆是 A 无条件传送方式 B 查询传送方式 C 中断传送方式 D 14. 从硬件的角度而言,下列数据传送方式硬件最复杂的是( )

不确定

15. 利用DOS的09号系统功能输出一串字符串,需要先将该字符串在内存中的偏移地址放入( )

A AX寄存器 B BX寄存器 C CX寄存器 D DX寄存器 二.名词解释

1. 数据寄存器:保存处理器与外设之间交换的数据

2. 状态寄存器:保存外设当前的工作转台信息,处理器通过该寄存器掌握外设状态,进行数据交换。

3. 控制寄存器:保存处理器控制接口电路和外设操作的有关信息,处理器向控制寄存器写入数据。

4. 统一编址:将I/O端口与存储器地址统一编排,共享一个地址空间。 5. 独立编址:将I/O端口独立编排地址,独立于存储器地址。 6. 接口:位于基本系统和外设间实现两者数据交换的控制电路。 7. 并行数据传输:是在传输中有多个数据位同时在设备之间进行的传输 8. 串行数据传输:是在传输中只有1个数据位在设备之间进行的传输 三.判断

1. 处理器并不直接连接外设,而是通过I/O接口电路与外设连接。T 2. I/O接口的状态端口通常对应其状态寄存器。T

3. I/O接口的数据寄存器保存处理器与外设间交换的数据,起着数据缓冲的作用。T

4. IA-32处理器的64K个I/O地址也像存储器地址一样分段管理。F

5. 指令“OUT DX,AX”的两个操作数均采用寄存器寻址方式,一个来自处理器.一个来自外设。F

6. 向某个I/O端口写入一个数据,一定可以从该I/O端口读回这个数据。F 7. 程序查询方式的一个主要缺点是需要处理器花费大量循环查询.检测时间。T 8. 16位DOS应用程序采用中断调用指令使用DOS系统功能。T

9. I/O接口电路的基本器件是实现数据缓冲的三态缓冲器和实现数据锁存的锁存器。T

10. 硬件电路决定了I/O端口的访问形式。T 11. 一个I/O地址只能被用作输入端口。F

12. 微机连接外部设备,一方面需要根据外设接口信号设计相应的硬件接口电路,另一方面

还需要配合软件管理程序。T

13. 02号DOS系统功能调用是,将在显示器输出一串字符串。F

14. 实现DOS系统功能调用需要先在AL寄存器中设置系统功能调用号。F 15. 相对查询传送来说,无条件传送工作可靠。F 四.填空

1. 计算机能够直接处理的信号是__数字量__,___开关量__和脉冲量形式。

2. 计算机能够直接处理的信号是数字量,____和___________形式。

3. 输入输出指令有两种寻址方式,其具体形式是:___直接寻址___和__DX寄存器间接寻址

4. 指令IN是将数据从I/O端口传输到__处理器_, 执行IN指令处理器引脚产生_I/O读__总线周期。

5. 指令“IN AL, 21H”的目的操作数是寄存器_寻址方式,源操作数是直接寻址 方式。

6. 指令“OUT DX, EAX”的目的操作数是间接_寻址方式,源操作数是_寄存器寻址_寻址方式。

7. 在Intel 80x86系列处理器中,I/O端口的地址采用I/O独立_编址方式,访问I/O端口时要使用专门的__I/O指令。

8. 接口的基本功能是输入数据_,输出信号___ 。

9. 通过一个外设接口与外设之间交换的信息主要有数据信息、状态信息、和控制信息 。

10. 程序控制的三种I/O传送方式是指无条件传送、查询传送_和中断传送。 11. 程序控制的三种I/O传送方式是指:无条件传送、______________和______________。

12. 通过一个外设接口与外设之间交换的信息主要有、和、控制信息。

13. 借助于DOS系统功能,实现输入一个字符,则需要先执行指令mov ah,1__,再执行指令int _al

14. 借助于DOS系统功能,实现输出一个字符“a”,则需要先执行指令mov ah,_2_

__;再执行指令mov _dl ,‘a’。

15. I/O接口电路从应用角度可归结为数据寄存器,状态寄存器和控制寄存器3类可编程寄存器。 五.简答题

5. 为什么说外部中断才是真正意义上的中断?

外部中断是由处理器外部提出中断请求引起的程序中断。相对于处理器来说,外部中断是随机产生的,所以是真正意义上的中断。 6. 与系统总线连接的输出接口为什么需要锁存器?

将数据总线的数据暂时锁存,使较缓慢的设备有足够的时间进行处理。 7. 下图示例了无条件输入输出接口电路,编程实现当开关闭合时,相应的LED灯将点亮,并调用延时子程序DELAY保持一定时间(假设延时子程序DELAY已经编写,直接调用)。

8. 下图示例了无条件输入输出接口电路,编程实现让L7点亮(其它LED灯灭)一段时间后,

L0点亮(其它LED灯灭),持续时间可调用延时子程序DELAY 。

第9章 中断与DMA传送方式

一.选择

1. 一个完整的中断过程包括中断请求、( B )、中断服务和中断返回四个阶段。

A.中断处理 B.中断响应 C.保存断点 D.开中断 A.1 B.2 C.3 D.4

A.INT n B.NMI C.INTR D.单步中断 A.1 B.2 C.3 D.4 A.15 B.16 C.64 D.32 A.IF=0 B.IF=1 C.TF=0 D.TF=1

A.除法错 B.溢出异常 C.调试异常 D.断点异常 A.除法错 B.溢出异常 C.调试异常 D.断点异常 A.1 B.2 C.3 D.4

A.RET B.IRET C.CALL D.INT

A.定时计数器 B.中断控制器 C.DMA控制器 D.并2. CPU每次可以响应( A )个中断源的中断请求。 3. 8086系统中,中断优先级最低的是( C )。

4. 8086CPU每响应一次中断,需连续执行(D )个中断响应总线周期。 5. 两片8259芯片级连后,可以管理(C )级中断。 6. CPU响应INTR引脚上来的中断请求的条件是(B ) 。 7. 向量号为0的中断指( A )中断 。 8. 向量号为4的中断指(B )中断 。 9. CPU每次能响应( A )个中断源的请求。 10. 中断返回的指令是( B )。 11. 8259是一个可编程的( B ) 。 行接口

12. 8259芯片中,IRR是( )寄存器

A.中断屏蔽寄存器 B.中断请求寄存器 C.中断服务寄存器 D.以上皆不是

13. 一片8259可以管理 ( C ) 级中断

A.2 B.4 C.8 D.16

A.中断向量地址=中断类型码*8 B.中断向量地址=中断类型码*4 C.中断向量地址=中断类型码*2 D.中断向量地址=中断类型码*1 A.电压触发 B.边沿触发 C.脉冲触发 D.以上皆14. 中断向量与中断类型码的关系是( B ) 。

15. 中断触发的方式有电平触发和( B ) 触发两种 不是 二.名词解释

1. 中断源:能引起中断的事件或原因

2. 中断识别:处理器识别出当前究竟是哪个中断源提出了请求,并明确与之相应的中断服务程序所在的主存位置。

3. 中断优先权:为每个中断源分配一级中断优先权,即系统设计者事先为每个中断源确定处理器响应他们的先后顺序

4. 中断嵌套:在一个中断处理过程中又有一个中断请求被响应处理

5. I/O敏感指令:对输入输出的指令IN,OUT,INS,OUTS,还有中断标志设置指令CLI,STI的执行涉及I/O端口,称之为I/O敏感指令

6. 中断:处理器在执行程序时,被内部或外部的时间打断,转而执行一段预先安排好的终端服务程序;服务结束后,又返回原来的断点,继续执行原来的程序,这个过程叫中断。

7. DMA:其他控制器接管系统总线实现存储器与外设之间的数据直接传送。此方法称为直接存储器存取又称DMA

8. 内中断:有处理及内部产生的中断事件称内部中断源,有内部中断源引起的中断称为内中断。 三.判断

1. 中断传送方式下,由硬件实现数据传送,不需要处理器执行IN或OUT指令。F

2. IA-32处理器保护方式用中断描述符表代替了实方式的中断向量表。T 3. 某个外设中断通过中断控制器IR引脚向处理器提出可屏蔽中断,只要处理器开中断就一定能够响应。F

4. DMA控制器接管系统总线实现外设与CPU之间的数据直接传送。F 5. DMA通道的单字节传送方式也成为周期窃取方式。T 6. 中断传送赋予外设主动提出数据交换请求的能力。T 7. 中断传送用硬件复杂性换来了数据传送的快递性。T 8. DMA传送中用DMAC替代处理器。T

9. 标志寄存器EFLAGS有一个IOPL字段,表示程序具有的I/O特权级。T 10. 每个程序都有一个任务状态段TSS,其中包含I/O许可位图,一个I/O地址对应中I/O许可位图的一个位。T

11. 外设像存储器芯片那样直接和处理器相连。F 12. 外设必须经过输入输出接口电路和处理器相连。T 13. I/O接口的各种寄存器需要利用I/O地址区别。T 14. 中断是对处理器功能的有效扩展。T

15. 可屏蔽中断用于外设数据传送,需要中断控制器配合。T 四.填空

1. DMA的意思是_直接存储器存取_,主要用于高速外设和 主存_间的数据传送。 2. 在IA-32处理器中0号中断被称为_除法错异常_中断,外部非屏蔽中断是_2_号中断。

3. IA-32处理器开中断指令 STI_,此时标志IF=_1_。 4. IA-32处理器关中断指令是_CLI_,此时标志IF=_0_。

5. 实地址方式下,主存最低_1KB_的存储空间用于中断向量表。若其内容从低地址开始依次是00H.23H.10H.F0H,则意味着0号中断的中断服务程序的首地址是_F010H:2300H_。

6. 向量号8的中断向量保存在物理地址 20H_开始的 4_个连续字节空间;

7. 8237芯片是一种高性能的可编程_DMA控制器芯片_ ,有_4_个独立的DMA通道

8. 外部中断也称为_硬件_中断,由CPU某一引脚信号引起。内部中断又称_异常/软件_中断,是在程序运行过程中,为处理意外情况或调试程序而提供的中断。 9. _不可屏蔽_中断不受中断允许标志位IF的屏蔽。而INTR引脚上来的中断属于_可屏蔽_中断。

10. DMA控制器8237有4种工作方式,分别是_数据传送方式_,_单字节传送方式_,请求传送方式和级联方式。

11. 中断工作过程中,_段基地址_和_偏移地址_信息一般会由处理器自动加以保护

12. 中断返回指令将_断点信息_和_寄存器_的信息出栈恢复。 13. IF是 中断_标志,处理器响应可屏蔽中断时IF的值为_1_。

14. 实方式下,使用中断向量表直接保存中断服务程序的入口地址,它包含 十六位段基地址CS_和_十六位偏移地址IP_两部分内容。

15. 保护方式下,每个中断服务程序由一个中断描述符指向,其中保存着中断服务程序的_ 16位段选择器_,_32位偏移地址_和中断特权层。 五.简答题

1. 什么是接口电路的命令字或控制字?

处理器向接口芯片相应端口写入特定的数据,用于选择I/O芯片的工作方式或控制外设工作,该数据称命令字或控制字。 2. 为什么说外部中断才是真正意义上的中断?

外部中断是由处理器外部提出中断请求引起的程序中断。相对于处理器来说,外部中断

是随机产生的,所以是真正意义上的中断。 3. 简答DMA传送的一般过程

进行DMA传送的一般过程是:外设先向DMA控制器提出DMA请求?,DMA控制器通过总线请求信号有效向处理器提出总线请求,处理器回以总线响应信号有效表示响应。此时处理器的三态信号线将输出高阻状态,即将它们交由中断控制器(DMAC)进行控制,完成外设和主存间的直接数据传送。 4. 简述主机与外设进行数据交换的几种常用方式。

无条件传送方式,常用于简单设备,处理器认为它们总是处于就绪状态,随时进行数据 传送。

程序查询方式:处理器首先查询外设工作状态,在外设就绪时进行数据传送。 中断方式:外设在准备就绪的条件下通过请求引脚信号,主动向处理器提出交换数据的

请求。处理器无其他更紧迫任务,则执行中断服务程序完成一次数据传送。 DMA传送: DMA控制器可接管总线,作为总线的主控设备,通过系统总线来控制存储器和外设直接进行数据交换。此种方式适用于需要大量数据高速传送的场合。

5. 以可屏蔽中断为例,简答中断的一般过程

中断请求:外设通过硬件信号的形式.向处理器引脚发送有效请求信号。

中断响应:在满足一定条件时,处理器进入中断响应总线周期。

关中断:处理器在响应中断后会自动关闭中断。 断点保护:处理器在响应中断后将自动保护断点地址。

中断源识别:处理器识别出当前究竟是哪个中断源提出了请求,并明确与之

相应的中断

服务程序所在主存位置。

现场保护:对处理器执行程序有影响的工作环境(主要是寄存器)进行保护。 中断服务:处理器执行相应的中断服务程序,进行数据传送等处理工作。 恢复现场:完成中断服务后,恢复处理器原来的工作环境。 开中断:处理器允许新的可屏蔽中断。

中断返回:处理器执行中断返回指令,程序返回断点继续执行原来的程序。 6. 中断时为什么要安排中断优先级?什么情况下程序会发生中断嵌套? 处理器随时可能会收到多个中断源提出的中断请求,因此,为每个中断源分配一级中断

优先权,根据它们的高低顺序决定响应的先后。

必须在中断服务程序中打开中断,程序才会发生中断嵌套。 7. IA-32处理器的中断向量表和中断描述符表的作用是什么?

IA-32处理器的中断向量表和中断描述符表的作用都是获取中断服务程序的入口地址(称

为中断向量),进而控制转移到中断服务程序中。 8. 说明如下程序段的功能:

cli mov ax,0 mov es,ax mov di,80h*4

mov ax,offset intproc ; intproc是一个过程名 cld

mov es:[di],ax mov ax,seg intproc mov es:[di+2],ax sti

设置80H号中断向量。

第10章 常用接口技术

一.选择

1. 8255芯片是一种(A ) 。

A.并行接口芯片 B.串行接口芯片 C.DMAC D.中断控制芯片

2. 8255芯片有( B)数据端口。

A.3个16位 B.3个8位 C.4个16位 D.4个8位 A.2 B.3 C.4 D.6

A.4个端口地址 B.2个端口地址 C.4个连续的偶地址 3. 8255芯片有( B )种基本工作方式。 4. 8086系统中的8255芯片有 ( A ) 。 D.4个连续的奇地址

5. 对于8255芯片的描述正确的是 (D ) 。

A.A口只能输入,B口只能输出

B.C口高4位只能输入,低4位只能输出 C.C口高4位.低4位不能同时输入输出 D.A.B.C口既可以输入,也可以输出 A.OUT 60H,AL B.OUT 66H,AL C.OUT 61H,AL D.OUT 62H,AL

A.减1计数器 B.0#计数器 C.控制字寄存器 D.初

6. 设8255芯片的端口基地址是60H,寻址控制寄存器的命令是( A )。

7. 向8253芯片写入的计数初值,写到了( 预置寄存器 ) 中。 值寄存器

8. 8253芯片有( C )个端口地址。

A.2 B.3 C.4 D.6 A.1 B.4 C.5 D.8

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

A.6个16位计数通道 B.3个16位计数通道 C.6个8位计数通道 D.3个8位计数通道 A.OUT 60H,AL B.OUT 61H,AL C.OUT 62H,AL D.OUT 63H,AL

9. PC机中通常采用独立的键盘,通过( C )芯电缆与主机连接。 10. 8253芯片有( D )种工作方式。 11. 8253芯片内部有完全独立的( B) 。

12. 设8253芯片的端口基地址是60H,寻址控制寄存器的命令是( A)。

13. 假设某8253芯片的CLK1接1.5MHz的时钟,欲使OUT1产生频率为30kHz的方波信号,则8253的计数值应为( D )

A.2 B.20 C.50 D.5

14. 假设某8253芯片的CLK2接15MHz的时钟,欲使OUT2产生频率为300kHz的方波信号,则其的计数值应为( C )

A.2 B.20 C.5 D.50

A.2进制 B.10进制 C.BCD码 D.8进制 15. 下列不属于8253芯片计数初值格式的是(D ) 二.名词解释 三.判断

1. 称为定时器也好,称为计数器也好,其实它们都是采用计数电路实现的。T 2. 32位PC机中并没有8253或8254芯片,但其控制芯片组具有兼容其功能的电路。T

3. 计数可以从0开始逐个递增达到规定的计数值,也可以从规定的计数值开始逐个递减恢复到0;前者为加法计数器,后者是减法计数器;8253/8254采用后者T 4. 8255没有时钟信号,其工作方式1的数据传输采用异步时序。T

5. 在微机系统中常采用软硬件结合的方法,用可编程定时器芯片构成一个方便灵活的定时 电路。T

6. 8253芯片工作在方式3类似于一个方波发生器。T

7. 8253定时器的计数通道2在PC机中通常用于控制扬声器发声。T 8. 8253芯片的6种工作方式中只有方式1需要硬件启动。F

9. 8255芯片的方式控制字决定3个端口的工作方式,因此需要三条输出指令。F 10. 定时器有数字电路中的计数电路构成。T

11. 8253芯片在计数过程中,预置寄存器中的值始终不变。T 12. 8253芯片在计数过程中,减法计数器的值始终不变。F

13. 8253芯片面向处理器连接的引脚类似于处理器的数据.地址和控制信号。T 14. 8253芯片的6种工作方式中只有方式2具备自动重装计数初值功能。F 15. 8253芯片工作在方式2类似于一个频率发生器(分频器)。T 四.填空

1. 8253芯片芯片上有_3_个_16_位计数器通道。

2. 若设定8253芯片某通道为方式0后,其输出引脚OUT为_低__电平;当_写入计数初值(并进入减1计数器)后通道开始计数。

3. 若设定8253芯片某通道为方式0后,_脉冲输入CLK_信号端每来一个脉冲计数值就减1;当 计数器初值减为零 ,则输出引脚输出高电平,表示计数结束。 4. 假设某8253芯片的CLK0接1.5MHz的时钟,欲使OUT0产生频率为300kHz的方波信号,则8253的计数值应为_5_,应采用的工作方式是_3_。

5. 8255芯片具有_24_个外设数据引脚,分成3个端口,引脚分别是PA0~PA7,PB0~PB7和_PC0~PC7_。

6. 8255芯片有三种工作方式,其中方式0为_基本__输入输出方式,方式1为_选通_的输入输出方式,方式2为_双向选通_输入输出方式。

7.(重复) 8255芯片有三种工作方式,其中方式0为__输入输出方式,方式1为输入输出方式,方式2为__________输入输出方式。

8. 8255芯片有2个控制字,分别是_方式选择__控制字和__复位/置位__控制字。 9. 8255芯片是一种可编程的_并行_接口芯片, 其控制字共用一个端口地址,用

控制字的第_D7__ 位来区别。

10. 8253芯片中,CLK是时钟信号,GATE是 _门控输入信号_信号,OUT是_计数器输出_信号。

11. 8253芯片有两种功能:_接收处理器的控制字和计数器_功能和_发送计数器的当前计数值和工作状态_功能。

12. 8253芯片的每个计数器可以按照_二_进制或_BCD码形式的十_进制计数。 13. 8253芯片的6种工作方式中,方式1__和_方式5_需要硬件启动。

14. 8253芯片的6种工作方式中_方式2_和_方式3_具备自动重装计数初值的功能。

15. 8253芯片是一种可编程_间隔定时器___芯片,芯片上每个计数器有__6___种工作方式可 供选择。 五.简答题

1. 为什么称8253/8254的工作方式1为可编程单稳脉冲工作方式?

方式1可以通过编程产生一个确定宽度的单稳脉冲,故称工作方式1为可编程单稳脉冲工作方式。

2. 为什么写入8253/8254的计数初值为0却代表最大的计数值?

因为计数器是先减1,再判断是否为0,所以写入0实际代表最大计数值。 3. 8253芯片需要几个I/O地址,各用于何种目的?

4个,读写计数器0,1和2,及控制字。 4. “8255具有锁存输出数据的能力”是什么意思?

8255的三种工作方式均可实现输出数据锁存,即数据输出后被保存在8255内部,可以读取出来,只有当8255再输出新一组数据时才改变。 5. 8255芯片中有几个控制字?共用一个端口地址吗?如何区分?

有两个控制字,共用一个端口地址,通过该端口的最高位判断,D7=0时为方式控制字,D7=1时为C口的位控字。

6. 当8255的PC4~PC7全部为输出线时,请问此时能否确定A端口的工作方式是什么?为什么?

可以,A端口工作在方式0。因为A端口工作在方式1或2均使用PC4~PC7中部分或全部信号线作为固定的应答信号线和中断请求线,而此时PC4~PC7全部为输出线,说明A端口工作时无应答信号线,由此判断其工作在方式0。 7. 当8255的PC0~PC3全部为输入线时,请问此时能否确定B端口的工作方式是什么?为什么?

可以,B端口工作在方式0。因为B端口工作在方式1或2均使用PC0~PC3中部分或全部信号线作为固定的应答信号线和中断请求线,而此时PC0~PC3全部为输入线,说明B 端口工作时无应答信号线,由此判断其工作在方式0。 8. 8255芯片工作在方式1输出是,需要端口C有3个控制引脚,这3个控制引脚的功能是什么?

输出缓冲器满信号,低电平有效 响应信号,低电平有效

INTR中断请求信号,高电平有效 六.应用题

1. 利用扬声器控制原理,编写一个简易乐器程序。

当按下1~8数字键时,分别发出连续的中音1~7和高音(i对应频率依次为当按下其他键时暂停发音;

当按下ESC键(ASCII码为1BH),程序返回操作系统。

524Hz,588Hz,660Hz,698Hz,784Hz,880Hz,988Hz和1048Hz);

2. 下图是用8255端口B方式0与打印机接口连接示意图及各引脚间时序关系,编程实现该功能。

编程实现该功能。

3. 下图是用8255端口A方式1与打印机接口连接示意图及各引脚间时序关系,

4. 下图是用8255端口B方式1与打印机接口连接示意图及各引脚间时序关系,编程实现该功能。

5. 如图所示,8253的端口地址为90H~93H。要求8253的通道0产生周期为100μs 的对称方波,8253的通道1产生周期为1S的对称方波。完成如下任务:

1. 在该图的基础上画出完成指定功能的线路连接(译码电路的设计可略去)。 2. 分别写出通道0和通道1的控制字,并求出它们的计数初值。 3.编写完成指定功能的8253初始化程序子程序INIT8253。

位定义为输出;C口的高4位定义为输入。请完成系列任务:

1.A口、B口、C口和控制端口的地址分别是: 2.方式控制字是:

3.写出完成指定功能的8255初始化的程序片段。

6. 下图是8255与8088/86系统总线的连接原理图,要求A口.B口和C口的低4

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

Top