文档库 最新最全的文档下载
当前位置:文档库 › 微机原理与接口技术+参考答案

微机原理与接口技术+参考答案

微机原理与接口技术+参考答案
微机原理与接口技术+参考答案

“微机原理与接口技术”习题解答

第1章微型计算机系统

〔习题1.1〕简答题

〔解答〕

①处理器每个单位时间可以处理的二进制数据位数称计算机字长。

②总线信号分成三组,分别是数据总线、地址总线和控制总线。

③PC机主存采用DRAM组成。

④高速缓冲存储器Cache是处理器与主存之间速度很快但容量较小的存储器。

⑤ROM-BIOS是“基本输入输出系统”,操作系统通过对BIOS的调用驱动各硬件设备,用户也可以在应用程序中调用BIOS中的许多功能。

⑥中断是CPU正常执行程序的流程被某种原因打断、并暂时停止,转向执行事先安排好的一段处理程序,待该处理程序结束后仍返回被中断的指令继续执行的过程。

⑦主板芯片组是主板的核心部件,它提供主板上的关键逻辑电路。

⑧MASM是微软开发的宏汇编程序。

⑨指令的处理过程。处理器的“取指—译码—执行周期”是指处理器从主存储器读取指令(简称取指),翻译指令代码的功能(简称译码),然后执行指令所规定的操作(简称执行)的过程。

⑩机器语言层,即指令集结构。

(学生很多认为是:汇编语言层。前4章主要涉及汇编语言,但本书还有很多处理器原理等内容)〔习题1.2〕判断题

〔解答〕

①错②错③对④错⑤对

⑥错⑦错⑧对⑨错⑩错

〔习题1.3〕填空题

〔解答〕

①Central Processing Unit,中央处理单元,处理器②1MB,4GB③216,64KB④EXE,COM⑤Instruction Set Architecture⑥目录⑦MMX,SSE3⑧64⑨IBM,DOS⑩PCI

〔习题1.4〕

说明微型计算机系统的硬件组成及各部分作用。

〔解答〕

CPU:CPU也称处理器,是微机的核心。它采用大规模集成电路芯片,芯片内集成了控制器、运算器和若干高速存储单元(即寄存器)。处理器及其支持电路构成了微机系统的控制中心,对系统的各个部件进行统一的协调和控制。

存储器:存储器是存放程序和数据的部件。

外部设备:外部设备是指可与微机进行交互的输入(Input)设备和输出(Output)设备,也称I/O设备。I/O设备通过I/O接口与主机连接。

总线:互连各个部件的共用通道,主要含数据总线、地址总线和控制总线信号。

〔习题1.5〕

什么是通用微处理器、单片机(微控制器)、DSP芯片、嵌入式系统?

〔解答〕

通用微处理器:适合较广的应用领域的微处理器,例如装在PC机、笔记本电脑、工作站、服务器上的微处理器。

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

DSP芯片:称数字信号处理器,也是一种微控制器,其更适合处理高速的数字信号,内部集成有高速乘法器,能够进行快速乘法和加法运算。

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

〔习题1.6〕

综述Intel 80x86系列处理器在指令集方面的发展。

〔解答〕

8086奠定了基本的16位指令集,80286提供了保护方式的各种指令,80386将指令集全面提升为32位,80486融入了浮点数据处理指令,奔腾系列陆续增加了多媒体指令MMX、SSE、SSE2和SSE3,最新的奔腾4处理器还支持64位指令集。

题外话:大家可以通过阅读相关资料、查询互联网获得更加详细的发展情况。可以考虑组织成一篇或多篇论文。

〔习题1.7〕

区别如下概念:助记符、汇编语言、汇编语言程序和汇编程序。

〔解答〕

助记符:人们采用便于记忆、并能描述指令功能的符号来表示机器指令操作码,该符号称为指令助记符。

汇编语言:用助记符表示的指令以及使用它们编写程序的规则就形成汇编语言。

汇编语言程序:用汇编语言书写的程序就是汇编语言程序,或称汇编语言源程序。

汇编程序:汇编语言源程序要翻译成机器语言程序才可以由处理器执行。这个翻译的过程称为“汇编”,完成汇编工作的程序就是汇编程序(Assembler)。

〔习题1.8〕

区别如下概念:路径、绝对路径、相对路径、当前目录。系统磁盘上存在某个可执行文件,但在DOS 环境输入其文件名却提示没有这个文件,是什么原因?

〔解答〕

路径:操作系统以目录形式管理磁盘上的文件,文件所在的分区和目录就是该文件的路径。

绝对路径:从根目录到文件所在目录的完整路径称为“绝对路径”。是保证文件唯一性的标示方法。

相对路径:从系统当前目录到文件所在目录的路径称为相对路径。

当前目录:用户当前所在的目录就是当前目录。

指明的路径不正确,或者执行了另外一个同名的文件。

〔习题1.9〕

什么是摩尔定律?它能永久成立吗?

〔解答〕

每18个月,集成电路的性能将提高一倍,而其价格将降低一半。(1965年,Intel公司的创始人之一摩尔预言:集成电路上的晶体管密度每年将翻倍。现在这个预言通常表达为:每隔18个月硅片密度(晶体管容量)将翻倍;也常被表达为:每18个月,集成电路的性能将提高一倍,而其价格将降低一半。)不能。由于电子器件的物理极限在悄然逼近,摩尔定律不会永远持续。

〔习题1.10〕

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

〔解答〕

采用二进制形式表示数据和指令。指令由操作码和地址码组成。

将程序和数据存放在存储器中,计算机在工作时从存储器取出指令加以执行,自动完成计算任务。这就是“存储程序”和“程序控制”(简称存储程序控制)的概念。

指令的执行是顺序的,即一般按照指令在存储器中存放的顺序执行,程序分支由转移指令实现。

计算机由存储器、运算器、控制器、输入设备和输出设备五大基本部件组成,并规定了5部分的基本功能。

〔习题1.11〕

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

〔解答〕

最上层是用户层。第5层是高级语言层。第4层是汇编语言层。第3层是操作系统层。第2层是机器

语言层。第1层是控制层。第0层是数字电路层。

普通计算机用户和软件人员对计算机系统的认识并不一样。普通计算机用户看到的计算机,也就是我们最熟悉的计算机,属于用户层,而软件人员看到的属于高级语言层或是汇编语言层。

〔习题1.12〕

什么是系列机和兼容机?你怎样理解计算机中的“兼容”特性?例如,你可以用PC机为例,谈谈你对软件兼容(或兼容性)的认识,说明为什么PC机具有如此强大的生命力?

〔解答〕

系列机是指在一个厂家生产的具有相同计算机结构,但具有不同组成和实现的一系列(Family)不同档次、不同型号的机器。

兼容机是指不同厂家生产的具有相同计算机结构(不同的组成和实现)的计算机。

兼容是一个广泛的概念,包括软件兼容、硬件兼容、系统兼容等。其中软件兼容是指同一个软件可以不加修改地运行于体系结构相同的各档机器,结果一样但运行时间可能不同。软件兼容可从机器性能和推出时间分成向上(向下)和向前(向后)兼容。例如32位PC机就陆续增加了对浮点处理指令、多媒体指令等的支持。在保证向后兼容的前提下,不断改进其组成和实现,延续计算机结构的生命,才使得PC机具有如此强大的生命力。

〔习题1.13〕

英特尔公司最新Intel 80x86处理器是什么?请通过查阅相关资料(如英特尔公司网站),说明其主要特点和采用的新技术。

〔解答〕

酷睿2多核处理器。

〔习题1.14〕

说明高级语言、汇编语言、机器语言三者的区别,谈谈你对汇编语言的认识。

〔解答〕

高级语言与具体的计算机硬件无关,其表达方式接近于所描述的问题,易为人们接受和掌握,用高级语言编写程序要比低级语言容易得多,并大大简化了程序的编制和调试,使编程效率得到大幅度的提高。而汇编语言是为了便于理解与记忆,将机器指令用助记符代替而形成的一种语言。汇编语言的语句通常与机器指令对应,因此,汇编语言与具体的计算机有关,属于低级语言。它比机器语言直观,容易理解和记忆,用汇编语言编写的程序也比机器语言易阅读、易排错。机器语言的每一条机器指令都是二进制形式的指令代码,计算机硬件可以直接识别。高级语言程序通常也需要翻译成汇编语言程序,再进一步翻译成机器语言代码。

〔习题1.15〕

为了更好地进行编程实践,请进入Windows操作系统下的控制台环境(或MS-DOS模拟环境),练习常用命令。

第2章处理器结构

〔习题2.1〕简答题

〔解答〕

①ALU是算术逻辑运算单元,负责处理器所能进行的各种运算,主要是算术运算和逻辑运算。

②取指是指从主存取出指令代码通过总线传输到处理器内部指令寄存器的过程。8086分成总线接口单元和指令执行单元,可以独立操作。在执行单元执行一条指令的同时,总线接口单元可以读取下一条指令,等到执行时不需要进行取指了,所以称为预取。

③Pentium采用分离的Cache结构,一个用做指令Cache,一个用做数据Cache。

④堆栈的存取原则是先进后出(也称为后进先出)操作方式存取数据。

⑤标志寄存器主要保存反映指令执行结果和控制指令执行形式的有关状态。

⑥执行了一条加法指令后,发现ZF=1,表明运算结果为0。

⑦没有。

⑧汇编语言的标识符大小写不敏感,即表示字母大小写不同、但表示同一个符号。

⑨不会。

⑩指令的操作数需要通过存储器地址或I/O地址,才能查找到数据本身,故称数据寻址方式。

〔习题2.2〕判断题

〔解答〕

①错②对③对④对⑤错

⑥对⑦对⑧错⑨对⑩对

〔习题2.3〕填空题

〔解答〕

①32,DX,DH

②16

③段地址,偏移地址,EIP,IP

④00100110,0

⑤73C00H,73800H

⑥EBX,ECX,ESI,EDI,EBP,ESP

⑦实地址,64KB

⑧ASM,目标模块,FLAT

⑨立即数寻址、寄存器寻址和存储器寻址

⑩DS,SS

〔习题2.4〕

处理器内部具有哪3个基本部分?8086分为哪两大功能部件?其各自的主要功能是什么?

〔解答〕

处理器内部有ALU、寄存器和指令处理三个基本单元。

8086有两大功能部件:总线接口单元和执行单元。

总线接口单元:管理着8086与系统总线的接口,负责处理器对存储器和外设进行访问。8086所有对外操作必须通过BIU和这些总线进行。

执行单元EU:负责指令译码、数据运算和指令执行。

