当前位置:文档之家› 微机原理与接口技术 第四版 钱晓捷主编 课[1]...

微机原理与接口技术 第四版 钱晓捷主编 课[1]...

微机原理与接口技术 第四版 钱晓捷主编 课[1]...
微机原理与接口技术 第四版 钱晓捷主编 课[1]...

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

第1章微型计算机系统

〔习题1.1〕简答题

(1)计算机字长(Word)指的是什么?

(2)总线信号分成哪三组信号?

(3)PC机主存采用DRAM组成还是SRAM组成?

(4)Cache是什么意思?

(5)ROM-BIOS是什么?

(6)中断是什么?

(7)32位PC机主板的芯片组是什么?

(8)教材中MASM是指什么?

(9)处理器的“取指-译码-执行周期”是指什么?

(10)本课程的主要内容属于计算机系统层次结构中哪个层次?

〔解答〕

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

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

③PC机主存采用DRAM组成。

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

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

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

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

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

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

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

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

〔习题1.2〕判断题

(1)软件与硬件的等价性原理说明软硬件在功能、性能和成本等方面是等价的。

(2)IA-64结构是IA-32结构的64位扩展,也就是Intel 64结构。

(3)8086的数据总线为16位,也就是说8086的数据总线的个数、或说条数、位数是16。

(4)微机主存只要使用RAM芯片就可以了。

(5)处理器并不直接连接外设,而是通过I/O接口电路与外设连接。

(6)处理器是微机的控制中心,内部只包括5大功能部件的控制器。

(7)Windows的模拟DOS环境与控制台环境是一样的。

(8)16位IBM PC/AT机采用ISA系统总线。

(9)IA-32处理器吸取了RISC技术特长。RISC是指复杂指令集计算机。

(10)处理器进行读操作,就是把数据从处理器内部读出传送给主存或外设。

〔解答〕

①错②错③对④错⑤对

⑥错⑦错⑧对⑨错⑩错

〔习题1.3〕填空题

(1)CPU是英文___________的缩写,中文译为___________,微型机采用___________芯片构成CPU。

(2)Intel 8086支持___________容量主存空间,80486支持___________容量主存空间。

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

(4)DOS主要支持两种可执行文件,它们的扩展名分别是___________和___________。

(5)英文缩写ISA常表示PC机工业标准结构(Industry Standard Architecture)总线,也表示指令集结构,后者的英文原文是___________。

(6)Windows的文件夹对应的专业术语是___________。

(7)Pentium系列处理器的多媒体指令有___________,SSE,SSE2和___________类指令。

(8)Pentium处理器采用___________位数据总线与主存相连。

(9)最初由___________公司采用Intel 8088处理器和___________操作系统推出PC机。

(10)当前32位PC机主要采用___________总线连接I/O接口电路卡。

〔解答〕

①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〕简答题

(1)ALU是什么?

(2)8086的取指为什么可以被称为指令预取?

(3)Pentium的片上Cache采用统一结构还是分离结构?

(4)堆栈的存取原则是什么?

(5)标志寄存器主要保存哪方面的信息?

(6)执行了一条加法指令后,发现ZF=1,说明结果是什么?

(7)汇编语言中的标识符与高级语言的变量和常量名的组成原则有本质的区别吗?

(8)汇编语言的标识符大小写不敏感意味着什么?

(9)汇编语言源程序文件中,END语句后的语句会被汇编吗?

(10)为什么将查找操作数的方法称为数据寻“址”方式?

〔解答〕

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

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

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

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

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

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

⑦没有。

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

⑨不会。

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

〔习题2.2〕判断题

(1)程序计数器PC或指令指针EIP寄存器属于通用寄存器。

(2)处理器的指令译码是将指令代码翻译成它代表的功能的过程,与数字电路的译码器是不同的概念。

(3)EAX也被称为累加器,因为它使用最频繁。

(4)处理器的传送指令MOV属于汇编语言的执行性语句。