〔习题2.5〕

8086怎样实现了最简单的指令流水线?

〔解答〕

8086中,指令的读取是在BIU单元,而指令的执行是在EU单元。因为BIU和EU两个单元相互独立、分别完成各自操作,所以可以并行操作。也就是说,在EU单元对一个指令进行译码执行时,BIU单元可以同时对后续指令进行读取;这就是最简单的指令流水线技术。

〔习题2.6〕

什么是标志?什么是IA-32处理器的状态标志、控制标志和系统标志?说明状态标志在标志寄存器EFLAGS的位置和含义。

〔解答〕

标志:用于反映指令执行结果或控制指令执行形式的一个或多个二进制数位。例如,有些指令执行后会影响有关标志位;有些指令的执行要利用相关标志。

状态标志:用来记录程序运行结果的状态信息。

控制标志:DF标志,控制字符串操作的地址方向。

系统标志:用于控制处理器执行指令的方式。

状态标志在标志寄存器EFLAGS中的位置和含义如下:

31 11 19 8 7 6 5 4 3 2 1 0

〔习题2.7〕

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

〔解答〕

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

例1:3AH +7CH=B6H

无符号数运算:58+124=182,范围内,无进位。

有符号数运算:58+124=182,范围外,有溢出。

例2:AAH + 7CH=①26H

无符号数运算:170+124=294,范围外,有进位。

有符号数运算:-86+124=28 ,范围内,无溢出。

〔习题2.8〕

什么是8086中的逻辑地址和物理地址?逻辑地址如何转换成物理地址?请将如下逻辑地址用物理地址表达(均为十六进制形式):

①FFFF∶0 ②40∶17 ③2000∶4500 ④B821∶4567

〔解答〕

物理地址:在处理器地址总线上输出的地址称为物理地址。每个存储单元有一个唯一的物理地址。

逻辑地址:在处理器内部、程序员编程时采用逻辑地址,采用“段地址:偏移地址“形式。某个存储单元可以有多个逻辑地址,即处于不同起点的逻辑段中,但其物理地址是唯一的。

逻辑地址转换成物理地址:逻辑地址由处理器在输出之前转换为物理地址。将逻辑地址中的段地址左移二进制4位(对应16进制是一位,即乘以16),加上偏移地址就得到20位物理地址。

①FFFFH:0=FFFF0H

②40H:17H=00417H

③2000H:4500H=24500H

④B821H:4567H=BC777H

〔习题2.9〕

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

〔解答〕

IA-32处理器有代码段、数据段、堆栈段三类基本段。

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

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

堆栈段:主存中堆栈所在的区域。程序使用的堆栈一定在堆栈段。

〔习题2.10〕

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

〔解答〕

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

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

实地址存储模型是8086处理器的存储模型。它是段式存储模型的特例,其线性地址空间最大为1MB 容量,由最大为64KB的多个段组成。

〔习题2.11〕

什么是实地址方式、保护方式和虚拟8086方式?它们分别使用什么存储模型?

〔解答〕

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

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

以使用平展或段式存储模型。

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

〔习题2.12〕

汇编语句有哪两种,每个语句由哪4个部分组成?

〔解答〕

汇编语句有两种:执行性语句(处理器指令)、说明性语句(伪指令)。

每个语句有:标号、指令助记符、操作数或参数、注释4个部分组成。

〔习题2.13〕

汇编语言程序的开发有哪4个步骤,分别利用什么程序完成、产生什么输出文件。

〔解答〕

汇编语言程序的开发有4个步骤:

编辑:用文本编辑器形成一个以ASM为扩展名的源程序文件。

汇编:用汇编程序将ASM文件转换为OBJ模块文件。

连接:用连接程序将一个或多个目标文件链接成一个EXE或COM可执行文件。

调试:用调试程序排除错误,生成正确的可执行文件。

〔习题2.14〕

MASM汇编语言中,下面哪些是程序员可以使用的正确的标识符。

FFH,DS,0xvab,Again,next,@data,h_ascii,6364b,.exit,small

〔解答〕

FFH,Again,next,h_ascii

〔习题2.15〕

给出IA-32处理器的32位寻址方式和16位寻址方式的组成公式,并说明各部分作用。

〔解答〕

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

32位有效地址=基址寄存器+(变址寄存器×比例)+位移量

其中的4个组成部分是:

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

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

·比例??可以是1,2,4或8(因为操作数的长度可以是1,2,4或8字节);

·位移量??可以是8或32位有符号值。

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

16位有效地址=基址寄存器+变址寄存器+位移量

其中基址寄存器只能是BX或BP,变址寄存器只能是SI或DI,位移量是8或16位有符号值。

〔习题2.16〕

说明下列指令中源操作数的寻址方式?假设VARD是一个双字变量。

(1)mov edx,1234h(2)mov edx,vard(3)mov edx,ebx(4)mov edx,[ebx](5)mov edx,[ebx+1234h](6)mov edx,vard[ebx](7)mov edx,[ebx+edi](8)mov edx,[ebx+edi+1234h](9)mov edx,vard[esi+edi](10)mov edx,[ebp*4]

〔解答〕

①立即数②直接③寄存器④寄存器间接⑤寄存器相对⑥寄存器相对⑦基址变址⑧相对基址变址⑨相对基址变址⑩带比例寻址

〔习题2.17〕

使用本书配套的软件包(或者按照本书说明)创建MASM开发环境,通过编辑例题2-1和例题2-2程序、汇编连接生成可执行程序和列表文件,掌握汇编语言的开发。

第3章数据处理

〔习题3.1〕简答题

〔解答〕

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

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

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

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

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

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

⑦INC,DEC,NEG和NOT指令的操作数既是源操作数也是目的操作数。

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

⑨加减法不区别无符号数和有符号数,但根据运算结果分别设置标志寄存器的CF和OF标志,可利用CF和OF进行区别。

⑩逻辑与运算规则类似二进制的乘法,所以称其为逻辑乘。

〔习题3.2〕判断题

〔解答〕

①对②对③对④错⑤错

⑥对⑦错⑧错⑨对⑩对

〔习题3.3〕填空题

〔解答〕

①BYTE,OFFSET②97,61,小写字母a③0DH(13),0AH(10)④8843H⑤DWORD,4,WORD PTR XYZ⑥3⑦78894111⑧0,0,0

⑨0123456788765432H,83H⑩4

〔习题3.4〕

下列十六进制数表示无符号整数,请转换为十进制形式的真值:

①FFH ②0H ③5EH ④EFH

〔解答〕

①255②0③94④239

〔习题3.5〕

将下列十进制数真值转换为压缩BCD码:

①12 ②24 ③68 ④99

〔解答〕

①12H②24H③68H④99H

〔习题3.6〕

将下列压缩BCD码转换为十进制数:

①10010001 ②10001001 ③00110110 ④10010000

〔解答〕

①91②89③36④90

〔习题3.7〕

将下列十进制数用8位二进制补码表示:

①0 ②127 ③-127 ④-57

〔解答〕

①00000000②01111111③10000001④11000111

〔习题3.8〕

进行十六进制数据的加减运算,并说明是否有进位或借位:

①1234H+7802H

②F034H+5AB0H

③C051H-1234H

④9876H-ABCDH

〔解答〕

①1234H+7802H=8A36H,无进位

②F034H+5AB0H=4AF4H,有进位

③C051H-1234H=BE1DH,无借位

④9876H-ABCDH=ECA9H,有借位

〔习题3.9〕

数码0~9、大写字母A~Z、小写字母a~z对应的ASCII码分别是多少?ASCII码0DH和0AH分别对应什么字符?

〔解答〕

数码0~9对应的ASCII码依次是30H~39H。

大写字母A~Z对应的ASCII码依次是:41H~5AH。

小写字母a~z对应的ASCII码依次是:61~7AH。

ASCII码0DH和0AH分别对应的是回车和换行字符。

〔习题3.10〕

设置一个数据段,按照如下要求定义变量或符号常量:

①my1b为字符串变量:Personal Computer

②my2b为用十进制数表示的字节变量:20

③my3b为用十六进制数表示的字节变量:20

④my4b为用二进制数表示的字节变量:20

⑤my5w为20个未赋值的字变量

⑥my6c为100的常量

⑦my7c表示字符串:Personal Computer

〔解答〕

my1b byte 'Personal Computer'

my2b byte 20

my3b byte 14h

my4b byte 00010100b

my5w word 20 dup(?)

my6c = 100

my7c equ

〔习题3.11〕

定义常量NUM,其值为5;数据段中定义字数组变量DATALIST,它的头5个字单元中依次存放-10,2,5和4,最后1个单元初值不定。

〔解答〕

num equ 5

datalist byte -10,2,5,4,?

〔习题3.12〕

从低地址开始以字节为单位,用十六进制形式给出下列语句依次分配的数值:

byte 'ABC',10,10h,'EF',3 dup(-1,?,3 dup(4))

word 10h,-5,3 dup(?)

〔解答〕

41 42 43 0A 10 45 46 FF 00 04 04 04 FF 00 04 04 04 FF 00 04 04 04

10 00 FB FF 00 00 00 00 00 00

〔习题3.13〕

设在某个程序中有如下片段,请写出每条传送指令执行后寄存器EAX的内容:

; 数据段

org 100h

varw word 1234h,5678h

varb byte 3,4

vard dword 12345678h

buff byte 10 dup(?)

mess byte 'hello'

; 代码段

mov eax,offset mess

mov eax,type buff+type mess+type vard

mov eax,sizeof varw+sizeof buff+sizeof mess

mov eax,lengthof varw+lengthof vard

〔解答〕

①EAX=0114H②EAX=0006H③EAX=0013H④EAX=0003H

〔习题3.14〕

按照如下输出格式,在屏幕上显示ASCII表:

| 0 1 2 3 4 5 6 7 8 9 A B C D E F

---+--------------------------------

20 | ! “ # ...

30 | 0 1 2 3 ...

40 | @ A B C ...

50 | P Q R S ...

60 | ‘ a b c ...

70 | p q r s ...

表格最上一行的数字是对应列ASCII代码值的低4位(用十六进制形式),而表格左边的数字对应行ASCII代码值的高4位(用十六进制形式)。编程在数据段直接构造这样的表格、填写相应ASCII代码值(不是字符本身),然后使用字符串显示子程序DISPMSG实现显示。

〔解答〕

include io32.inc

.data

table byte ' |0 1 2 3 4 5 6 7 8 9 A B C D E F',13,10

byte '---+-------------------------------',13,10

byte '20 |',20h,20h,21h,20h,22h,20h,23h,20h,24h,20h,25h,20h,26h,20h,27h,20h,28h,20h,29h,20h

byte 2ah,20h,2bh,20h,2ch,20h,2dh,20h,2eh,20h,2fh,20h,13,10

byte '30 |',30h,20h,31h,20h,32h,20h,33h,20h,34h,20h,35h,20h,36h,20h,37h,20h,38h,20h,39h,20h

byte 3ah,20h,3bh,20h,3ch,20h,3dh,20h,3eh,20h,3fh,20h,13,10

byte '40 |',40h,20h,41h,20h,42h,20h,43h,20h,44h,20h,45h,20h,46h,20h,47h,20h,48h,20h,49h,20h

byte 4ah,20h,4bh,20h,4ch,20h,4dh,20h,4eh,20h,4fh,20h,13,10

byte '50 |',50h,20h,51h,20h,52h,20h,53h,20h,54h,20h,55h,20h,56h,20h,57h,20h,58h,20h,59h,20h

byte 5ah,20h,5bh,20h,5ch,20h,5dh,20h,5eh,20h,5fh,20h,13,10

byte '60 |',60h,20h,61h,20h,62h,20h,63h,20h,64h,20h,65h,20h,66h,20h,67h,20h,68h,20h,69h,20h

byte 6ah,20h,6bh,20h,6ch,20h,6dh,20h,6eh,20h,6fh,20h,13,10

byte '70 |',70h,20h,71h,20h,72h,20h,73h,20h,74h,20h,75h,20h,76h,20h,77h,20h,78h,20h,79h,20h

byte 7ah,20h,7bh,20h,7ch,20h,7dh,20h,7eh,20h,7fh,20h,13,10

byte 0

.code

start:

mov eax,offset table

call dispmsg

exit 0

end start

〔习题3.15〕

数据段有如下定义,IA-32处理器将以小端方式保存在主存:

var dword 12345678h

现以字节为单位按地址从低到高的顺序,写出这个变量内容。并说明如下指令的执行结果:mov eax,var ; EAX=__________

mov bx,var ; BX=__________

mov cx,var+2 ; CX=__________

mov dl,var ; DL=__________

mov dh,var+3 ; DH=__________

可以编程使用十六进制字节显示子程序DSIPHB顺序显示各个字节进行验证,还可以使用十六进制双字显示子程序DSIPHD显示该数据进行对比。

〔解答〕

小端方式采用“低对低、高对高”,即低字节数据存放在低地址存储单元、高字节数据存放在高地址存储单元。以字节为单位按地址从低到高的顺序,var变量的内容:78H、56H、34H、12H。

; EAX=12345678H

; BX=5678H

; CX=1234H

; DL=78H

; DH=12H

〔习题3.16〕

使用若干MOV指令实现交互指令“XCHG EBX,[EDI]”功能。

〔解答〕

push eax ; 可以没有

mov eax,ebx

mov ebx,[edi]

mov [edi],eax

pop eax ; 可以没有

〔习题3.17〕

假设当前ESP=0012FFB0H,说明下面每条指令后,ESP等于多少?

push eax

push dx

push dword ptr 0f79h

pop eax

pop word ptr [bx]

pop ebx

〔解答〕

ESP=0012FFACH

ESP=0012FFAAH

ESP=0012FFA6H

ESP=0012FFAAH

ESP=0012FFACH

ESP=0012FFB0H

〔习题3.18〕

已知数字0~9对应的格雷码依次为:18H、34H、05H、06H、09H、0AH、0CH、11H、12H、14H;请为如下程序的每条指令加上注释,说明每条指令的功能和执行结果。

; 数据段

table byte 18h,34h,05h,06h,09h,0ah,0ch,11h,12h,14h

; 代码段

mov ebx,offset table

mov al,8

xlat

为了验证你的判断,不妨使用本书的I/O子程序库提供的子程序DISPHB显示换码后AL的值。如果不使用XLAT指令,应如何修改?

〔解答〕

; 数据段

table byte 18h,34h,05h,06h,09h,0ah,0ch,11h,12h,14h ; 定义格雷码表

; 代码段

mov ebx,offset table ; EBX=格雷码表首地址

mov al,8 ; AL=8

xlat ; AL=12H(8的格雷码)

不使用XLAT指令:

mov ebx,offset table ; EBX=格雷码表首地址

mov eax,0

mov al,8 ; AL=8

mov al,[eax+ebx] ; AL=12H(8的格雷码)

〔习题3.19〕

请分别用一条汇编语言指令完成如下功能:

(1)把EBX寄存器和EDX寄存器的内容相加,结果存入EDX寄存器。

(2)用寄存器EBX和ESI的基址变址寻址方式把存储器的一个字节与AL寄存器的内容相加,并把结果送到AL中。

(3)用EBX和位移量0B2H的寄存器相对寻址方式把存储器中的一个双字和ECX寄存器的内容相加,并把结果送回存储器中。

(4)将32位变量VARD与数3412H相加,并把结果送回该存储单元中。

(5)把数0A0H与EAX寄存器的内容相加,并把结果送回EAX中。

〔解答〕

① add edx,ebx

② add al,[ebx+esi]

③ add [bx+0b2h],cx

④ add varw,3412h

⑤ add eax,0a0h

〔习题3.20〕

分别执行如下程序片断,说明每条指令的执行结果:

(1)

mov eax,80h ; EAX=__________

add eax,3 ; EAX=__________,CF=__________,SF=__________

add eax,80h ; EAX=__________,CF=__________,OF=__________

adc eax,3 ; EAX=__________,CF=__________,ZF=__________

(2)

mov eax,100 ; EAX=__________

add ax,200 ; EAX=__________,CF=__________

(3)

mov eax,100 ; EAX=__________

add al,200 ; EAX=__________,CF=__________

(4)

sub al,8 ; AL=__________,CF=__________,SF=__________

sub al,80h ; AL=__________,CF=__________,OF=__________

sbb al,3 ; AL=__________,CF=__________,ZF=__________

〔解答〕

(1)

; EAX=80H

; EAX=83H,CF=0,SF=0

; EAX=103H,CF=0,OF=0

; EAX=106H,CF=0,ZF=0

(2)

; EAX=100

; EAX=300,CF=0

(3)

; EAX=100

; EAX=44,CF=1(包含256的进位含义:256+44=300)

(4)

mov al,7fh ; AL=7FH

sub al,8 ; AL=77H,CF=0,SF=0

sub al,80h ; AL=F7H,CF=1,OF=1

sbb al,3 ; AL=F3H,CF=0,ZF=0

〔习题3.21〕

〔解答〕

mov al,89h ; AL=89H CF ZF SF OF PF

add al,al ; AL=12H 1 0 0 1 1

add al,9dh ; AL=0AFH 0 0 1 0 1

cmp al,0bch ; AL=0AFH 1 0 1 0 1

sub al,al ; AL=00H 0 1 0 0 1

dec al ; AL=0FFH 0 0 1 0 1

inc al ; AL=00H 0 1 0 0 1

〔习题3.22〕

有两个64位无符号整数存放在变量buffer1和buffer2中,定义数据、编写代码完成EDX.EAX←buffer1-buffer2功能。

〔解答〕

; 数据段

buffer1 qword 67883000h

buffer2 qword 67762000h

; 代码段

mov eax,dword ptr buffer1

mov edx,dword ptr buffer1+4

sub eax,dword ptr buffer2

sbb edx,dword ptr buffer2+4

〔习题3.23〕

分别执行如下程序片断,说明每条指令的执行结果:

(1)

mov esi,10011100b ; ESI=__________H

and esi,80h ; ESI=__________H

or esi,7fh ; ESI=__________H

(2)

mov eax,1010b ; EAX=__________B

shr eax,2 ; EAX=__________B,CF=__________

shl eax,1 ; EAX=__________B,CF=__________

and eax,3 ; EAX=__________B,CF=__________

(3)

mov eax,1011b ; EAX=__________B

rol eax,2 ; EAX=__________B,CF=__________

rcr eax,1 ; EAX=__________B,CF=__________

or eax,3 ; EAX=__________B,CF=__________

(4)

xor eax,eax ; EAX=__________,CF=__________,OF=__________

; ZF=__________,SF=__________,PF=__________

〔解答〕

(1)

; ESI=9CH

; ESI=80H

; ESI=FFH

; ESI=01H

(2)

; EAX=1010B(可以有前导0,下同)

; EAX=0010B,CF=1

; EAX=0100B,CF=0

; EAX=0000B,CF=0

(3)

; EAX=1011B(可以有前导0,下同)

; EAX=101100B,CF=0

; EAX=10110B,CF=0

; EAX=10111B,CF=0

(4)

; EAX=0,CF=0,OF=0

; ZF=1,SF=0,PF=1

〔习题3.24〕

〔解答〕

mov ax,1470h ; AX=1470H CF OF SF ZF PF

and ax,ax ; AX=1470H 0 0 0 0 0

or ax,ax ; AX=1470H 0 0 0 0 0

xor ax,ax ; AX=0000H 0 0 0 1 1

not ax ; AX=FFFFH 0 0 0 1 1

test ax,0f0f0h ; AX=0F0F0H 0 0 1 0 1

〔习题3.25〕

逻辑运算指令怎么实现复位、置位和求反功能?

〔解答〕

AND指令同“0”与实现复位,OR指令同“1”或实现置位,XOR同“1”异或实现求反。〔习题3.26〕

说明如下程序段的功能:

mov ecx,16

mov bx,ax

next: shr ax,1

rcr edx,1

shr bx,1

rcr edx,1

loop next

mov eax,edx

〔解答〕

将AX的每一位依次重复一次,所得的32位结果保存于EAX中。

〔习题3.27〕

编程将一个64位数据逻辑左移3位,假设这个数据已经保存在EDX.EAX寄存器对中。

〔解答〕

; 代码段

mov ecx,3

again: shl eax,1

rcl edx,1

loop again

〔习题3.28〕

编程将一个压缩BCD码变量(例如92H)转换为对应的ASCII码,然后调用DISPC子程序(在输入输出子程序库中)显示。

〔解答〕

; 数据段

bcd byte 92h

; 代码段

mov al,bcd

shr al,4

add al,30h

call dispc

mov al,bcd

and al,0fh

add al,30h

call dispc

〔习题3.29〕

以MOVS指令为例,说明串操作指令的寻址特点,并用MOV和ADD等指令实现MOVSD的功能(假设DF=0)。

〔解答〕

MOVS指令的功能是:

ES:[EDI]←DS:[ESI];ESI←ESI±1/2/4,EDI←EDI±1/2/4