(5)汇编语言的语句由明显的4部分组成,不需要分隔符区别。

(6)80减90(80-90)需要借位,所以执行结束后,进位标志CF=1。

(7)MASM汇编语言的注释用分号开始,但不能用中文分号。

(8)IA-32处理器在实地址方式下,不能使用32位寄存器。

(9)存储器寻址方式的操作数当然在主存了。

(10)保护方式下,段基地址加偏移地址就是线性地址或物理地址。

〔解答〕

①错②对③对④对⑤错

⑥对⑦对⑧错⑨对⑩对

〔习题2.3〕填空题

(1)寄存器EDX是__________位的,其中低16位的名称是__________,还可以分成两个8位的寄存器,其中D8~D15部分可以用名称__________表示。

(2)IA-32处理器在保护方式下,段寄存器是__________位的。

(3)逻辑地址由__________和__________两部分组成。代码段中下一条要执行的指令由CS和__________寄存器指示,后者在实地址模型中起作用的仅有__________寄存器部分。

(4)进行8位二进制数加法:10111010+01101100,8位结果是__________,标志PF =__________。

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

(6)IA-32处理器有8个32位通用寄存器,其中EAX,__________,__________和EDX,可以分成16位和8位操作;还有另外4个是__________,__________,__________,和__________。

(7)IA-32处理器复位后,首先进入是__________工作方式。该工作方式分段最大不超过__________。

(8)MASM要求汇编语言源程序文件的扩展名是_____________,汇编产生扩展名为OBJ的文件被称为_____________文件,编写32位Windows应用程序应选择_____________存储模型。

(9)除外设数据外的数据寻址方式有3类,分别被称为_____________、_____________和_____________。

(10)用EBX做基地址指令,默认采用__________段寄存器指向的数据段;如果采用BP,EBP或SP,ESP作为基地址指针,默认使用__________段寄存器指向堆栈段。

①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 10 9 8 7 6 5 4 3 2 1 0

……OF SF ZF AF PF CF

〔习题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〕简答题

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

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

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

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

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

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

(7)INC,DEC,NEG和NOT都是单操作数指令,这个操作数应该是源操作数还是

目的操作数?

(8)大小写字母转换使用了什么规律?

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

(10)逻辑与运算为什么也称为逻辑乘?

〔解答〕

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

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

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

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

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

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

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

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

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

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

〔习题3.2〕判断题

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

(2)常用的BCD码为8421 BCD码,其中的8表示D3位的权重。

(3)IA-32处理器采用小端方式存储多字节数据。

(4)空操作NOP指令其实根本没有指令。

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

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

(7)指令“INC ECX”和“ADD ECX,1”的实现功能完全一样,可以互相替换。

(8)无符号数在前面加零扩展,数值不变;有符号数前面进行符号扩展,位数加长一位、数值增加一倍。

(9)逻辑运算没有进位或溢出问题,此时CF和OF没有作用,所以逻辑运算指令如AND、OR等将CF和OF设置为0。

(10)CMP指令是目的操作数减去源操作数,CMPS指令是源操作数减去目的操作数。〔解答〕

①对②对③对④错⑤错

⑥对⑦错⑧错⑨对⑩对

〔习题3.3〕填空题

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

(2)计算机中有一个“01100001”编码。如果把它认为是无符号数,它是10进制数___________;如果认为它是BCD码,则表示真值_____________;又如果它是某个ASCII 码,则代表字符__________。

(3)C语言用“\n”表示让光标回到下一行首位,在汇编语言中需要输出两个控制字符:一个是回车,其ASCII码是_____________,它将光标移动到当前所在行的首位;另一个是换行,其ASCII码是_____________,它将光标移到下一行。

(4)数据段有语句“H8843 DWORD 99008843H”,代码段指令“MOV CX, WORD PTR H8843”执行后,CX=_____________。

(5)用DWORD定义的一个变量XYZ,它的类型是_____________,用“TYPE XYZ”会得到数值为_____________。如果将其以字量使用,应该用_____________说明。

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