由此可看出串操作指令的寻址特点:

源操作数用寄存器ESI间接寻址,默认在DS指向的数据段,但可以改变;目的操作数用寄存器EDI 间接寻址,只能在ES指向的附加数据段;每执行一次串操作,源指针ESI和目的指针EDI将自动修改:±1(字节),±2(字)或±4(双字)。指针的增量和减量控制由DF标志确定,DF=0,进行增量;DF =1,进行减量。

push eax

mov eax,[esi]

mov es:[edi],eax

add esi,4

add edi,4

〔习题3.30〕

说明如下程序执行后的显示结果:

; 数据段

msg byte 'WELLDONE',0

; 代码段

mov ecx,(lengthof msg)-1

mov ebx,offset msg

again: mov al,[ebx]

add al,20h

mov [ebx],al

add ebx,1

loop again

mov eax,offset msg

call dispmsg

如果将其中语句“mov ebx,offset msg”改为“xor ebx,ebx”,则利用EBX间接寻址的两个语句如何修改成EBX寄存器相对寻址,就可以实现同样功能?

〔解答〕

显示结果:welldone

EBX寄存器相对寻址:

mov al,msg[ebx]

mov msg[ebx],al

〔习题3.31〕

下面程序的功能是将数组ARRAY1的每个元素加固定值(8000H),将和保存在数组ARRAY2。在空白处填入适当的语句或语句的一部分。

; 数据段

array1 dword 1,2,3,4,5,6,7,8,9,10

array2 dword 10 dup(?)

; 代码段

mov ecx,lengthof array1

mov ebx,0

again: mov eax,array1[ebx*4]

add eax,8000h

mov ______________

add ebx,__________

loop again

〔解答〕

mov array2[ebx*4],eax

add ebx,1

〔习题3.32〕

上机实现本章的例题程序,编程实现本章的习题程序。

第4章汇编语言程序设计

〔习题4.1〕简答题

〔解答〕

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

②数据通信时,数据的某一位用做传输数据的奇偶校验位,数据中包括校验位在内的“1”的个数恒为奇数,就是奇校验;恒为偶数,就是偶校验。

③无符号数和有符号数的操作影响两组不同的标志状态位,故判断两个无符号数和有符号数的大小关系要利用不同的标志位组合,所以有对应的两组指令。

④双分支结构中两个分支体之间的JMP指令,用于实现结束前一个分支回到共同的出口作用。

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

⑥子程序保持堆栈平衡,才能保证执行RET指令时当前栈顶的内容是正确的返回地址。主程序也要保持堆栈平衡,这样才能释放传递参数占用的堆栈空间,否则多次调用该子程序可能就致使堆栈溢出。

⑦“传值”是传递参数的一个拷贝,被调用程序改变这个参数不影响调用程序;“传址”时,被调用程序可能修改通过地址引用的变量内容。

⑧INCLUDE语句包含的是文本文件、是源程序文件的一部分;INCLUDELIB语句包含的是子程序库文件。

⑨取长补短。

⑩Windows程序在运行时需要加载其配套的动态链接库DLL文件,当其没有被搜索到时就会提示不存在。

〔习题4.2〕判断题

〔解答〕

①对②错③错④错⑤错

⑥对⑦对⑧错⑨对⑩错

〔习题4.3〕填空题

〔解答〕

①相对寻址,间接寻址,直接寻址,间接寻址

②1256H,3280H③3721H,1④EAH

⑤循环初始,循环控制⑥REPT1标号的地址

⑦TEST ENDP,ENDM⑧EBP

⑨PUBLIC,EXTERN⑩38H 0DH 0AH

〔习题4.4〕

为了验证例题4-1程序的执行路径,可以在每个标号前后增加显示功能。例如使得程序运行后显示数码1234。

〔解答〕

jmp labl1 ; 相对寻址

nop

mov eax,'?'

call dispc

labl1: mov eax,'1'

call dispc

jmp near ptr labl2 ; 相对近转移

nop

mov eax,'?'

call dispc

labl2: mov eax,'2'

call dispc

mov eax,offset labl3

jmp eax ; 寄存器间接寻址

nop

mov eax,'?'

call dispc

labl3: mov eax,'3'

call dispc

mov eax,offset labl4

mov nvar,eax

jmp nvar ; 存储器间接寻址

nop

mov eax,'?'

call dispc

labl4: mov eax,'4'

call dispc

〔习题4.5〕

使用“SHR EAX,2”将EAX中的D1位移入CF标志,然后用JC/JNC指令替代JZ/JNZ指令完成例题4-3的功能。

〔解答〕

mov eax,56h ; 假设一个数据

shr eax,2 ; D1位移入CF标志

jnc nom ; D1=0条件成立,转移

... ; 余同原程序

〔习题4.6〕

执行如下程序片断后,CMP指令分别使得5个状态标志CF、ZF、SF、OF和PF为0还是为1?它会使得哪些条件转移指令指令Jcc的条件成立、发生转移?

mov eax,20h

cmp eax,80h

〔解答〕

CF=1 ZF=0 SF=1 OF=0 PF=1

可以使得条件成立、发生转移的指令有:JC JS JP JNZ JNO

〔习题4.7〕

将例题4-4程序修改为实现偶校验。建议进一步增加显示有关提示信息的功能,使得程序具有更加良好的交互性。

〔解答〕

include io32.inc

.data

msg1 byte 'Please input a character: ',0

msg2 byte 'The ASCII code of the charater you entered is: ',0

msg3 byte 'The code with even parity is: ',0

.code

start:

mov eax,offset msg1

call dispmsg

call readc

call dispcrlf

mov ebx,eax

mov eax,offset msg2

call dispmsg

mov eax,ebx

call dispbb

call dispcrlf

and al,7fh

jp next

or al,80h

next: mov ebx,eax

mov eax,offset msg3

call dispmsg

mov eax,ebx

call dispbb

exit 0

end start

〔习题4.8〕

在采用奇偶校验传输数据的接收端应该验证数据传输的正确性。例如,如果采用偶校验,那么在接收到的数据中,其包含“1”的个数应该为0或偶数个,否则说明出现传输错误。现在,在接收端编写一个这样的程序,如果偶校验不正确显示错误信息,传输正确则继续。假设传送字节数据、最高位作为校验位,接收到的数据已经保存在Rdata变量中。

〔解答〕

; 数据段

Rdata byte 57h ;保存接收的数据

error byte 'Error !',0

; 代码段

mov al,Rdata

and al,0ffh ;标志PF反映“1”的个数

jp done ;个数为偶数,正确继续

mov eax,offset error ;个数为奇数,显示出错

call dispmsg

done:

〔习题4.9〕

指令CDQ将EAX符号扩展到EDX,即:EAX最高为0,则EDX=0;EAX最高为1,则EDX=FFFFFFFFH。请编程实现该指令功能。

〔解答1〕

test eax,8000h ; 测试最高位

jz next1 ; 最高位为0(ZF=1),转移到标号NEXT1

mov edx,0ffffffffh ; 最高位为1,顺序执行:设置EDX=FFFFFFFFH

jmp done ; 无条件转移,跳过另一个分支

next1: mov dx,0 ; 最高位为0转移到此执行:设置EDX=0

done:

〔解答2〕

使用移位指令更好。

rol eax,1

rcr edx,1

sar edx,31

ror eax,1

〔习题4.10〕

编程,首先测试双字变量DVAR的最高位,如果为1,则显示字母“L”;如果最高位不为1,则继续测试最低位,如果最低位为1,则显示字母“R”;如果最低位也不为1,则显示字母“M”。

〔解答〕

; 数据段

dvar dword 57h

; 代码段

mov eax,dvar

test eax,80000000h

jnz nextl

test eax,1

jnz nextr

mov al,'M'

jmp done

nextl: mov al,'L'

jmp done

nextr: mov al,'R'

done: call dispc

〔习题4.11〕编写一个程序,先提示输入数字“Input Number:0~9”,然后在下一行显示输入的数字,结束;如果不是键入了0~9数字,就提示错误“Error!”,继续等待输入数字。

〔解答〕

; 数据段

inmsg byte 'Input number(0~9): ',0

ermsg byte 0dh,0ah,'Error! Input again: ',0

; 代码段

mov eax,offset inmsg ; 提示输入数字

call dispmsg

again: call readc ; 等待按键

cmp al,'0' ; 数字 < 0?

jb erdisp

cmp al,'9' ; 数字 > 9?

ja erdisp

call dispcrlf

call dispc

jmp done

erdisp: mov eax,offset ermsg

call dispmsg

jmp again

done:

〔习题4.12〕

有一个首地址为ARRAY的20个双字的数组,说明下列程序段的功能。

mov ecx,20

mov eax,0

mov esi,eax

sumlp: add eax,array[esi]

add esi,4

loop sumlp

mov total,eax

〔解答〕

求这20个双字的和,保存在TOTAL变量,不关进心进位和溢出。

〔习题4.13〕

编程中经常要记录某个字符出现的次数。现编程记录某个字符串中空格出现的次数,结果保存在SPACE单元。

〔解答〕

; 数据段

string byte 'Do you have fun with Assembly ?',0 ;以0结尾的字符串

space dword ?

; 代码段

mov esi,offset string

xor ebx,ebx ;EBX用于记录空格数

again: mov al,[esi]

cmp al,0

jz done

cmp al,20h ;空格的ASCII码是20H

jne next ;不相等、不是空格,转移

inc bx ;相等、是空格,空格个数加1

next: inc esi

jmp again ;继续循环

done: mov space,ebx ;保存结果

〔习题4.14〕

编写计算100个16位正整数之和的程序。如果和不超过16位字的范围(65535),则保存其和到WORDSUM,如超过则显示‘Overflow !’。

〔解答〕

; 数据段

array word 2005,2008,98 dup (1394) ; 假设100个16位正整数

wordsum word ?

error byte 'Overflow !',0

; 代码段

and ebx,0

mov ecx,100

xor ax,ax

again: add ax,array[ebx*2]

jc over

inc ebx

loop again

mov wordsum,ax

over: mov eax,offset error

call dispmsg

〔习题4.15〕

在一个已知长度的字符串中查找是否包含“BUG”子字符串。如果存在,显示“Y”,否则显示“N”。〔解答〕

; 数据段

string byte 'If you find any error in the program, you can DEBUG it.'

count = sizeof string

bug byte 'BUG'

; 代码段

mov ecx,count

mov edi,offset string

L1: mov esi,offset bug

push edi

mov edx,sizeof bug

LN: mov al,[esi]

cmp [edi],al

jne L2

inc esi

inc edi

dec edx

(完整版)微机原理及接口技术(习题答案)

范文范例学习指导 第1章微机运算基础 习题和思考题 1.请完成以下计算: 174.66D=(10101110.10101)B=(AE. A8)H 10101110101.01011B=(1397.344)D=(575.58)H 4BCH=(010*********)B=()BCD 2.设字长为8位,X=(2A)16,当X分别为原码、补码、反码和无符号数的时候,其真值 是多少? 答:当X表示原码时,其真值为:+101010 当X表示补码时,其真值为:+101010 当X表示反码时,其真值为:+101010 当X表示无符号数数时,其真值为:00101010 3.设字长为8位,用补码形式完成下列计算,要求有运算结果并讨论是否发生溢出? 120+18 -33-37 -90-70 50+84 答:120+18 其补码形式分别为:(120)补=01111000 (18)补=00010010 01111000 + 00010010 10001010 由于C s=0 ,C p=1,因此有溢出,结果错误 -33-37 其补码形式为:(-33)补=11011111 (-37)补=11011011 11011111 +11011011 10111010 由于C s=1, C p=1,所以没有溢出,结果正确 -90-70 其补码形式为:(-90)补=10011100 (-70)补=10111010 10011100 +10111010 01010110 由于C s=1, C p=0,所以有溢出,结果错误 50+84

其补码形式为:(50)补=00110010 (84)补=01010100 00110010 +01010100 10000110 由于C s=0, C p=1,所以有溢出,结果错误 4.请写出下列字符串的ASCII码值。 My name is Zhang san. 4D 79 6E 61 6D 65 69 73 5A 68 61 6E 67 73 61 6E 2E 第2章 80X86微机系统 习题与思考题 1.微型计算机主要由哪些基本部件组成?各部件的主要功能是什么? 答:微型计算机主要由输入设备、运算器、控制器、存储器和输出设备组成。 各部件的功能分别是:1、输入设备通过输入接口电路将程序和数据输入内存;2、运算器是进行算术运算和逻辑运算的部件,它是指令的执行部件;3、控制器是计算机的指挥中心,它负责对指令进行译码,产生出整个指令系统所需要的全部操作的控制信号,控制运算器、存储器、输入/输出接口等部件完成指令规定的操作;4、存储器用来存放程序、原始操作数、运算的中间结果数据和最终结果数据; 5、输出设备是CPU通过相应的输出接口电路将程序运行的结果及程序、数据送到的设备; 2.微处理器的发展过程是什么? 答:微型计算机的发展过程是: 第一代(1946~1957)——采用电子管为逻辑部件,以超声波汞延迟线、阴极射线管、磁芯和磁鼓等为存储手段;软件上采用机器语言,后期采用汇编语言。 第二代(1957~1965)——采用晶体管为逻辑部件,用磁芯、磁盘作内存和外存;软件上广泛采用高级语言,并出现了早期的操作系统。 第三代(1965~1971)——采用中小规模集成电路为主要部件,以磁芯、磁盘作内存和外存;软件上广泛使用操作系统,产生了分时、实时等操作系统和计算机网络。 第四代(1971~至今)——采用大规模集成电路(LSI)、超大规模集成电路(VLSI)为主要部件,以半导体存储器和磁盘为内、外存储器;在软件方法上产生了结构化程序设计和面向对象程序设计的思想。 3.简述80486微处理器的基本结构。 书12页 4.80486微处理器的工作模式有几种?当CS内容为1000H,IP内容为7896H,求在实地址 模式下的物理地址为多少? 答:实模式和保护模式及虚拟8086模式。当CS内容为1000H,IP内容为7896H,在实地

微机原理与接口技术(第二版) 清华大学出版社

习题1 1.什么是汇编语言,汇编程序,和机器语言? 答:机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。 汇编语言是面向及其的程序设计语言。在汇编语言中,用助记符代替操作码,用地址符号或标号代替地址码。这种用符号代替机器语言的二进制码,就把机器语言编程了汇编语言。 使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序。 2.微型计算机系统有哪些特点?具有这些特点的根本原因是什么? 答:微型计算机的特点:功能强,可靠性高,价格低廉,适应性强、系统设计灵活,周期短、见效快,体积小、重量轻、耗电省,维护方便。 这些特点是由于微型计算机广泛采用了集成度相当高的器件和部件,建立在微细加工工艺基础之上。 3.微型计算机系统由哪些功能部件组成?试说明“存储程序控制”的概念。 答:微型计算机系统的硬件主要由运算器、控制器、存储器、输入设备和输出设备组成。 “存储程序控制”的概念可简要地概括为以下几点: ①计算机(指硬件)应由运算器、存储器、控制器和输入/输出设备五大基本部件组成。 ②在计算机内部采用二进制来表示程序和数据。 ③将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作,使计算机在不需要人工干预的情况下,自动、高速的从存储器中取出指令加以执行,这就是存储程序的基本含义。 ④五大部件以运算器为中心进行组织。 4.请说明微型计算机系统的工作过程。 答:微型计算机的基本工作过程是执行程序的过程,也就是CPU自动从程序存

放的第1个存储单元起,逐步取出指令、分析指令,并根据指令规定的操作类型和操作对象,执行指令规定的相关操作。如此重复,周而复始,直至执行完程序的所有指令,从而实现程序的基本功能。 5.试说明微处理器字长的意义。 答:微型机的字长是指由微处理器内部一次可以并行处理二进制代码的位数。它决定着计算机内部寄存器、ALU和数据总线的位数,反映了一台计算机的计算精度,直接影响着机器的硬件规模和造价。计算机的字长越大,其性能越优越。在完成同样精度的运算时,字长较长的微处理器比字长较短的微处理器运算速度快。 6.微机系统中采用的总线结构有几种类型?各有什么特点? 答:微机主板常用总线有系统总线、I/O总线、ISA总线、IPCI总线、AGP总线、IEEE1394总线、USB总线等类型。 7.将下列十进制数转换成二进制数、八进制数、十六进制数。 ①(4.75)10=(0100.11)2=(4.6)8=(4.C)16 ②(2.25)10=(10.01)2=(2.2)8=(2.8)16 ③(1.875)10=(1.111)2=(1.7)8=(1.E)16 8.将下列二进制数转换成十进制数。 ①(1011.011)2=(11.375)10 ②(1101.01011)2=(13.58)10 ③(111.001)2=(7.2)10 9.将下列十进制数转换成8421BCD码。 ① 2006=(0010 0000 0000 0110)BCD ② 123.456=(0001 0010 0011.0100 0101 0110)BCD 10.求下列带符号十进制数的8位基2码补码。 ① [+127]补= 01111111

微机原理与接口技术(第二版)习题答案

第1章 1.1 微处理器、微型计算机和微型计算机系统三者之间有什么不同? 解: 把CPU(运算器和控制器)用大规模集成电路技术做在一个芯片上,即为微 处理器。微处理器加上一定数量的存储器和外部设备(或外部设备的接口)构成了 微型计算机。微型计算机与管理、维护计算机硬件以及支持应用的软件相结合就形成了微型计算机系统。 1.2 CPU在内部结构上由哪几部分组成?CPU应该具备哪些主要功能? 解: CPU主要由起运算器作用的算术逻辑单元、起控制器作用的指令寄存器、指令译码器、可编程逻辑阵列和标志寄存器等一些寄存器组成。其主要功能是进行算术和逻辑运算以及控制计算机按照程序的规定自动运行。 1.3微型计算机采用总线结构有什么优点? 解: 采用总线结构,扩大了数据传送的灵活性、减少了连线。而且总线可以标准化,易于兼容和工业化生产。 1.4数据总线和地址总线在结构上有什么不同之处?如果一个系统的数据和地址合用 一套总线或者合用部分总线,那么要靠什么来区分地址和数据? 解: 数据总线是双向的(数据既可以读也可以写),而地址总线是单向的。 8086CPU为了减少芯片的引脚数量,采用数据与地址线复用,既作数据总线也作为 地址总线。它们主要靠信号的时序来区分。通常在读写数据时,总是先输出地址(指定要读或写数据的单元),过一段时间再读或写数据。 1.8在给定的模型中,写出用累加器的办法实现15×15的程序。 DEC H JP NZ,LOOP HALT

第2章作业答案 2.1 IA-32结构微处理器直至Pentillm4,有哪几种? 解: 80386、30486、Pentium、Pentium Pro、PeruiumII、PentiumIII、Pentium4。 2.6IA-32结构微处理器有哪几种操作模式? 解: IA一32结构支持3种操作模式:保护模式、实地址模式和系统管理模式。操作模式确定哪些指令和结构特性是可以访问的。 2.8IA-32结构微处理器的地址空间如何形成? 解: 由段寄存器确定的段基地址与各种寻址方式确定的有效地址相加形成了线性地址。若末启用分页机制,线性地址即为物理地址;若启用分页机制,则它把线性地址转为物理地址。 2.15 8086微处理器的总线接口部件由哪几部分组成? 解: 8086微处理器中的总线接口单元(BIU)负责CPU与存储器之间的信息传 送。具体地说,BIU既负责从内存的指定部分取出指令,送至指令队列中排队(8086的指令队列有6个字节,而8088的指令队列只有4个字节);也负责传送执 行指令时所需的操作数。执行单元(EU)负责执行指令规定的操作。 2.16段寄存器CS=120OH,指令指针寄存器IP=FFOOH,此时,指令的物理地址为 多少? 解: 指令的物理地址=12000H+FFOOH=21FOOH 第3章作业答案 3.1分别指出下列指令中的源操作数和目的操作数的寻址方式。 (1)MOV SI, 30O (2)MOV CX, DATA[DI] (3)ADD AX, [BX][SI] (4)AND AX, CX (5)MOV[BP], AX (6)PUSHF 解: (l)源操作数为立即寻址,目的操作数为寄存器寻址。

《微机原理与接口技术》参考答案

《微机原理与接口技术》参考答案 《微机原理与接口技术》习题参考答案习题 2 1. 为何说8086CPU是16位CPU?答:16位指的是8086CPU的字长,而字长一般来说和运算器、寄存器、总线宽度一致。因为8086CPU的内部寄存器、内部运算部件以及内部操作都是按16位设计的,这决定了它的字长为16位。 2. 8086CPU哪两个单元组成?其中,指令队列在哪个单元中,有何作用?答:总线接口单元和执行单元。指令队列在BIU中。它的作用是当EU在执行指令时,空闲的BIU可以从内存读取后续指令到指令队列,这样就可以将取指令工作和执行指令工作重叠进行,从而提高CPU的工作效率,加快指令的执行速度。 3. 8086CPU中8位寄存器和16位寄存器是什么关系?答:8086的通用寄存器包括数据寄存器、指