(7)例题3-9的TAB定义如果是“1234567890”,则显示结果是__________。

(8)指令“XOR EAX, EAX”和“SUB EAX, EAX”执行后,EAX=__________,CF =OF=__________。而指令“MOV EAX, 0”执行后,EAX=__________,CF和OF没有变化。

(9)例题3-15程序执行结束,变量QVAR内容是__________;BCD内容是__________。

(10)欲将EDX内的无符号数除以16,使用指令“SHR EDX, __________”,其中后一个操作数是一个立即数。

〔解答〕

①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)

mov al,7fh ; AL=__________

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〕

给出下列各条指令执行后AL值,以及CF、ZF、SF、OF和PF的状态:mov al,89h

add al,al

add al,9dh

cmp al,0bch

sub al,al

dec al

inc al

〔解答〕

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

xor esi,0feh ; 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〕

3.24 给出下列各条指令执行后AX的结果,以及状态标志CF、OF、SF、ZF、PF的状态。

mov ax,1470h

and ax,ax

or ax,ax

xor ax,ax

not ax

test ax,0f0f0h

〔解答〕

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

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

第二章 8086体系结构与80x86CPU 1.8086CPU由哪两部分构成它们的主要功能是什么 答:8086CPU由两部分组成:指令执行部件(EU,Execution Unit)和总线接口部件(BIU,Bus Interface Unit)。指令执行部件(EU)主要由算术逻辑运算单元(ALU)、标志寄存器FR、通用寄存器组和EU控制器等4个部件组成,其主要功能是执行指令。总线接口部件(BIU)主要由地址加法器、专用寄存器组、指令队列和总线控制电路等4个部件组成,其主要功能是形成访问存储器的物理地址、访问存储器并取指令暂存到指令队列中等待执行,访问存储器或I/O端口读取操作数参加EU运算或存放运算结果等。 2.8086CPU预取指令队列有什么好处8086CPU内部的并行操作体现在哪里答:8086CPU的预取指令队列由6个字节组成,按照8086CPU的设计要求,指令执行部件(EU)在执行指令时,不是直接通过访问存储器取指令,而是从指令队列中取得指令代码,并分析执行它。从速度上看,该指令队列是在CPU内部,EU从指令队列中获得指令的速度会远远超过直接从内存中读取指令。8086CPU 内部的并行操作体现在指令执行的同时,待执行的指令也同时从内存中读取,并送到指令队列。 5.简述8086系统中物理地址的形成过程。8086系统中的物理地址最多有多少个逻辑地址呢答:8086系统中的物理地址是由20根地址总线形成的。8086系统采用分段并附以地址偏移量办法形成20位的物理地址。采用分段结构的存储器中,任何一个逻辑地址都由段基址和偏移地址两部分构成,都是16位二进制数。通过一个20位的地址加法器将这两个地址相加形成物理地址。具体做法是16位的段基址左移4位(相当于在段基址最低位后添4个“0”),然后与偏移地址相加获得物理地址。由于8086CPU的地址线是20根,所以可寻址的存储空间为1M字节,即8086系统的物理地址空间是1MB。逻辑地址由段基址和偏移地址两部分构成,都是无符号的16位二进制数,程序设计时采用逻辑地址,也是1MB。 6.8086系统中的存储器为什么要采用分段结构有什么好处 答:8086CPU中的寄存器都是16位的,16位的地址只能访问64KB的内存。086系统中的物理地址是由20根地址总线形成的,要做到对20位地址空间进行访问,就需要两部分地址

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