针寄存器和变址寄存器。其中数据寄存器包含AX、BX、CX、DX四个16位寄存器,但他们每个都可以分开作为两个单独的8位寄存器使用。8086的指针寄存器和变址寄存器不可分割为8位寄存器。4. 8086CPU中的IP寄存器有何用途?答:IP寄存器是指令指针寄存器,用来存放下一条要执行的指令在代码段中的偏移地址。在程序运行过程中,IP寄存器始终指向下一条指令的首地址,与CS寄存器联合确定下一条指令的物理地址。8086就是通过IP寄存器来控制指令序列的执行流程。 5. 在标志寄存器中,用于反映运算结果属性的标志位有哪些?它们每一位所表示的含义是什么?答:有CF、PF、AF、ZF、SF、OF。它们的含义如下:CF:进位标志。它记录运算时从最高有效位产生的进位值或结果值。最高有效位有进位或有借位时CF=1,否则CF=0。PF:奇偶标志。它记录运算结果的奇偶检验条件。当结果操作数

微机原理与接口技术习题答案

《微机原理与接口技术》习题答案 一、单项选择题 1、80486CPU进行算术和逻辑运算时,可处理的信息的长度为( D )。 A、32位 B、16位 C、8位 D、都可以 2、在下面关于微处理器的叙述中,错误的是( C ) 。 A、微处理器是用超大规模集成电路制成的具有运算和控制功能的芯片 B、一台计算机的CPU含有1个或多个微处理器 C、寄存器由具有特殊用途的部分内存单元组成,是内存的一部分 D、不同型号的CPU可能具有不同的机器指令 3、若用MB作为PC机主存容量的计量单位,1MB等于( B )字节。 A、210个字节 B、220个字节 C、230个字节 D、240个字节 4、运算器在执行两个用补码表示的整数加法时,判断其是否溢出的规则为( D )。 A、两个整数相加,若最高位(符号位)有进位,则一定发生溢出 B、两个整数相加,若结果的符号位为0,则一定发生溢出 C、两个整数相加,若结果的符号位为1,则一定发生溢出 D、两个同号的整数相加,若结果的符号位与加数的符号位相反,则一定发生溢出 5、运算器的主要功能是( C )。 A、算术运算 B、逻辑运算 C、算术运算与逻辑运算 D、函数运算 6、指令ADD CX,55H[BP]的源操作数的寻址方式是(D )。 A、寄存器寻址 B、直接寻址 C、寄存器间接寻址 D、寄存器相对寻址 7、设(SS)=3300H,(SP)=1140H,在堆栈中压入5个字数据后,又弹出两个字数据,则(SP)=(A ) A、113AH B、114AH C、1144H D、1140H 8、若SI=0053H,BP=0054H,执行SUB SI,BP后,则( C)。 A、CF=0,OF=0 B、CF=0,OF=1 C、CF=1,OF=0 D、CF=1,OF=1 9、已知(BP)=0100H,(DS)=7000H,(SS)=8000H,(80100H)=24H,(80101H)=5AH,(70100H)=01H,(70101H)=02H,指令MOV BX,[BP]执行后,(BX)=(D ) 。 A、0102H B、0201H C、245AH D、5A24H 10、实模式下80486CPU对指令的寻址由(A )决定。 A、CS,IP B、DS,IP C、SS,IP D、ES,IP 11、使用80486汇编语言的伪操作指令定义: VAL DB 2 DUP(1,2,3 DUP(3),2 DUP(1,0)) 则

微机原理与接口技术 试题与答案

微机原理与接口技术试题 微型计算机原理与接口技术综合测试题一 一、单项选择题(下面题只有一个答案是正确的,选择正确答案填入空白处) 1.8086CPU通过(1 )控制线来区分是存储器访问,还是I/O 访问,当CPU执行IN AL,DX指令时,该信号线为(2 )电平。 (1) A. M/ B. C. ALE D. N/ (2) A. 高 B. 低 C. ECL D. CMOS 2.n+1位有符号数x的补码表示范围为()。 A. -2n < x < 2n B. -2n ≤ x ≤ 2n -1 C. -2n -1 ≤ x ≤ 2n-1 D. -2n < x ≤ 2n 3.若要使寄存器AL中的高4位不变,低4位为0,所用指令为()。 A. AND AL, 0FH B. AND AL, 0FOH C. OR AL, 0FH D. OR AL 0FOH 4.下列MOV指令中,不正确的指令是()。 A. MOV AX, BX B. MOV AX, [BX] C. MOV AX, CX D. MOV AX, [CX] 5.中断指令INT 17H的中断服务程序的入口地址放在中断向量表地址()开始的4个存贮单元内。

A. 00017H B. 00068H C. 0005CH D. 0005EH 6.条件转移指令JNE的条件是()。 A. CF=0 B. CF=1 C. ZF=0 D. ZF=1 7. 在8086/8088 CPU中,一个最基本的总线读写周期由(1 )时钟周期(T状态)组成,在T1状态,CPU往总线上发( 2 )信息。 ⑴ A. 1个 B. 2个 C. 4个 D. 6个 ⑵ A. 数据 B . 地址 C. 状态 D. 其它 8. 8086有两种工作模式, 最小模式的特点是(1 ),最大模式的特点是( 2 )。 ⑴ A. CPU提供全部控制信号 B. 由编程进行模式设定 C. 不需要8286收发器 D. 需要总线控制器8288 ⑵ A. M/ 引脚可直接引用 B. 由编程进行模式设定 C. 需要总线控制器8288 D. 适用于单一处理机系统 9.在8086微机系统的RAM 存储单元器0000H:002CH开始依次存放23H,0FFH,00H,和0F0H四个字节,该向量对应的中断号是( )。 A. 0AH B. 0BH C. 0CH D. 0DH 10.真值超出机器数表示范围称为溢出,,此时标志寄存器中的( )位被置位 A. OF B AF C PF D CF

(完整版)微机原理与接口技术知识点总结整理

《微机原理与接口技术》复习参考资料 第一章概述 一、计算机中的数制 1、无符号数的表示方法: (1)十进制计数的表示法 特点:以十为底,逢十进一; 共有0-9十个数字符号。 (2)二进制计数表示方法: 特点:以2为底,逢2进位; 只有0和1两个符号。 (3)十六进制数的表示法: 特点:以16为底,逢16进位; 有0--9及A—F(表示10~15)共16个数字符号。 2、各种数制之间的转换 (1)非十进制数到十进制数的转换 按相应进位计数制的权表达式展开,再按十进制求和。(见书本1.2.3,1.2.4)(2)十进制数制转换为二进制数制 ●十进制→二进制的转换: 整数部分:除2取余; 小数部分:乘2取整。 ●十进制→十六进制的转换: 整数部分:除16取余; 小数部分:乘16取整。 以小数点为起点求得整数和小数的各个位。 (3)二进制与十六进制数之间的转换 用4位二进制数表示1位十六进制数 3、无符号数二进制的运算(见教材P5) 4、二进制数的逻辑运算 特点:按位运算,无进借位 (1)与运算 只有A、B变量皆为1时,与运算的结果就是1 (2)或运算 A、B变量中,只要有一个为1,或运算的结果就是1 (3)非运算 (4)异或运算 A、B两个变量只要不同,异或运算的结果就是1 二、计算机中的码制 1、对于符号数,机器数常用的表示方法有原码、反码和补码三种。数X的原码记作[X]原,反码记作[X]反,补码记作[X]补。

注意:对正数,三种表示法均相同。 它们的差别在于对负数的表示。 (1)原码 定义: 符号位:0表示正,1表示负; 数值位:真值的绝对值。 注意:数0的原码不唯一 (2)反码 定义: 若X>0 ,则[X]反=[X]原 若X<0,则[X]反= 对应原码的符号位不变,数值部分按位求反 注意:数0的反码也不唯一 (3)补码 定义: 若X>0,则[X]补= [X]反= [X]原 若X<0,则[X]补= [X]反+1 注意:机器字长为8时,数0的补码唯一,同为00000000 2、8位二进制的表示范围: 原码:-127~+127 反码:-127~+127 补码:-128~+127 3、特殊数10000000 ●该数在原码中定义为:-0 ●在反码中定义为:-127 ●在补码中定义为:-128 ●对无符号数:(10000000)2= 128 三、信息的编码 1、十进制数的二进制数编码 用4位二进制数表示一位十进制数。有两种表示法:压缩BCD码和非压缩BCD码。(1)压缩BCD码的每一位用4位二进制表示,0000~1001表示0~9,一个字节表示两位十进制数。 (2)非压缩BCD码用一个字节表示一位十进制数,高4位总是0000,低4位的0000~1001表示0~9 2、字符的编码 计算机采用7位二进制代码对字符进行编码 (1)数字0~9的编码是0110000~0111001,它们的高3位均是011,后4位正好与其对应的二进制代码(BCD码)相符。

微机原理与接口技术期末考试试题及答案

微机原理与接口技术期末考试题库 1.微机系统的硬件由哪几部分组成? 答:三部分:微型计算机(微处理器,存储器,I/0接口,系统总线),外围设备,电源。 2.什么是微机的总线,分为哪三组? 答:是传递信息的一组公用导线。分三组:地址总线,数据总线,控制总线。 3.8086/8088CPU的内部结构分为哪两大模块,各自的主要功能是什 么? 答:总线接口部件(BIU)功能:根据执行单元EU的请求完成CPU 与存储器或IO设备之间的数据传送。执行部件(EU),作用:从指令对列中取出指令,对指令进行译码,发出相应的传送数据或算术的控制信号接受由总线接口部件传送来的数据或把数据传送到总线接 口部件进行算术运算。 4.8086指令队列的作用是什么? 答:作用是:在执行指令的同时从内存中取了一条指令或下几条指令,取来的指令放在指令队列中这样它就不需要象以往的计算机那样让CPU轮番进行取指和执行的工作,从而提高CPU的利用率。 5.8086的存储器空间最大可以为多少?怎样用16位寄存器实现对 20位地址的寻址?完成逻辑地址到物理地址转换的部件是什么?