范文范例学习指导 第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 什么是冯·诺依曼机? 答:冯·诺依曼在1946 年提出了一个完整的现代计算机的结构雏型,它由5 个部分组成,即运算器、控制器、存储器、输入设备和输出设备。运算器负责指令的执行;控制器的作用是协调并控制计算机的各个部件按程序中排好的指令序列执行;存储器是具有记忆功能的器件,用于存放程序和需要用到的数据及运算结果;而输入/输出设备则是负责从外部设备输入程序和数据,并将运算的结果送出。 1. 什么是冯.诺伊曼计算机 1946年6月,美籍匈牙利科学家冯·诺依曼(Johe Von Neumman)提出了“存储程序”的计算机设计方案。按照这一原理设计的计算机称为冯·诺依曼型计算机。 特点: (1)采用二进制数形式表示数据和计算机指令。 (2)指令和数据存储在计算机内部存储器中,能自动依次执行指令。 (3)由控制器、运算器、存储器、输入设备、输出设备5大部分组成计算机硬件。 (4)工作原理的核心是“存储程序”和“程序控制”。 冯·诺依曼提出的体系结构奠定了现代计算机结构理论的基础,被誉为计算机发展史上的里程碑。 2.微处理器,微型计算机,微型计算机系统有什么联系与区别? 微处理器只是一个中央处理器(CPU),由算术逻辑部件(ALU),累加器和通用寄存器组,程序计数器,时序和控制逻辑部件,内部总线等组成。微处理器不能构成独立工作的系统,也不能独立执行程序,必须配上存储器,外部输入、输出接口构成一台微型计算机方能工作。微型计算机由CPU,存储器,输入/输出接口电路和系统总线组成。它已具有计算功能,能独立执行程序,但若没有输入/输出设备,数据及程序不能输入,运算结果无法显示或输出,仍不能正常工作。 以微型计算机为主体,配上外部输入/输出设备及系统软件就构成了微型计算机系统。没有配置软件的计算机称为裸机,仍然什么工作也不能做,必须配置系统软件和应用软件,这样才可以正常提供使用。 3. 微处理器有哪些主要的部件组成?其功能是什么? 中央处理单元CPU (Control Processing Unit)也称微处理器, CPU是微型计算机的核心部件,由运算器ALU、控制器、寄存器组以及总线接口等部件组成,且这些部件集成在一块大规模集成电路芯片上。 运算器ALU:主要完成算术运算、逻辑运算。 寄存器组:用于存放运算数据、中间结果、地址等。 控制器:负责对整机的控制。 总线接口:与外部联系的信息通道。 4.画一个计算机系统的方框图,简述各部分的主要功能。

微机原理与接口技术学习心得

本学期微机原理课程已经结束,关于微机课程的心得体会甚多。微机原理与接口技术作为一门专业课,虽然要求没有专业课那么高,但是却对自己今后的工作总会有一定的帮助。记得老师第一节课说学微机原理是为以后的单片机打基础,这就让我下定决心学好微机原理这门课程。 初学《微机原理与接口技术》时,感觉摸不着头绪。面对着众多的术语、概念及原理性的问题不知道该如何下手。在了解课程的特点后,我发现,应该以微机的整机概念为突破口,在如何建立整体概念上下功夫。可以通过学习一个模型机的组成和指令执行的过程,了解和熟悉计算机的结构、特点和工作过程。 《微机原理与接口技术》课程有许多新名词、新专业术语。透彻理解这些名词、术语的意思,为今后深入学习打下基础。一个新的名词从首次接触到理解和应用,需要一个反复的过程。而在众多概念中,真正关键的并不是很多。比如“中断”概念,既是重点又是难点,如果不懂中断技术,就不能算是搞懂了微机原理。在学习中凡是遇到这种情况,绝对不轻易放过,要力求真正弄懂,搞懂一个重点,将使一大串概念迎刃而解。 学习过程中,我发现许多概念很相近,为了更好地掌握,将一些容易混淆的概念集中在一起进行分析,比较它们之间的异同点。比如:微机原理中,引入了计算机由五大部分组成这一概念;从中央处理器引出微处理器的定义;在引出微型计算机定义时,强调输入/输出接口的重要性;在引出微型计算机系统的定义时,强调计算机软件与计算机硬件的相辅相成的关系。微处理器是微型计算机的重要组成部分,它与微型计算机、微型计算机系统是完全不同的概念在微机中,最基础的语言是汇编语言。汇编语言是一个最基础最古老的计算机语言。语言总是越基础越重要,在重大的编程项目中应用最广泛。就我的个人理解,汇编是对寄存的地址以及数据单元进行最直接的修改。而在某些时候,这种方法是最有效,最可靠的。 然而,事物总有两面性。其中,最重要的一点就是,汇编语言很复杂,对某个数据进行修改时,本来很简单的一个操作会用比较烦琐的语言来解决,而这些语言本身在执行和操作的过程中,占有大量的时间和成本。在一些讲求效率的场合,并不可取。 汇编语言对学习其他计算机起到一个比较、对照、参考的促进作用。学习事物总是从最简单基础的开始。那么学习高级语言也当然应当从汇编开始。学习汇

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