答:8086的存储器空间最大可以为2^20(1MB);8086计算机引入了分段管理机制,当CPU寻址某个存储单元时,先将段寄存器内的内容左移4位,然后加上指令中提供的16位偏移地址形成20位物理地址。 6.段寄存器CS=1200H,指令指针寄存器IP=FF00H,此时,指令 的物理地址为多少?指向这一物理地址的CS值和IP值是唯一的吗? 答:指令的物理地址为21F00H;CS值和IP值不是唯一的,例如:CS=2100H,IP=0F00H。 7.设存储器的段地址是4ABFH,物理地址为50000H,其偏移地址 为多少? 答:偏移地址为54100H。(物理地址=段地址*16+偏移地址) 8.8086/8088CPU有哪几个状态标志位,有哪几个控制标志位?其意 义各是什么? 答:状态标志位有6个:ZF,SF,CF,OF,AF,PF。其意思是用来反映指令执行的特征,通常是由CPU根据指令执行结果自动设置的;控制标志位有3个:DF,IF,TF。它是由程序通过执行特定的指令来设置的,以控制指令的操作方式。 9.8086CPU的AD0~AD15是什么引脚? 答:数据与地址引脚 10.INTR、INTA、NMI、ALE、HOLD、HLDA引脚的名称各是什么?

微机原理与接口技术试题库(含答案)汇总

一、问答题 1、下列字符表示成相应的ASCII码是多少? (1)换行0AH (2)字母“Q”51H (3)空格20H 2、下列各机器数所表示数的范围是多少? (1)8位二进制无符号定点整数; 0~255 (2)8位二进制无符号定点小数;0.996094 (3)16位二进制无符号定点整数;0~65535 (4)用补码表示的16位二进制有符号整数;-32768~32767 3、(111)X=273,基数X=?16 4、有一个二进制小数X=0.X1X2X3X4X5X6 (1)若使X≥1/2,则X1……X6应满足什么条件? X1=1 若使X>1/8,则X1……X6应满足什么条件?X1∨X2 ∨X3=1 (2) 5、有两个二进制数X=01101010,Y=10001100,试比较它们的大小。 (1)X和Y两个数均为无符号数;X>Y (2)X和Y两个数均为有符号的补码数。X

微机原理与接口技术

第二章 8086系统结构 一、 8086CPU 的内部结构 1.总线接口部件BIU (Bus Interface Unit ) 组成:20位地址加法器,专用寄存器组,6字节指令队列,总线控制电路。 作用:负责从内存指定单元中取出指令,送入指令流队列中排队;取出指令所需的操作 数送EU 单元去执行。 工作过程:由段寄存器与IP 形成20位物理地址送地址总线,由总线控制电路发出存储器“读”信号,按给定的地址从存储器中取出指令,送到指令队列中等待执行。 *当指令队列有2个或2个以上的字节空余时,BIU 自动将指令取到指令队列中。若遇到转移指令等,则将指令队列清空,BIU 重新取新地址中的指令代码,送入指令队列。 *指令指针IP 由BIU 自动修改,IP 总是指向下一条将要执行指令的地址。 2.指令执行部件EU (Exection Unit) 组成:算术逻辑单元(ALU ),标志寄存器(FR ),通用寄存器,EU 控制系统等。 作用:负责指令的执行,完成指令的操作。 工作过程:从队列中取得指令,进行译码,根据指令要求向EU 内部各部件发出控制命令,完成执行指令的功能。若执行指令需要访问存储器或I/O 端口,则EU 将操作数的偏移地址送给BIU ,由BIU 取得操作数送给EU 。 二、 8088/8086的寄存器结构 标志寄存器 ALU DI DH SP SI BP DL AL AH BL BH CL CH ES SS DS CS 内部暂存器输入 / 输出控制 电路1432EU 控制系 统20位16位8086总线指令 队列总线 接口单元执行 单元 6 516位 属第三代微处理器 运算能力: 数据总线:DB

微机原理与接口技术习题答案5章(供参考)

第5章 总线及其形成 1. 微处理器的外部结构表现为 数量有限的输入输出引脚 ,它们构成了微处理器级总线。 2. 微处理器级总线经过形成电路之后形成了 系统级总线 。 3. 简述总线的定义及在计算机系统中采用标准化总线的优点。 答:总线是计算机系统中模块(或子系统)之间传输数据、地址和控制信号的公共通道, 它是一组公用导线,是计算机系统的重要组成部分。 采用标准化总线的优点是: 1) 简化软、硬件设计。 2) 简化系统结构。 3) 易于系统扩展。 4) 便于系统更新。 5) 便于调试和维修。 4. 在微型计算机应用系统中,按功能层次可以把总线分成哪几类。 答:在微型计算机应用系统中,按功能层次可以把总线分成:片内总线、元件级总线、 系统总线和通信总线。 5. 简述RESET 信号的有效形式和系统复位后的启动地址。 答:RESET 为系统复位信号,高电平有效,其有效信号至少要保持四个时钟周期,且复 位信号上升沿要与CLK 下降沿同步。 系统复位后的启动地址为0FFFF0H 。即:(CS )=0FFFFH ,(IP )=0000H 。 6. 8086 CPU 的IO M/信号在访问存储器时为 高 电平,访问I/O 端口时为 低 电平。 7. 在8086系统总线结构中,为什么要有地址锁存器? 答:8086CPU 有20条地址线和16条数据线,为了减少引脚,采用了分时复用,共占了 20条引脚。这20条引脚在总线周期的T1状态输出地址。为了使地址信息在总线周期的其 他T 状态仍保持有效,总线控制逻辑必须有一个地址锁存器,把T1状态输出的20位地址信 息进行锁存。 8. 根据传送信息的种类不同,系统总线分为 数据总线 、 地址总线 和 控制总线 。 9. 三态逻辑电路输出信号的三个状态是 高电平 、 低电平 和 高阻态 。 10. 在8086的基本读总线周期中,在1T 状态开始输出有效的ALE 信号;在2T 状态开始输出

微机原理与接口技术