《微机原理与接口技术》参考答案 《微机原理与接口技术》习题参考答案习题 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)) 则

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

第一章 计算机按其使用的逻辑元件的不同被分为哪几代? 微型计算机是哪一代计算机的分支?答:电子管计算机、晶体管计算机、集成电路计算机和大规模、超大规模集成电路计算机。微型计算机属于第四代计算机的分支。 2. 简述冯·诺依曼计算机体系结构的基本思想。 答:冯·诺伊曼基本设计思想为 ①以二进制形式表示指令和数据。②程序和数据事先存放在存储器中 计算机在工作时能够高速地从存储器中取出指令并加以执行。③由运算器、控制器、存储器、输入和输出设备等五大部件组成计算机系统。 3 微型计算机系统由哪几部分组成? 答: 微机系统分硬件和软件 硬件包括CPU、存储器、输入输出设备和输入输出借口 软件包括软件系统和应用软件。 4何谓微型计算机硬件 它由哪几部分组成 并简述各部分的作用。 答:微型计算机硬件是指组成微型计算机的硬件实体 它由中央处理器、存储器、输入/输出设备和系统总线等组成 中央处理器由运算器和控制器集成在一块芯片上形成 简称CPU 是微型计算机的心脏 它的性能决定了整个微型机的各项关键指标。存储器是用来存放程序和数据的记忆装置。存储器包括随机存储器 RAM 和只读存储器 ROM 。输人设备是向计算机输人原始数据和程序的装置。输出设备是计算机向外界输出信息的装置。总线是连接多个设备或功能部件的一簇公共信号线.它是计算机各组成部件之间信息交换的通道。 5.何为计算机软件?它是如何分类的?(略) 6 .何谓总线 有哪几类 作用如何 答: 总线是计算机中各功能部件间传送信息的公共通道。根据所传送的信息的内容与作用不同 总线可分为三类 地址总线、数据总线、控制总线。这三类总线作用为计算机各功能部件间传送地址、数据、控制信息的。

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

微机原理与接口技术期末考试题库 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-1、微处理器、微机和微机系统三者之间有什么不同? 答:微处理器:利用微电子技术将运算器可控制器做在统一集成电路上的一个独立部件。 微机:通过总线把I/O接口电路、CPU 和半导体存储器有机的组合在一起,即构成一台计算机的物理装置,称为微机。 微机系统:微机配上外部设备、系统电源和系统软件就构成了一个微机系统,简称系统机。 1-2、CPU 在内部结构上由哪几部分组成? 答:寄存器阵列(RS )、算术和逻辑运算单元(ALU )、控制器、内部总线、缓冲寄存器 1-3、8088/8086的总线接口部件有什么功能?其执行部件又有什么功能? 答:8088/8086CPU从功能上说,分为总线接口(BIU )和执行单元(EU )。 BIU 负责与存储器、I/O端口传送数据。BIU 从内存取指令送到指令队列排队。CPU 在执行指令时,BIU 要配合执行部件从指令的内存单元或外设端口取数据,将数据传送给执行部件,或者把执行部件的运行结果传送给指定的内存单元或外设端口中。 EU 部分则负责指令的执行。 1-4、8088/8086的状态标志和控制标志分别有哪些? 答:

1-7、8088/8086 20位地址是怎样形成的?当CS=2000H,IP=0100H,其指向的物理地址等于多少? 答:段寄存器左移4位(即乘以16),然后与16位的偏移量相加即得到20位的地址。20100H 第四章、PC 总线与接口标准 4-1、名词解释:总线、总线标准和接口标准。 答:总线:所谓总线就是模块与模块之间、设备与设备之间的一组进行互联和传输信息的信号线。信息包括指令、数据和地址。 总线标准:所谓总线标准是指芯片之间、扩展卡之间和机器之间通过总线进行连接时,应该遵守的一些协议和规范。这些协议和规范一般包括硬件和软件两个方面。 接口标准:所谓接口标准是指I/O接口设备的规范,涉及信号线的定义、信息传输速率、传输方向和拓扑结构,以及电气特性和机械特性等多个方面。 4-2、总线标准和接口标准的差别? 答:(1)总线标准是公用的,可以挂载多种不同类型的功能设备,而接口标准是专用的,一般只能挂载一类或一种设备。 (2)总线一般通过主板上的扩展槽形式提供使用,而接口一般是以接口插座(头)形式提供使用。 4-3、总线的分类? 答:1、按总线所在的位置分:片内总线、内部总线、外部总线。 2、按信息传形式分:并行总线、串行总线。

微机原理与接口技术

第二章 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

微机原理与接口技术知识点总结整理

《微机原理与接口技术》复习参考资料 第一章概述 一、计算机中的数制 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、下列字符表示成相应的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

微机原理与接口技术