微机原理及接口技术 第一部分客观题 一、单项选择题(每小题2分,共10分) 1. 寄存器ECX勺低16位部分可以用 ____________ 达。 A EX B CX C CH D CL 2. 8086处理器执行“ OUT DX,AL指令时,AL的数据出现在_____________ 输出给外设。 A控制总线B地址总线C电源和地线D 数据总线 3. 与DRAM目比,SRAM勺特点是___________ 。 A集成度高、存取周期长B集成度低、存取周期长 C集成度高、存取周期短D集成度低、存取周期短 4. 使用语句“ var dword 3721 ”定义的变量var在主存占用___________ 字节存储空间。 A 1 B 2 C 4 D 8 5. 用8K>8结构SRAM芯片构成64000H H6FFFFH地址范围的存储器,需要使用__________ 。 A 4 B 6 C 8 D 10 二、对错判断题(每小题2分,共10分)(说明:正确的选“ A ,错误选“ B” 6. IA-32 处理器设置的中断标志IF = 0是关中断,表示禁止内部中断和外部中断的所有中断请求。X

7. 已知var是一个变量,语句“ add esi,byte ptr var ”没有语法错误。X 8. DMA传输由DMA控制器控制,无需处理器执行I/O指令。V 9. 高性能计算机中常使用Cache (高速缓冲存储器)提高主存性能。V 10. 向某个I/O端口写入一个数据,一定可以从该I/O端口读回这个数据。V 第二部分主观题 一、填空题(每空2分,共10分) 1. 8086处理器引脚有3个最基本的读写控制信号,它们是M/IO*,—RD* __________ 和____ /R* ______ 。 2. 逻辑地址由—段基地址_________ 口偏移地址两部分组成。代码段中下一条要执行的指令由CS和 _____ 指针IP ____ 寄存器指示,后者在实地址模型中起作用 的仅有_____ 指针 ____ 寄存器部分。 二、问答题(每小题6分,共30分) 1. 什么是JMP指令的近(near)转移和远(far )转移? jmp指令的近转移是指在同一个段里面的转移,也叫做段内近转移,用汇编编码就是这样的jmp near ptr标号 jmp指令的远转移是指段与段之间的转移,就是说不在同一个段的转移,用汇编编码就是这样的jmp far ptr 标号 2. 什么是存储访问的局部性原理,它分成哪两个方面的局部性? 程序局部性原理:虚拟存储管理的效率与程序局部性程序有很大关系。根据统计,进程运行时,在一段时间内,其程序的执行往往呈现岀高度的局限性,包括时间局部性和空间局部性。 1、时间局部性:是指若一条指令被执行,则在不久的将来,它可能再被执行。 2、空间局部性:是指一旦一个存储单元被访问,那它附近的单元也将很快被访问。

《微机原理与接口技术》习题解答5

习题5 5.1 什么叫总线?总线如何进行分类?各类总线的特点和应用场合是什么? 【解答】总线是指计算机中多个部件之间公用的一组连线,由它构成系统插件间、插件的芯片间或系统间的标准信息通路。 (1)微处理器芯片总线:元件级总线,是在构成一块CPU插件或用微处理机芯片组成一个很小系统时常用的总线,常用于CPU芯片、存储器芯片、I/O接口芯片等之间的信息传送。 (2)内总线:板极总线或系统总线,是微型计算机系统内连接各插件板的总线,用以实现微机系统与各种扩展插件板之间的相互连接,是微机系统所特有的总线,一般用于模板之间的连接。在微型计算机系统中,系统总线是主板上微处理器和外部设备之间进行通讯时所采用的数据通道。 (3)外部总线:通信总线,主要用于微机系统与微机系统之间或微机与外部设备、仪器仪表之间的通信,常用于设备级的互连。数据可以并行传输,也可以串行传输,数据传输速率低。 5.2 什么叫总线的裁决?总线分配的优先级技术有哪些?各自的特点是什么? 【解答】当总线上的某个部件要与另一个部件进行通信时,首先应该发出请求信号,有时会发生同一时刻总线上有多个请求信号的情况,就要根据一定的原则来确定占用总线的先后次序,这就是总线裁决。 (1)并联优先权判别法 通过优先权裁决电路进行优先级别判断,每个部件一旦获得总线使用权后应立即发出一个“总线忙”的信号,表明总线正在被使用。当传送结束后释放总线。 (2)串联优先级判别法 采用链式结构,把共享总线的各个部件按规定的优先级别链接在链路的不同位置上,位置越前面的部件,优先级别越高。 (3)循环优先权判别法 类似于并联优先权判别法,只是动态分配优先权,原来的优先权编码器由一个更为复杂的电路代替,该电路把占用总线的优先权在发出总线请求的那些部件之间循环移动,从而使每个总线部件使用总线的机会相同。 5.3 总线数据的传送方式有哪些?各自有何特点? 【解答】 (1)串行传送方式 只使用一条传输线,在传输线上按顺序传送信息的所有二进制位的脉冲信号,每次一位。适于长距离传输。 (2)并行传送方式 信息由多少个二进制位组成,机器就需要有多少条传输线,从而让二进制信息在不同的线上同时进行传送。 (3)并串行传送方式 是并行传送方式与串行传送方式的结合。传送信息时,如果一个数据字由两个字节组成,那么传送一个字节时采用并行方式,而字节之间采用串行方式。

微机原理与接口技术第五章课后答案

第五章参考答案 1.简述SRAM芯片与DRAM芯片的共同点与不同点。 答:SRAM与DRAM的共同点:都属于随机存取存储器,具有易失性。 SRAM与DRAM的共同点:SRAM利用双稳态触发器电路保存信息,集成度比DRAM低,功耗比DRAM大;DRAM利用MOS管栅极和源极之间的极间电容C保存信息,需要刷新电路保证信息较长时间保存。 2.叙述ROM芯片的常见分类,各种ROM芯片的特点及其适用场合。 答:ROM的常用分类结果: 掩膜ROM:生产完成的芯片已保存了信息,保存的信息无法修改,适用于大批量的定型产品中。 PROM:PROM可以一次写入信息,一旦写入无法更改,适用于小批量的定型产品中。 EPROM:紫外线擦除可多次编程的存储器,适用于新产品的开发。 EEPROM:电擦除可多次编程的存储器,适用于需要在线修改的场合。 3.利用4片6116(2K×8位)芯片设计连续存储器,采用全地址译码。设起始地址为60000H,求存储器的最后一个单元地址。 答:存储器的最后一个单元地址为:61FFFH. 4.用6264 RAM(8K×8位)芯片构成256K字节存储器系统,需要多少片6264芯片20位地址总线中有多少位参与片内寻址有多少位可用作片选控制信号 答:需要32片6264芯片。 20位地址总线中有13位参与片内寻址;有7位可用作片选控制信号。 5.某微机系统中ROM区有首地址为9000H,末地址为FFFFH,求其ROM区域的存储容量。答:其ROM区域的存储容量为28K。 6.在8088CPU的系统中扩展32K字节的RAM,其扩充存储空间的起始地址为08000H。设系统的地址总线为A19~A0,数据总线为D7~D0,存储器芯片选用6264。利用74LS138译码器设计译码电路,并画出扩充的存储器系统的连线图。 解: 8088 BUS D0~D7 MEMW MEMR

《微机原理与接口技术》参考答案完整版

《微机原理与接口技术》习题参考答案 习题2 1.为何说8086CPU是16位CPU? 答:16位指的是8086CPU的字长,而字长一般来说和运算器、寄存器、总线宽度一致。因为8086CPU的内部寄存器、内部运算部件以及内部操作都是按16位设计的,这决定了它的字长为16位。 2.8086CPU由哪两个单元组成?其中,指令队列在哪个单元中,有何作用? 答:总线接口单元(Bus Interface Unit,BIU)和执行单元(Execution Unit,EU)。指令队列在BIU中。它的作用是当EU在执行指令时,空闲的BIU可以从内存读取后续指令到指令队列,这样就可以将取指令工作和执行指令工作重叠进行,从而提高CPU的工作效率,加快指令的执行速度。 3.8086CPU中8位寄存器和16位寄存器是什么关系? 答:8086的通用寄存器包括数据寄存器、指针寄存器和变址寄存器。其中数据寄存器包含AX、BX、CX、DX四个16位寄存器,但他们每个都可以分开作为两个单独的8位寄存器使用。8086的指针寄存器和变址寄存器不可分割为8位寄存器。 4.8086CPU中的IP寄存器有何用途? 答:IP寄存器是指令指针寄存器,用来存放下一条要执行的指令在代码段中的偏移地址。在程序运行过程中,IP寄存器始终指向下一条指令的首地址,与CS寄存器联合确定下一条指令的物理地址。8086就是通过IP寄存器来控制指令序列的执行流程。 5.在标志寄存器中,用于反映运算结果属性的标志位有哪些?它们每一位所表示的含义是 什么? 答:有CF、PF、AF、ZF、SF、OF。它们的含义如下: CF:进位标志。它记录运算时从最高有效位产生的进位值或结果值。最高有效位有进位或有借位时CF=1,否则CF=0。 PF:奇偶标志。它记录运算结果的奇偶检验条件。当结果操作数中“1”的个数为偶数时PF=1,否则PF=0。 AF:辅助进位标志。在字节运算时,由低半字节(字节的低4位)向高半字节有进位或借位时,AF=1,否则AF=0。 ZF:零标志。运算结果为零时ZF=1,否则ZF=0。 SF:符号标志。它记录运算结果的最高位,即由符号数的符号。 OF:溢出标志。在运算过程中,如果运算结果已经超出了机器能表示的数值范围(指有符号数)称为溢出,此时OF=1,否则OF=0。 6.分别完成下面的8位运算,并说明各主要标志位的状态,以及结果是否产生溢出(提 示:需要分为有符号数和无符号数两种情况)。

微机原理与接口技术第五章-练习题及答案

第五章练习题及答案 一、填空题 1、常见的片选控制方法有____________________________________。线选法,全译码法,部分译码法 2、磁带是______存储器。顺序存储 3、为保证动态RAM中的内容的不消失,需要进行__________操作。刷新 4、全部存储系统分为四级,即寄存器组,____________,内存,外存。高速缓冲存储器 5、DRAM靠_______存储信息,所以需要定期_____。电容刷新 6、虚拟存储器由__________两级存储器组成。主存-辅存 7、存储器是计算机系统的记忆设备,它主要用来______。存储数据和指令 8、8086CPU的物理地址是指实际的20位主存单元地址,每个存储单元对应唯一的物理地址,其范围是_________________。00000H~FFFFFH 二、选择题 1、RAM是随机存储器,它分为( )两种。 A、ROM和SRAM B、DRAM和SRAM C、ROM和DRAM D、ROM和CD-ROM B 2、从存储器中读出或向存储器中写入一个信息所需要的时间称为( )。 A、等待时间 B、存取周期 C、查找时间 D、寄存器 B 3、在计算机的专业用语中,ROM表示( )。 A、外存储器 B、内存储器 C、只读存储器 D、随机存储器 C 4、在下列存储器中,若按记录密度从低到高的顺序播列,应为( )。 A、软盘、硬盘、光盘、磁带 B、磁带、硬盘、软盘、光盘 C、磁带、软盎、硬盘、光盘 D、硬盘、软盘、磁带、光盘 C 5、某计算机字长32位,存储容量为4MB,若按半字编址,它的寻址范围是()。 A、0-4MB B、0-2MB C、0-2M D、0-1MB C 6、下列因素中,与Cache命中率无关的是()。 A、主存的存取时间 B、快的大小 C、Cache的组织方式 D、cache 的容量 A 7、计算机的存储器采用分级存储体系的主要目的是()。 A、便于读写数据 B、减小机箱的体积 C、便于系统升级 D、解决存储容量、价格和存取速度之间的矛盾 D 8、磁盘存储器的数据存取速度与下列哪一组性能参数有关?( )。 A、平均等待时间,磁盘旋转速度,数据传输速串 B、平均寻道时间,平均等待时间,数据传输速串 C、数据传输速率,磁盘存储密度,平均等待时间 D、磁盘存储器容量,数据传输速率,平均等持时间 B

微机原理与接口技术考试复习题(有答案)

《微型计算机原理及接口技术》试题 (120分钟) 一. 单项选择题(在每小题的四个备选答案中选出一个正确的 1. 8086CPU芯片的外部引线中,数据线的条数为()。 A.6条 B.8条 C.16条 D.20条 2.8086CPU工作在总线请求方式时,会让出()。 A.地址总线 B.数据总线 C.地址和数据总线 D.地址、数据和控制总线 3.8086在执行OUT DX,AL指令时,AL寄存器的内容输出到()上。 A.地址总线 B.数据总线 C.存储器 D.寄存器 4.8086CPU的I/O地址空间为()字节。 A.64KB B.1MB C.256B D.1024B 5. 当8086CPU读I/O接口时,信号M/IO和DT/R的状态必须是()。 A.00 B.01 C.10 D.11 6. 在8088CPU中, 用于寄存器间接寻址输入输出指令的寄存器是()。 A. AX B. BX C. CX D. DX 7.两片8259A级联后可管理()级中断。 A.15 B.16 C.32 D.64 8.8086中断系统中优先级最低的的是()。 A.可屏蔽中断 B.不可屏蔽中断 C.单步中断 D.除法出错 9.CPU在执行IN AL,DX指令时,其()。 A. IO/M为高, RD为低 B. IO/M为高, WR为低 C. IO/M为低, RD为低 D. IO/M为低, WR为低 10. 内存从A4000H到CBFFFH,共有() A.124K B.160K C.180K D.224K 11. 8088CPU中的CS寄存器是一个多少位的寄存器?()。 A.8位 B.16位 C.24位 D.32位 12.地址译码器的输出一般可为接口的()信号。 A.片选 B.数据输入 C.地址 D.控制 13. 8255工作在方式0时,下面哪种说法正确() A. A、B、C三个口输入均有锁存能力 B. 只有A口输入有锁存能力 C. 只有C口输入有锁存能力 D. A、B、C三个口输入均无锁存能力 14. 实现DMA传送,需要() A.CPU通过执行指令来完成 B.CPU利用中断方式来完成 C.CPU利用查询方式来完成 D.不需要CPU参与即可完成 15.CPU在执行OUT DX,AL指令时,()寄存器的内容送到地址总线上。 A.AL B.DX C.AX D. DL 二、填空题 1. 分析与设计接口电路的基本方法有和。 2. DMA可以工作在状态和状态下,区分当前DMA工作在什么状态下。 3. 8086/8088的引脚用于决定其工作模式。 4.在译码过程中,如果有一根地址线没有用到,会有个重叠地址。 5.在总线上要完成一次数据传输一般要经历如下阶段:、 、和。 6. 8255A是芯片,有种工作方式; 7. 8253是芯片,内部有个端口地址,其中的每个计数器可作为进制和进制计数器使用。 8.从8253计数器中读出的计数值读出的减一计数器当前值。(是、不是) 9.串行通信包括和两种方式。 10. 158的16位二进制补码为,原码为,反码为。 11.-20的8位二进制补码为,原码为,反码为。 12.操作数寻址方式主要有、、和 4类。 13.中断过程包括、、和 4个阶段。 14. I/O端口地址的编制方式是和。 三.简答题 1.微型计算机接口一般应具有哪些功能? 2.8086有哪两种工作模式?其主要区别是什么? 3.什么是中断、中断向量和中断向量表?

相关文档
相关文档 最新文档