微机原理及接口技术 第一部分客观题 一、单项选择题(每小题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、空间局部性:是指一旦一个存储单元被访问,那它附近的单元也将很快被访问。

微机原理第一章练习题及解答

微机原理第一章练习题及解答 一:单项选择题 ●若二进制数为010111.101,则该数的十进制表示为( B )。 A:23.5 B:23.625 C:23.75 D:23.5125 ●若无符号二进制数为11000110,则该数的十进制表示为( A )。 A:198 B:70 C:126 D:49 ●十进制数81的8421BCD码为( A )。 A:81H B:51H C:18H D:15H ●11000110为二进制原码,该数的真值为( B )。 A:-70 B:+70 C:-198 D:+198 ●11000110为二进制补码,该数的真值为( D )。 A:+198 B:-198 C:+58 D:-58 ●01000110为二进制补码, 该数的真值为( A )。 A:+70 B:-70 C:+58 D:-58 ●字符A的ASCII码为41H,字符a的ASCII码为( C )。 A:41H B:42H C:61H D:62H ●字符A的ASCII码为41H,字符B的ASCII码为( B )。 A:41H B:42H C:61H D:62H ●字符9 的ASCII码为( C )。 A:09H B:9 C:39H D:99 ●8位二进制数的原码表值范围为( C )。 A:0 ~ 255 B:-128 ~ +127 C:-127 ~ +127 D:-128 ~ +128 ●8位二进制数的反码表值范围为( C )。 A:0 ~ 255 B:-128 ~ +127 C:-127 ~ +127 D:-128 ~ +128 ●8位二进制数的补码表值范围为( B )。 A:0 ~ 255 B:-128 ~ +127 C:-127 ~ +127 D:-128 ~ +128 ●8位二进制数的无符号数表值范围为( A )。 A:0 ~ 255 B:-128 ~ +127 C:-127 ~ +127 D:-128 ~ +128

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

《微机原理与接口技术》习题参考答案 习题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章习题及答案

习题 一、选择题 1.十进制数66转换成二进制数为_______。 A. 11000010 B.01100110 C.11100110 D.01000010 答案:D 2.十进制数27.25转换成十六进制数为_______。 A. B1.4H B.1B.19H C.1B.4H D.33.4H 答案:C 3.下列数中最小的是________。 A. (101001)2 B. (52)8 C. (2B)16 D. (50)10 答案:A 4.若一个数的BCD编码为00101001,则该数与______相等。 A. 41H B.121D C.29D D. 29H 答案:C 5.十进制数9874转换成BCD数为________。 A. 9874H B. 4326H C. 2692H D. 6341H 答案:A 6.BCD数64H代表的真值为_______。 A. 100 B.64 C.-100 D.+100 答案:B 7.十六进制数88H,可表示成下面几种形式,错误的表示为_______。 A. 无符号十进制数136 B.带符号十进制数-120 C.压缩型BCD码十进制数88 D.8位二进制数-8的补码表示 答案:D 8.若[A]原=1011 1101,[B]反=1011 1101,[C]补=1011 1101,以下结论正确的是______。 A. C最大 B. A最大 C.B最大 D.A=B=C 答案:B 9.8位二进制补码表示的带符号数1000 0000B和1111 1111B的十进制数分别是____。 A. 128和255 B. 128和-1 C. -128和255 D. -128和-1 答案:D 10.微机中地址总线的作用是___________。 A.用于选择存储器单元 B.用于选择进行信息传输的设备 C.用于指定存储器单元和I/O设备接口单元的选择地址 D.以上选择都不对 答案:C 11.计算机中表示地址使用____。 A.无符号数 B.原码 C.反码 D.补码 答案:A

微机原理复习资料(一)

第一章思考题与习题: 1.什么叫微处理器、微机?微机系统包含哪些部分? 2.为什么计算机使用二进制计数制? 3. CPU在内部结构上由哪几部分组成? 4.十六进制的基数或底数是。 5.将下列十进制数分别转换成十六进制、二进制、八进制数: 563 6571 234 128 6.将下列十进制小数转换成十六进制数(精确到小数点后4位数): 0.359 0.30584 0.9563 0.125 7.将1983.31510转换成十六进制数和二进制数。 8.将下列二进制数转换成十进制数、十六进制数和八进制数: (1)101011101.11011 (2)11100011001.011 (3)1011010101.00010100111 9.将下列十六进制数转换成十进制数和二进制数: AB7.E2 5C8.11FF DB32.64E 10.判断下列带符号数的正负,并求出其绝对值(负数为补码): 10101100;01110001;11111111;10000001。 11.写出下列十进制数的原码、反码和补码(设字长为8位): +64 -64 +127 -128 3/5 -23/127 12.已知下列补码,求真值X: (1)[X]补=1000 0000 (2)[X]补=1111 1111 (3)[-X]补=10110111 13.将下列各数转换成BCD码: 30D,127D,23D,010011101B,7FH 14.用8421 BCD码进行下列运算: 43+99 45+19 15+36 15.已知X1=+25,Y1=+33,X2= -25,Y2= -33,试求下列各式的值,并用其对应的真值进行验证:(1)[X1+Y1]补 (2)[X1-Y2]补 (3)[X1-Y1]补 (4)[X2-Y2]补 (5)[X1+Y2]补 (6)[X2+Y2]补 16.当两个正数相加时,补码溢出意味着什么?两个负数相加能产生溢出吗? 试举例说明。 17.试将两个有符号数10001000和11100110相加,判断结果是否溢出?为什么? 18.已知X= -0011001,Y= -0000110,求两数的补码之和。(注意自然丢失和溢出错误之区别)。 19.回答下列各机器数所表示数的范围: (1)8位二进制无符号定点整数; (2)8位二进制无符号定点小数; (3)16位二进制无符号定点整数; (4)用补码表示的16位二进制有符号整数; (5)用浮点数表示(阶码是两位原码,尾数是8位原码)。 20.计算机硬件和软件的构成原理以及各自的分类有哪些?

相关主题
文本预览
相关文档 最新文档