微机原理与接口技术第二版课后习题答案_龚尚福版
《汇编语言微机原理及接口技术》(第2版)课后习题答案

第1章进制及码元1•进制转换129= 81H= 10000001B=201Q 298= 12AH= 100101010B=452Q 1000= 3E8H= 1111101000B= 1750Q 5DH= 1011101 B= 1350= 93 D 3E8H=1111101000 B= 17500= 1000 D3570=11101111 B= 0EF H= 239 D 3. 数据表示范围:一字节的无符号数表示范围为 0〜255,有符号数(补码)表示范围为-128 —+127。
一个字的无 符号数表示范围为 0〜65535,有符号数(补码)表示范围为—32768〜+32767。
N 位二进制数 的无符号数表示范围为 0〜(2N-1),有符号数(补码)表示范围为-2N -1〜(2曲-1).4.35H 代表的ASCII字符为M :,代表十六进制数时等价的十进制值为53_,代表压缩8421BCD 码等价的十进制值为 35_,代表非压缩8421BCD 码等价的十进制值为 5。
5. FFH 代表无符号数时等价的十进制值为一 1 ,代表反码有符号数时等价的十进制值为第2章微机硬件基础1 .计算机系统硬件的五大功能部件及其主要功能?答:硬件系统按功能模块分为运算器、控制器、存储器、输入设备、输出设备。
运算器主要完成算术运算、逻辑运算及移位运算,其中主要包括算术逻辑运算单元Arithmetic Logic Unit , ALU)和暂存数据(原始、中间、结果)的寄存器(Register , R)。
控制器实现对计算机部件的协调调度完成指令的分析执行,其中主要有程序计数器Program Counter , PC)或叫指令指针(Instruction Pointer , IP)、指令寄存器(Instruction register , IR)、指令译码器(Instruction Decoder , ID)、微操作命令发生器、时序发生器等。
微机原理与接口技术(第二版)课后习题答案

微机原理与接口技术(第二版)课后习题答案微机原理与接口技术(第二版)课后题答案第1章作业答案1.1 微处理器、微型计算机和微型计算机系统的区别是什么?微处理器是将CPU集成在一个芯片上,微型计算机是由微处理器、存储器和外部设备构成,而微型计算机系统则是微型计算机与管理、维护计算机硬件以及支持应用的软件相结合的系统。
1.2 CPU的内部结构由哪些部分组成?它应该具备哪些主要功能?CPU主要由算术逻辑单元、指令寄存器、指令译码器、可编程逻辑阵列和标志寄存器等寄存器组成。
它的主要功能是进行算术和逻辑运算以及控制计算机按照程序的规定自动运行。
1.3 采用总线结构的微型计算机有哪些优点?采用总线结构可以扩大数据传送的灵活性,减少连线。
此外,总线可以标准化,易于兼容和工业化生产。
1.4 数据总线和地址总线在结构上有什么不同?如果一个系统的数据和地址合用一套总线或者合用部分总线,那么要靠什么来区分地址和数据?数据总线是双向的,而地址总线是单向的。
如果一个系统的数据和地址合用一套总线或者部分总线,就要靠信号的时序来区分。
通常在读写数据时,总是先输出地址,过一段时间再读或写数据。
1.8 给定一个模型,如何用累加器实现15×15的程序?LD A。
15LD H。
15LOOP: ADD A。
15DEC HJP NZ。
LOOPHALT第2章作业答案2.1 IA-32结构微处理器直至Pentium 4,有哪几种?IA-32结构微处理器有、、Pentium、Pentium Pro、Pentium II、Pentium III和Pentium 4.2.6 IA-32结构微处理器有哪几种操作模式?IA-32结构支持保护模式、实地址模式和系统管理模式三种操作模式。
操作模式决定了哪些指令和结构特性可以访问。
2.8 IA-32结构微处理器的地址空间是如何形成的?由段寄存器确定的段基地址与各种寻址方式确定的有效地址相加形成了线性地址。
精品文档-微机原理与接口技术(第二版)(龚尚福)-第8章

8.1 中断概述 8.2 多级中断管理 8.3 IBM-PC机的中断系统 8.4 可编程中断控制器Intel 8259A 习题8
第8章 中 断 技 术
8.1 中 断 概 述
8.1.1 中断的基本概念
当CPU与外设工作不同步时,很难确保CPU在对外设进行 读写操作时,外设一定是准备好的。为保证数据的正确传送,可 采用查询方式。但是在查询方式下,CPU主动地查询所有外设以确 定其是否准备好,是否需要进行数据传送,会使CPU的效率降低, 特别是与低速外设进行数据交换时,CPU需要等待更多的时间。另 外在对多个外设进行I/O操作时,如果有些外设的实时性要求较高, CPU有可能因来不及响应而造成数据丢失。
第8章 中 断 技 术
2. 实时处理 在实时控制系统中,现场定时或随机地产生各种参数、 信息,要求CPU立即响应。利用中断机制,计算机就能实时地进行 处理,特别是对紧急事件的处理。
3.故障处理 计算机运行过程中,如果出现某些故障,如电源掉电、 运算溢出等,计算机可以利用中断系统自行处理。
第8章 中 断 技 术
第8章 中 断 技 术
2. 中断的响应过程 中断处理一般需要经历下述七个过程。 1) 中断请求 当中断源需要CPU对它进行服务时,就会产生一个中断请 求信号。对外部中断源,这个信号加至CPU的中断请求输入引脚, 形成对CPU的中断请求;对内部中断源,则通过CPU内部特定事件 的发生或特定指令的执行作为对CPU的中断请求。
第8章 中 断 技 术
4) 中断请求的检测 CPU在每条指令执行的最后一个时钟周期,检测其中断 请求引脚(INTR)有无中断请求信号。如果有中断请求信号,就把 内部的中断锁存器置“1”,在下一个总线周期到来时,进入中 断响应状态。
微机原理与接口技术 课后答案龚尚福

微机原理与接口技术课后答案龚尚福第一章:计算机基础知识1.什么是计算机?计算机有哪些基本组成部分?–计算机是一种可以按照预定程序自动进行数值和非数值计算的设备。
–计算机的基本组成部分包括中央处理器(CPU)、存储器、输入设备、输出设备和控制器。
2.什么是微型计算机?微型计算机的特点有哪些?–微型计算机是指体积小、价格低廉的小型计算机系统。
–微型计算机的特点包括:体积小、成本低、功耗低、易于携带、可扩展性好等。
3.什么是冯·诺依曼体系结构?它包括哪些基本特点?–冯·诺依曼体系结构是一种计算机的基本设计思想,它将存储器和处理器分开,通过总线进行数据和指令的传输。
–冯·诺依曼体系结构的基本特点包括:存储程序、以二进制表示信息、存储器与处理器分离、由指令控制程序执行的顺序。
第二章:数字电路基础知识1.什么是逻辑门?常用的逻辑门有哪些?–逻辑门是一种用于实现逻辑运算的电路元件,根据输入信号的不同组合产生相应的输出信号。
–常用的逻辑门有与门(AND)、或门(OR)、非门(NOT)、异或门(XOR)等。
2.什么是布尔逻辑运算?常见的布尔逻辑运算有哪些?–布尔逻辑运算是指利用布尔代数进行逻辑运算的方法。
–常见的布尔逻辑运算有与运算(AND)、或运算(OR)、非运算(NOT)等。
3.什么是半加器和全加器?它们的作用是什么?–半加器是一种用于实现二进制数相加的电路,它可以将两个输入信号相加并产生相应的进位和和。
–全加器是一种用于实现三个二进制数相加的电路,它可以将三个输入信号相加并产生相应的进位和和。
第三章:微处理器基础知识1.什么是微处理器?它的功能有哪些?–微处理器是一种集成电路,它由控制单元、算术逻辑单元、寄存器和时钟等功能模块组成,用于执行计算机程序。
–微处理器的功能包括指令译码、执行算术和逻辑运算、读写存储器、控制外部设备等。
2.什么是指令?指令由哪些部分组成?常见的指令有哪些?–指令是微处理器执行操作的基本单位,它们以二进制的形式存储在存储器中。
《微机原理及接口技术》(第2版)―习题解答

《微机原理及接口技术》(第2版)―习题解答《16/32位微机原理、汇编语言及接口技术・第2版》习题解答1第1章微处理器指令系统〔习题1.1〕微型计算机到目前为止已发展了几代?给出各代微机的特点和典型的微处理器。
〔解答〕〔习题1.2〕什么是微型计算机?PC机、单片机和数字信号处理器的含义各是什么?〔解答〕?微型计算机:以大规模、超大规模集成电路为主要部件,以集成了计算机主要部件――控制器和运算器的微处理器为核心,所构造出的计算机系统?PC机:PC(Personal Computer)机就是面向个人单独使用的一类微机?单片机:用于控制的微处理器芯片,内部除CPU外还集成了计算机的其他一些主要部件,如:ROM、RAM、定时器、并行接口、串行接口,有的芯片还集成了A/D、D/A转换电路等。
?数字信号处理器DSP:主要面向大流量数字信号的实时处理,在宿主系统中充当数据处理中心,在网络通信、多媒体应用等领域正得到越来越多的应用〔习题1.3〕微型计算机主要由哪些基本部件组成?各部件的主要功能是什么?〔解答〕CPU:存储器:外部设备:〔习题1.4〕什么是微机的系统总线?微机的总线结构为它带来了哪些好处?除电源和地线外,一般将总线分为哪3组信号?总线的使用特点是什么?〔解答〕?系统总线:传递信息的一组公用导线,CPU通过它们与存储器和I/O设备进行信息交换?好处:组态灵活、扩展方便?三组信号线:数据总线、地址总线和控制总线?其使用特点是:在某一时刻,只能由一个总线主控设备来控制系统总线,只能有一个发送者向总线发送信号;但可以有多个设备从总线上同时获得信号。
2〔习题1.5〕简述微型计算机的两个主要应用方向及其应用特点。
〔解答〕?用于数值计算、数据处理及信息管理方向?采用通用微机,要求有较快的工作速度、较高的运算精度、较大的内存容量和较完备的输入输出设备,为用户提供方便友好的操作界面和简便快捷的维护、扩充手段。
?用于过程控制及嵌人应用方向?采用控制类微机,要求能抵抗各种干扰、适应现场的恶劣环境、确保长时间稳定地工作,要求其实时性要好、强调其体积要小、便携式应用强调其省电。
精品文档-微机原理与接口技术(第二版)(龚尚福)-第13章

第13章 微机应用系统设计与实现
事实上,如果我们在系统上配上高级语言,特别是配上像 工业控制中常用的数控语言,那么加工程序的编制就非常容易,一 般操作人员就能很快掌握。这样就有利于微机应用系统的推广和应 用。对硬件方面的要求也一样,例如,系统的控制开关不能太多、 太复杂,操作顺序要尽量简单等。另外,尽管微机应用系统的可靠 性较高,但是不能理想地认为它不会发生故障。一旦出现故障,如 何能尽快地排除,这也是系统设计时要考虑的问题。从软件角度来 说,系统应配置自检或诊断程序,以便在故障发生时,能用程序来 查找故障发生的部位,以缩短排除故障的时间;从硬件角度来说, 零部件的配置应便于操作人员检修。
第13章 微机应用系统设计与实现
前面已经提到,系统中的某些用户程序是要由用户自己编写的。 例如,在数控设备中,加工切削程序往往要由操作人员来编写或 进行修改。如果这样的用户程序是用汇编语言编写的,那么对操 作人员来说,就必须熟悉相应微机的汇编指令和程序设计的基本 知识,否则是难于胜任的。这种软件设计方案必然会限制微机应 用系统的推广和应用。
总之,操作系统将给人们使用微机系统提供了一个方便 的使用环境。
第13章 微机应用系统设计与实现
13.2.2 应用系统的设计原则和要求
微机应用系统的基本设计原则和要求,在不同规模和要 求的系统中大体是相同的。因此,这些共同的原则和要求在设计 前或设计过程中都必须予以很好的考虑。
1. 操作性能要好
微机应用系统的操作性能好,就是指系统的人—机界面 要友好,操作起来简单、方便,并且便于维护。为此,在设计整 个系统的硬件和软件时,应处处为用户想到这一点。在设计系统 软件时,就应该考虑配备什么样的软件和环境能降低操作人员对 某些专业知识的要求。
第13章 微机应用系统设计与实现 2) 常规外围设备
微机原理与接口技术(第二版)课后习题答案完整版

微机原理与接口技术(第二版)课后习题答案完整版标准化文件发布号:(9312-EUATWW-MWUB-WUNN-INNUL-DQQTY-习题11.什么是汇编语言,汇编程序,和机器语言答:机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。
汇编语言是面向及其的程序设计语言。
在汇编语言中,用助记符代替操作码,用地址符号或标号代替地址码。
这种用符号代替机器语言的二进制码,就把机器语言编程了汇编语言。
使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序。
2.微型计算机系统有哪些特点具有这些特点的根本原因是什么答:微型计算机的特点:功能强,可靠性高,价格低廉,适应性强、系统设计灵活,周期短、见效快,体积小、重量轻、耗电省,维护方便。
这些特点是由于微型计算机广泛采用了集成度相当高的器件和部件,建立在微细加工工艺基础之上。
3.微型计算机系统由哪些功能部件组成试说明“存储程序控制”的概念。
答:微型计算机系统的硬件主要由运算器、控制器、存储器、输入设备和输出设备组成。
“存储程序控制”的概念可简要地概括为以下几点:①计算机(指硬件)应由运算器、存储器、控制器和输入/输出设备五大基本部件组成。
②在计算机内部采用二进制来表示程序和数据。
③将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作,使计算机在不需要人工干预的情况下,自动、高速的从存储器中取出指令加以执行,这就是存储程序的基本含义。
④五大部件以运算器为中心进行组织。
4.请说明微型计算机系统的工作过程。
答:微型计算机的基本工作过程是执行程序的过程,也就是CPU自动从程序存放的第1个存储单元起,逐步取出指令、分析指令,并根据指令规定的操作类型和操作对象,执行指令规定的相关操作。
如此重复,周而复始,直至执行完程序的所有指令,从而实现程序的基本功能。
5.试说明微处理器字长的意义。
答:微型机的字长是指由微处理器内部一次可以并行处理二进制代码的位数。
微机原理与接口技术课后答案 龚尚福

5.6 (1) (2) (3) (4) (5) (6) (7) (8)
简述PCI总线的特点。 简述PCI总线的特点。 PCI总线的特点 突出的高性能。 突出的高性能。 良好的兼容性。 良好的兼容性。 支持即插即用。 支持即插即用。 支持多主设备能力。 支持多主设备能力。 适度数据的完整性。 适度数据的完整性。 优良的软件兼容性。 优良的软件兼容性。 可选电源。PCI总线定义了 V和 总线定义了5 V两种信号环境 两种信号环境。 可选电源。PCI总线定义了5 V和3.3 V两种信号环境。 相对的低成本。 相对的低成本。
什么是指令周期?什么是总线周期?什么是时钟周期? 5.2 什么是指令周期?什么是总线周期?什么是时钟周期?
指令周期:执行一条指令所需要的时间。 指令周期:执行一条指令所需要的时间。 总线周期:CPU的每一个这种信息输入、输出过程需要的时间。 总线周期:CPU的每一个这种信息输入、输出过程需要的时间。 的每一个这种信息输入 时钟周期:时钟脉冲的重复周期。 时钟周期:时钟脉冲的重复周期。 指令周期=N =N总线周期 1指令周期=N总线周期 总线周期=至少4 1总线周期=至少4个时钟周期 5.3 8086一个总线周期包括哪几个时钟周期? 8086一个总线周期包括哪几个时钟周期? 一个总线周期包括哪几个时钟周期 若主时钟频率为4.77MHz 一个总线周期是多少时间? 4.77MHz, 若主时钟频率为4.77MHz,一个总线周期是多少时间? 怎样延长总线周期? 怎样延长总线周期? 8086一个总线周期包括时钟周期 T1、T2、T3、 一个总线周期包括时钟周期: 8086一个总线周期包括时钟周期:T1、T2、T3、T4 若主时钟频率为4.77MHz,一个总线周期是 若主时钟频率为 ,一个总线周期是4/4.77微妙 微妙 可延长总线周期。 用ready可延长总线周期。当被选中进行数据读 写的存储器或外设 可延长总线周期 当被选中进行数据读/写的存储器或外设 无法在三个T周期内完成数据读 写时, 周期内完成数据读/写时 无法在三个 周期内完成数据读 写时,就由其发出一个请求延长 总线周期的信号到8086 CPU的READY引脚,8086 CPU收到该 引脚, 总线周期的信号到 的 引脚 收到该 请求后,就在T3与 之间插入一个等待周期 之间插入一个等待周期Tw,加入Tw 的个 请求后,就在 与T4之间插入一个等待周期 ,加入 数与外部请求信号的持续时间长短有关,延长的时间Tw 也以时 数与外部请求信号的持续时间长短有关,延长的时间 钟周期T为单位 为单位, 期间, 钟周期 为单位,在Tw期间,总线上的状态一直保持不变。 期间 总线上的状态一直保持不变。
微机原理,汇编语言及接口技术第2版课后习题答案

第1章作业答案1.1 微处理器、微型计算机和微型计算机系统三者之间有什么不同?把CPU(运算器和控制器)用大规模集成电路技术做在一个芯片上,即为微处理器。
微处理器加上一定数量的存储器和外部设备(或外部设备的接口)构成了微型计算机。
微型计算机与管理、维护计算机硬件以及支持应用的软件相结合就形成了微型计算机系统。
1.2 CPU在内部结构上由哪几部分组成?CPU应该具备哪些主要功能?CPU主要由起运算器作用的算术逻辑单元、起控制器作用的指令寄存器、指令译码器、可编程逻辑阵列和标志寄存器等一些寄存器组成。
其主要功能是进行算术和逻辑运算以及控制计算机按照程序的规定自动运行。
1.3微型计算机采用总线结构有什么优点?采用总线结构,扩大了数据传送的灵活性、减少了连线。
而且总线可以标准化,易于兼容和工业化生产。
1.4数据总线和地址总线在结构上有什么不同之处?如果一个系统的数据和地址合用一套总线或者合用部分总线,那么要靠什么来区分地址和数据?数据总线是双向的(数据既可以读也可以写),而地址总线是单向的。
8086CPU为了减少芯片的引脚数量,采用数据与地址线复用,既作数据总线也作为地址总线。
它们主要靠信号的时序来区分。
通常在读写数据时,总是先输出地址(指定要读或写数据的单元),过一段时间再读或写数据。
第2章作业答案2.1 IA-32结构微处理器直至Pentillm4,有哪几种?80386、30486、Pentium、Pentium Pro、PeruiumII、PentiumIII、Pentium4。
2.6IA-32结构微处理器有哪几种操作模式?IA一32结构支持3种操作模式:保护模式、实地址模式和系统管理模式。
操作模式确定哪些指令和结构特性是可以访问的。
2.8IA-32结构微处理器的地址空间如何形成?由段寄存器确定的段基地址与各种寻址方式确定的有效地址相加形成了线性地址。
若末启用分页机制,线性地址即为物理地址;若启用分页机制,则它把线性地址转为物理地址。
微机原理与接口技术(第二版) 主编 龚尚福

(11000H)=00H,(11001H)=03H, (11002H)=00H,(11003H)=30H, 数据段定义的字变量 ARRAY 的内容为 0300H, (ARRAY+2)=3000H,试写出下列转移指令的目标转移地址。
ADD BX,10
MOV CX,[BX]
(2) MOV BX,offset BLOCK
MOV CX,[BX]10
(3) MOV BX,offset BLOCK
MOV SI,10
MOV CX,[BX][SI] 4.5 假设程序中的数据定义如下:
PARTNO
DW ?
PNAME
DB 16 DUP(?)
COUNT
assume cs:code,ds:data Start:mov ax,data
mov ds,ax mov bx,offset tab xlat mov array,al end start Code ends
Data segment array db ? Tab db 30h,31h,32h,33h,34h,35h,36h,37h,38h,39h Data ends 3.13 能用 ADD 指令将 BX 内容加到 ES 中去吗? 不能。算术运算中段寄存器不得作为目的操作数。 3.14 INC [BX]指令正确吗? 错误。需指明存储器操作数的类型是字节还是字。 3.15 若(AX)=0001H,(BX)=0FFFFH,执行 ADD AX,BX 之后,
习题答案
第一章
1.1 计算机中为什么采用二进制?二进制数有什么特点?
(1)基 2 码在物理上最容易实现。
微机原理与接口技术第二版课后习题答案完整版

微机原理与接⼝技术第⼆版课后习题答案完整版习题11.什么是汇编语⾔,汇编程序,和机器语⾔?答:机器语⾔是⽤⼆进制代码表⽰的计算机能直接识别和执⾏的⼀种机器指令的集合。
汇编语⾔是⾯向及其的程序设计语⾔。
在汇编语⾔中,⽤助记符代替操作码,⽤地址符号或标号代替地址码。
这种⽤符号代替机器语⾔的⼆进制码,就把机器语⾔编程了汇编语⾔。
使⽤汇编语⾔编写的程序,机器不能直接识别,要由⼀种程序将汇编语⾔翻译成机器语⾔,这种起翻译作⽤的程序叫汇编程序。
2.微型计算机系统有哪些特点?具有这些特点的根本原因是什么?答:微型计算机的特点:功能强,可靠性⾼,价格低廉,适应性强、系统设计灵活,周期短、见效快,体积⼩、重量轻、耗电省,维护⽅便。
这些特点是由于微型计算机⼴泛采⽤了集成度相当⾼的器件和部件,建⽴在微细加⼯⼯艺基础之上。
3.微型计算机系统由哪些功能部件组成?试说明“存储程序控制”的概念。
答:微型计算机系统的硬件主要由运算器、控制器、存储器、输⼊设备和输出设备组成。
“存储程序控制”的概念可简要地概括为以下⼏点:①计算机(指硬件)应由运算器、存储器、控制器和输⼊/输出设备五⼤基本部件组成。
②在计算机内部采⽤⼆进制来表⽰程序和数据。
③将编好的程序和原始数据事先存⼊存储器中,然后再启动计算机⼯作,使计算机在不需要⼈⼯⼲预的情况下,⾃动、⾼速的从存储器中取出指令加以执⾏,这就是存储程序的基本含义。
④五⼤部件以运算器为中⼼进⾏组织。
4.请说明微型计算机系统的⼯作过程。
答:微型计算机的基本⼯作过程是执⾏程序的过程,也就是CPU⾃动从程序存放的第1个存储单元起,逐步取出指令、分析指令,并根据指令规定的操作类型和操作对象,执⾏指令规定的相关操作。
如此重复,周⽽复始,直⾄执⾏完程序的所有指令,从⽽实现程序的基本功能。
5.试说明微处理器字长的意义。
答:微型机的字长是指由微处理器内部⼀次可以并⾏处理⼆进制代码的位数。
它决定着计算机内部寄存器、ALU和数据总线的位数,反映了⼀台计算机的计算精度,直接影响着机器的硬件规模和造价。
微机原理与接口技术完整版答案(第二版)

课后答案:2.1 将下列十进制数分别转换为二进制数、八进制数、十六进制数。
128D=10000000B=200O=80H1024D=10000000000B=2000O=400H0.47D=0.01111000B=0.36O=0.78H625D=1001110001B=1161O=271H67.544D=1000011.1000B=103.4264O=43.8BH2.2 将下列二进制数转换成十进制数。
10110.001B=22.125D11000.0101B =24.3125D2.3 将下列二进制数分别转换为八进制数、十六进制数。
1100010B=142O=62H101110.1001B=56.44O=2E.9H0.1011101B=0.564O=0.BAH2.4 写出下列用补码表示的二进制数的真值。
01110011 —→ 01110011 —→ +11500011101 —→ 00011101 —→ +2910010101 —→ 11101011 —→-10711111110 —→ 10000010 —→-210000001 —→ 11111111 —→-1272.6 写出下列十进制数的BCD码表示形式。
456=(0100 0101 0110)BCD789=(0111 1000 1001)BCD123=(0001 0010 0011)BCD3.1 8086CPU由几部分组成?它们的主要功能是什么?答:从功能上讲,8086分为两部分,即总线接口部件BIU(Bus Interface Unit)和执行部件EU(Execution Unit)。
BIU是CPU与外部存储器及I/O的接口,负责与存储器和I/0系统进行数据交换。
指令执行部件EU完成指令译码和执行指令的工作。
3.2 8086有多少根地址线?可直接寻址多大容量的内存空间?答:8086CPU有16根数据线和20根地址线,直接寻址空间为220,即为1M字节。
《微机原理及接口技术》(第2版)—习题解答

《16/32位微机原理、汇编语言及接口技术·第2版》习题解答第1章微处理器指令系统〔习题1.1〕微型计算机到目前为止已发展了几代?给出各代微机的特点和典型的微处理器。
〔解答〕〔习题1.2〕什么是微型计算机?PC机、单片机和数字信号处理器的含义各是什么?〔解答〕⏹微型计算机:以大规模、超大规模集成电路为主要部件,以集成了计算机主要部件——控制器和运算器的微处理器为核心,所构造出的计算机系统⏹PC机:PC(Personal Computer)机就是面向个人单独使用的一类微机⏹单片机:用于控制的微处理器芯片,内部除CPU外还集成了计算机的其他一些主要部件,如:ROM、RAM、定时器、并行接口、串行接口,有的芯片还集成了A/D、D/A 转换电路等。
⏹数字信号处理器DSP:主要面向大流量数字信号的实时处理,在宿主系统中充当数据处理中心,在网络通信、多媒体应用等领域正得到越来越多的应用〔习题1.3〕微型计算机主要由哪些基本部件组成?各部件的主要功能是什么?〔解答〕CPU:存储器:外部设备:〔习题1.4〕什么是微机的系统总线?微机的总线结构为它带来了哪些好处?除电源和地线外,一般将总线分为哪3组信号?总线的使用特点是什么?〔解答〕⏹系统总线:传递信息的一组公用导线,CPU通过它们与存储器和I/O设备进行信息交换⏹好处:组态灵活、扩展方便⏹三组信号线:数据总线、地址总线和控制总线⏹其使用特点是:在某一时刻,只能由一个总线主控设备来控制系统总线,只能有一个发送者向总线发送信号;但可以有多个设备从总线上同时获得信号。
〔习题1.5〕简述微型计算机的两个主要应用方向及其应用特点。
〔解答〕⏹用于数值计算、数据处理及信息管理方向⏹采用通用微机,要求有较快的工作速度、较高的运算精度、较大的内存容量和较完备的输入输出设备,为用户提供方便友好的操作界面和简便快捷的维护、扩充手段。
⏹用于过程控制及嵌人应用方向⏹采用控制类微机,要求能抵抗各种干扰、适应现场的恶劣环境、确保长时间稳定地工作,要求其实时性要好、强调其体积要小、便携式应用强调其省电。
微机原理与接口技术(第二版)课后习题答案完整版

习题11.什么是汇编说话,汇编程序,和机械说话?答:机械说话是用二进制代码暗示的盘算机能直接辨认和履行的一种机械指令的聚集.汇编说话是面向及其的程序设计说话.在汇编说话中,用助记符代替操纵码,用地址符号或标号代替地址码.这种用符号代替机械说话的二进制码,就把机械说话编程了汇编说话.运用汇编说话编写的程序,机械不克不及直接辨认,要由一种程序将汇编说话翻译成机械说话,这种起翻译感化的程序叫汇编程序.2.微型盘算机体系有哪些特色?具有这些特色的根起源基本因是什么?答:微型盘算机的特色:功效强,靠得住性高,价钱低廉,顺应性强.体系设计灵巧,周期短.奏效快,体积小.重量轻.耗电省,保护便利.这些特色是因为微型盘算机普遍采取了集成度相当高的器件和部件,树立在微细加工工艺基本之上.3.微型盘算机体系由哪些功效部件构成?试解释“存储程序掌握”的概念.答:微型盘算机体系的硬件重要由运算器.掌握器.存储器.输入装备和输出装备构成.“存储程序掌握”的概念可扼要地归纳综合为以下几点:①盘算机(指硬件)应由运算器.存储器.掌握器和输入/输出装备五大根本部件构成.②在盘算机内部采取二进制来暗示程序和数据.③将编好的程序和原始数据事先存入存储器中,然后再启动盘算机工作,使盘算机在不须要人工干涉的情形下,主动.高速的从存储器中掏出指令加以履行,这就是存储程序的根本寄义.④五大部件以运算器为中间进行组织.4.请解释微型盘算机体系的工作进程.答:微型盘算机的根本工作进程是履行程序的进程,也就是CPU主动从程序存放的第1个存储单元起,慢慢掏出指令.剖析指令,并根据指令划定的操纵类型和操纵对象,履行指令划定的相干操纵.如斯反复,周而复始,直至履行完程序的所有指令,从而实现程序的根本功效.5.试解释微处理器字长的意义.答:微型机的字长是指由微处理器内部一次可以并行处理二进制代码的位数.它决议着盘算机内部存放器.ALU和数据总线的位数,反应了一台盘算机的盘算精度,直接影响着机械的硬件范围和造价.盘算机的字长越大,其机能越优胜.在完成同样精度的运算时,字长较长的微处理器比字长较短的微处理器运算速度快.6.微机体系中采取的总线构造有几种类型?各有什么特色?答:微机主板经常运用总线有体系总线.I/O总线.ISA总线.IPCI 总线.AGP总线.IEEE1394总线.USB总线等类型.7.将下列十进制数转换成二进制数.八进制数.十六进制数.①()10=()2=()8=()16②()10=()2=()8=()16③()10=()2=()8=()168.将下列二进制数转换成十进制数.①()2=()10②()2=()10③()2=()109.将下列十进制数转换成8421BCD码.① 2006=(0010 0000 0000 0110)BCD② 123.456=(0001 0010 0011.0100 0101 0110)BCD10.求下列带符号十进制数的8位基2码补码.① [+127]补=01111111② [-1]补=11111111③ [-128]补=10000000④[+1]补=0000000111.求下列带符号十进制数的16位基2码补码.① [+655]补= 0000001010001111② [-1]补③ [-3212]补④[+100]补=0000000001100100习题 21.8086 CPU在内部构造上由哪几部分构成?各部分的功效是什么?答:8086 CPU内部由两大自力功效部件构成,分离是履行部件和总线接口部件.履行部件负责进行所有指令的解释和履行,同时治理有关的存放器.总线接口部件是CPU在存储器和I/O装备之间的接口部件,负责对全体引脚的操纵.2.简述8086 CPU的存放器组织.答:8086 CPU内部共有14个16位存放器,按用处可分为数据存放器,段存放器,地址指针与变址存放器和掌握存放器.数据存放器包含累加器,基址存放器,计数器,和数据存放器.段存放器用来存放各分段的逻辑段基值,并指导当前正在运用的4个逻辑段.地址指针与变址存放器一般用来存放主存地址的段内偏移地址,用于介入地址运算.掌握存放器包含指令存放器和标识存放器.3.试述8086 CPU标记存放器列位的寄义与感化.答:标记存放器是16位的存放器,但现实上8086只用到9位,个中的6位是状况标识位,3位是掌握标识位.状况标记位分离是CF,PF,AF,ZF,SF,和OF;掌握标记位包含DF,IF,TF.CF:进位标记位.算数运算指令履行后,若运算成果的最高位产生进位或借位,则CF=1,不然CF=0.PF:奇偶标记位.反响盘算成果中1的个数是偶数照样奇数.若运算成果的低8位中含有偶数个1,则PF=1;不然PF=0.AF:帮助进位标记.算数运算指令履行后,若运算成果的低4位向高4位产生进位或借位,则AF=1;不然AF=0.ZF:零标记位.若指令运算成果为0,则ZF=1;不然ZF=0.SF:符号标记位.它与运算成果最高位雷同.OF:溢出标记位.当补码运算有溢出时,OF=1;不然OF=0.DF:偏向标记位.用于串操纵指令,指令字符串处理时的偏向.IF:中止许可标记位.用来掌握8086是否许可吸收外部中止请求.TF:单步标记位.它是为调试程序而设定的陷阱掌握位.4.8086 CPU状况标记和掌握标记有何不合?程序中是如何运用这两类标识的?8086的状况标记和掌握标识分离有哪些?答:状况标记位反响了当前运算和操纵成果的状况前提,可作为程序掌握转移与否的根据.它们分离是CF,PF,AF,ZF,SF,和OF.掌握标记位用来掌握CPU 的操纵,由指令进行置位和复位,掌握标记位包含DF,IF,TF.5.将1001 1100和1110 0101相加后,标识存放器中CF, PF, AF, ZF, SF, OF各为何值?答:CF=1,PF=1,AF=1,ZF=0,SF=1,OF=06.什么是存储器的物理地址和逻辑地址?在8086体系中,若何由逻辑地址盘算物理地址?答:逻辑地址是思维性的暗示,由段地址和偏移地址结合暗示的地址类型叫逻辑地址.物理地址是真实消失的独一地址,指的是存储器中各个单元的单元号.在8086体系中,物理地址=段地址×10H+偏移地址7.段存放器CS=1200H,指令指针存放器IP=4000H,此时,指令的物理地址为若干?指向这一地址的CS指和IP值是独一的吗?答:此指令的物理地址=1200H×10H+4000H=16000H 并且指向这一物理地址的CS值和IP值其实不是独一的.8.在8086体系中,逻辑地址FFFF:0001,00A2:37F和B800:173F的物理地址分离是若干?答:9.在8086体系中,从物理地址388H开端次序存放下列3个双字节的数据651AH,D761H和007BH,请问物理地址388H,389H,38AH,38BH,38CH和38DH 6个单元平分离是什么数据?答:(388H)=1AH,(389H)=65H,(38AH)=61H,(38BH)=DTH,(38CH)=7BH,(38DH)=00H10.8086微处理器有哪几种工作模式?各有什么特色?答:8086微处理器有最大和最小工作模式.在最小模式下:8086 CPU直接产生全体总线掌握旌旗灯号(DT/R,DEN,ALE,M/IO)和敕令输出旌旗灯号(RD,WR,INTA)并提出请求拜访总线的逻辑旌旗灯号HOLD,HLDA.在最大工作模式下,必须设置装备摆设8288总线掌握器,并且根据8086供给的状况旌旗灯号S2,S1,S0,输出读写掌握敕令,可以供给灵巧多变的体系设置装备摆设,以实现最佳的体系机能.11.简述8086引脚旌旗灯号中M/IO,DT/R,RD,WR,ALE,DEN和BHE的感化.答:M/IO:输出旌旗灯号,高电日常平凡,暗示CPU与存储器之间数据传输;低电日常平凡,暗示CPU与I/O装备之间数据传输.DT/R:掌握其数据传输偏向的旌旗灯号.DT/R=1时,进行数据发送;DT/R=0时,进行数据吸收.RD:CPU的读旌旗灯号,RD=0时,暗示8086为存储口或I/O端口读操纵.WR:CPU的写旌旗灯号,WR =0时,暗示8086为存储口或I/O端口写操纵.ALE:地址存锁旌旗灯号,在T1能时刻有效.DEN:数据选通讯号,当DEN有效时,暗示许可传输.BHE:数据总线许可旌旗灯号,与A0组合运用,暗示是否拜访奇地址字节.12.简述8086读总线周期和写总线周期和引脚上的旌旗灯号动尖态变更进程.8086的读周期时序和写周期时序的差别有哪些?答:在8086读周期内,有关总线旌旗灯号的变更如下:①M/IO:在全部读周期保持有效,当进行存储器读操纵时,M/IO为高电平;当进行I/O端口读操纵时,M/IO为低电平.②A19/S6~A16/S3:在T1时代,输出CPU要读取的存储单元或I/O端口的地址高4位.T2~T4时代输出状况信息S6-S3.③BHE/S7:在T1时代,输出BHE有效旌旗灯号(BHE为低电平),暗示高8位数据总线上的信息可以运用,BHE旌旗灯号平日作为奇地址存储体的体选旌旗灯号(偶地址存储体的体选旌旗灯号是最低地址位A0).T2—T4时代输出高电平.④AD l5~AD0:在T1时代,输出CPU要读取的存储单元或I/O端口的地址A15~A0.T2时代为高阻态,T3~T4时代,存储单元或I/O端口将数据奉上数据总线.CPU从AD l5~AD0上吸收数据.⑤ALE:在T1时代地址锁存有效旌旗灯号,为一正脉冲,体系中的地址锁存器恰是运用该脉冲的降低沿来锁存A19/S6~A16/S3,AD l5~AD0中的20位地址信息以及BHE.⑥RD:T2时代输出低电平送到被选中的存储器或I/O接口,留意,只有被地址旌旗灯号选中的存储单元或I/O端口,才会被RD旌旗灯号从中读出数据(数据奉上数据总线AD l5~AD0).⑦DT/R:在全部总线周期内保持低电平,暗示本总线周期为读周期,在接稀有据总线收发器的体系中,用来掌握数据传输偏向.⑧DEN:在T2~T3时代输出有效低电平,暗示数据有效,在接稀有据总线收发器的体系中,用来实现数据的选通.总线写操纵的时序与读操纵时序类似,其不合处在于:①AD l5~AD0:在T2~T4时代奉上欲输出的的数据,而无高阻态.②W R:从T2~T4,W R引脚输出有效低电平,该旌旗灯号送到所有的存储器和I/O接口.留意,只有被地址旌旗灯号选中的存储单元或I/O端谈锋会被W R旌旗灯号写入数据.③DT/R:在全部总线周期内保持高电平,暗示本总线周期为写周期,在接稀有据总线收发器的体系中,用来掌握数据传输偏向.习题31.假定(DS)=2000H,(ES)=2100H,(SS)=1500H,(SI)=00A0H,(BX)=0100H,(BP)=0010H,数据变量V AL的偏移地址为0050H,请指出下列指令原操纵数是什么寻址方法,其物理地址是若干?(1)MOV AX, 0ABH (2) MOV AX, [100H](3) MOV AX, V AL (4) MOV BX, [SI](5) MOV AL, V AL[BX] (6) MOV CL, [BX][SI](7) MOV V AL[SI], BX (8) MOV [BP][SI], 100答:(1) 立刻数寻址,无物理地址(2) 直接寻址,物理地址=2000H×10H+100H=20100H(3) 直接寻址,物理地址=2000H×10H+0050H=20050H(4) 存放器间接寻址,物理地址=2000H×10H+00A0=200A0H(5) 相对存放器寻址,物理地址=2000H×10H+(0050+0100H)=20150H(6) 基址加变寻址,物理地址=2000H×10H+(0100H+00A0H)=201A0H(7) 存放器寻址,无物理地址(8) 立刻数寻址,无物理地址2.已知(SS)=0FFA0H,(SP)=00B0H,先履行两条把8057H和0F79H分离进栈的PUSH指令,再履行一条POP指令,试画出客栈区和SP内容变更的进程示意图.答:“8057H”进栈,则SP主动从00B0H指向00B2H,“0F79H”进栈,则SP主动从00B2H指向00B4H;履行一条POP指令,“0F79H”被弹出栈,SP从00B4H指向00B2H.图略.3.设有关存放器及存储单元的内容如下:(DS)=2000H, (BX)=0100H, (AX)=1200H, (SI)=0002H, (20100H)=12H, (20101H)=34H, (20102H)=56H, (20103H)=78H, (21200H)=2AH, (21201H)=4CH, (21202H)=0B7H, (21203H)=65H.试解释下列各条指令单独履行后相干存放器或存储单元的内容.(1)MOV AX, 1800H (2) MOV AX, BX(3) MOV BX, [1200H] (4) MOV DX, 1100[BX](5) MOV [BX][SI], AL (6) MOV AX, 1100[BX][SI]答:(1) (AX)=1800H (2) (AX)=0100H (3) (BX)=4C2AH(4) (DX)=4C2AH (5) (20102H)=00H (6) (AX)=65B7H4. 写出实现下列盘算的指令序列.(1) Z=W+(X+Z) (2) Z=W-(X+6)-(R+9)答:(1) MOV AX, ZADD AX, XADD AX, WMOV Z, AX(2) MOV AX, WADD X, 6SUB AX, XADD R, 9SUB AX, RMOV Z, AX5. 若在数据段中从字节变量TABLE响应的单元开端存放了0~15的平方值,试写出包含XLAT指令的指令序列查找N(0~15)中的某个平方数.答:LEA BX, TABLEMOV AL, CLXLAT6. 写出实现下列盘算的指令序列.(1) Z=(W*X)/(R+6) (2) Z=((W-X)/5*Y)*2答:(1) MOV AX, WIMUL XADD R, 6IDIV RMOV Z, AX(2) MOV AX, WSUB AX, XMOV BL, 5IDIV BLCBWIMUL YMOV BX, 2IMUL BXMOV Z, AX7. 假定,CF=1, 试肯定下列各条指令单独履行后DX的值.(1) SHR DX, 1 (2) SHL DL, 1 (3) SAL DH, 1 (4) SAR DX, CL(5) ROR DX, CL (6) ROL DL, CL (7) RCR DL, 1 (8) RCL DX, CL答:(1) (DX)=0110 0100 1101 1100B (2) (DX)=1100 1001 0111 0010B(3) (DX)=1001 0010 1011 1001B (4) (DX)= 1111 1001 0011 0111B(5) (DX)= 0011 1001 0011 0111B (6)(DX)= 0100 1101 1100 1110B(7) (DX)= 1110 0100 1101 1100B (8) (DX)= 1001 0011 0111 0011B8. 已知程序段如下:MOV AX, 1234HMOV CL, 4ROL AX, CLDEC AXMOV CX, 4MUL CXINT 20H试问:(1)每条指令履行后,AX存放器的内容是什么?(2)每条指令履行后,CF,SF及ZF的值分离是什么?(3)程序运行停止后,AX及DX存放器的值为若干?答:MOV AX, 1234H (AX)=1234H, CF=0,SF=0,ZF=0MOV CL, 4ROL AX,CL (AX)=2341H,CF=1,SF=0,ZF=0 DEC AX (AX)=2340H,CF=1,SF=0,ZF=0MOV CX,4MULL CX (AX)=8D00H, CF=0,SF=1,ZF=0 INT 20H停止后,(DX)=0000H, (AX)=8000H9.试剖析下列程序段:ADD AX, BXJNC L2SUB AX, BXJNC L3JMP SHORTL5假如AX,BX的内容给定如下:AX BX(1) 14C6H 80DCH(2) B568H 54B7H问该程序在上述情形下履行后,程序转向何处.答:(1)转到L2处(2)转到L3处习题41.下列语句在存储器平分离为变量分派若干字节空间?并画出存储空间的分派图.V AR1 DB 10,2V AR2 DW 5 DUP(?),0V AR3 DB ‘HOW ARE YOU?’,3 DUP(1,2)V AR4 DD -1,1,0答:字节空间:V AR1:2;V AR2:12;V AR3:13;V AR4:8.存储空间的分派图:2.假定V AR1 和V AR2 为字变量,LAB 为标号,试指出下列指令的错误之处. (1)ADD V AR1,V AR2 (2)SUB AL,V AR1(3)JMP LAB[CX] (4)JNZ V AR1(5) MOV [1000H],100 (6)SHL AL, 4答:(1) 在算术运算指令中,两个操纵数不克不及同时为存储器寻址方法(2) AL 为字节,V AR1 为字变量,字长不相等;(3) 错误1:存放器相对寻址方法,只能运用基址或变址存放器,不克不及运用CX存放器.错误2:汇编格局错误,无法判段是段内转移照样段间转移.(4) 转向地址应为标号,不克不及是变量;(5) 目标操纵数的类型不肯定;(6) SHL 指令中,当所移位数超出1 时,必须用CL代替所移位数.3.对于下面的符号界说,指出下列指令的错误.A1 DB ?A2 DB 10K1 EQU 1024(1) MOV K1,AX (2)MOV A1,AX(3)CMP A1,A2 (4)K1 EQU 2048答:(1)K1 为常量,不克不及用MOV 指令赋值;(2)A1 为字节,AX 为字变量,类型不一致;(3)A1 和A2同为存储器寻址方法,不相符语律例则;(4)K1 从新赋值前,必须用PURGE 释放.4.数据界说语句如下所示:FIRST DB 90H,5FH,6EH,69HSECOND DB 5 DUP(?)THIRD DB 5 DUP(?)FORTH DB 4 DUP (?)自FIRST 单元开端存放的是一个四字节的十六进制数(低位字节在前),请求:编一段程序将这个数左移两位后存放到自SECOND 开端的单元,右移两位后存放到自THIRD 开端的单元,求补后放到FORTH开端的单元.(留意保存移出部分)答:DA TA SEGMENTFIRST DB 90H,5FH,6EH,69HSECOND DB 5 DUP(?)THIRD DB 5 DUP(?)FORTH DB 4 DUP (?)DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DA TAMOV DS,AXLEA SI,FIRSTLEA DI,SECONDMOV CX,2CLC;左移2 位MOV AX,WORD PTR [SI] ;AX=5F90H 为低十六位数据INC SIINC SIMOV DX,WORD PTR [SI] ;DX=696EH 为高十六位数据PUSH DX ;保管原有的高十六位数据PUSH AX ;保管原有的低十六位数据ROL DX,CL;将高位数据不带进位轮回左移两位,即高2 位数据在DL 的低2 位AND DL,03H ;让DL 中仅保管移出的高2 位数据MOV [DI+4] ,DL;将移出的高2 位数据放入SECOND 中的最高单元中ROL AX,CL;将低位数据不带进位轮回左移两位,即AX 的高2 位在AL 的低2 位AND AL,03H;让AL 中仅保管移出的AX 高2 位数据MOV BL ,AL;将AL 中的数据放入BL 中保管POP AX;弹出原有的低十六位数据POP DX;弹出原有的高十六位数据SHL DX,CL;将高位数据算术逻辑左移2 位SHL AX,CL;将低位数据算术逻辑左移2 位OR DL,BL;将AX 中移出的高2 位数据放入DX 的低2 位MOVWORD PTR [DI] ,AXMOVWORD PTR [DI+2] ,DX;右移2 位LEA SI,FIRSTLEA DI,THIRDMOV CX,2CLCMOV AX,WORD PTR [SI] ;AX=5F90H 为低十六位数据INC SIINC SIMOV DX,WORD PTR [SI] ; DX=696EH 为高十六位数据PUSH DX;保管原有的高十六位数据PUSH AX;保管原有的低十六位数据ROR AX,CL;将低位数据不带进位轮回右移两位,即低2 位数据在AH 的高2 位AND AH,0C0H;让AH 中仅保管移出的低2 位数据PUSH CXMOV CX,6SHR AH,CLPOP CXMOV [DI] ,AH ;将移出的低2 位数据放入THIRD 中的最低单元中ROR DX, CL;将低位数据不带进位轮回左移两位,即AX 的高2 位在AL 的低2 位AND DH,0C0H ;让DH 中仅保管移出的DX 低2 位数据MOV BL ,DH ;将DH 中的数据放入BL 中保管POP AX ;弹出原有的低十六位数据POP DX ;弹出原有的高十六位数据SHR DX,CL ;将高位数据算术逻辑左移2 位SHR AX,CL ;将低位数据算术逻辑左移2 位OR AH,BL ;将DX 中移出的低2 位数据放入AX 的高2 位MOVWORD PTR [DI+1] , AXMOV WORD PTR [DI+3] ,DX;求补LEA SI,FIRSTLEA DI,FORTHMOV AX,WORD PTR [SI] ;AX=5F90H 为低十六位数据INC SIINC SIMOV DX,WORD PTR [SI] ; DX=696EH 为高十六位数据XOR AX, 0FFFFH ;将低十六位取反XOR DX, OFFFFH ;将高十六位按位取反CLCADD AX,01H ;低位加1,即可为原数的求补ADC DX,0 ;高位加低位加法时的进位MOVWORD PTR [DI] , AXMOV WORD PTR [DI+2] ,DXMOV AH,4CHINT 21HCODE ENDSEND START5.试编程序将内存从40000H到4BFFFH的每个单元中均写入55H,并再逐个单元读出比较,看写入的与读出的是否一致.若全对,则将AL置7EH; 只要有错,则将AL置81H.答:DATA SEGMENTDA1 DB 55HCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,4000HMOV DS,AXMOV CX,0C000HMOV BX,0000HMOV AH,55HNEXT1: MOV byte ptr[BX],AHINC BXLOOP NEXT1MOV BX,0000HMOV CX,0C000HMOV AL,81HNEXT2: MOV AH, [BX]CMP AH,55HJNZ EXITINC BXLOOP NEXT2MOV AL,7EHEXIT: MOV AH,4CHINT 21HCODE ENDSEND START6.在当前数据段4000H开端的128个单元中存放一组数据,试编程序将它们次序搬移到A000H开端的次序128个单元中,并将两个数据块逐个单元进行比较; 如有错将BL置00H; 全对则将BL置FFH,试编程序.答:DATA SEGMENTORG 400HDA1 DB 128 DUP(?)ORG 0A00HDA2 DB 128 DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATASTART: MOV AX,DATAMOV DS,AXLEA SI,DA1LEA DI,DA2MOV CX,128AGAIN:MOV AL,[SI]INC SIINC DILOOP AGAINLEA SI, DA1LEA DI, DA2MOV CX,128NEXT:MOV AL,[SI]MOV BL,[DI]CMP AL,BLJNZ ERRORINC SIINC DIMOV BL,0FFHLOOP NEXTJMP EXITERROR: MOV BL,00HEXIT: MOV AH,4CHINT 21HCODE ENDSEND START7. 设变量单元A.B.C存放有3个数,若3个数都不为零,则求3个数的和,存放在D中; 如有一个为零,则将其余两个也清零,试编写程序.答:DATA SEGMENTA DB ?B DB ?C DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXCMP A,00HJNZ LP1MOV B,0MOV C,0JMP LP4LP1:CMP B,00HJNZ LP2MOV A,0MOV C,0JMP LP4LP2:CMP C,00HJNZ LP3MOV A,0MOV B,0JMP LP4LP3:MOV AL,AADD AL,BADD AL,CMOV AH,4CHLP4: INT 21HCODE ENDSEND START8. 有一个100个字节的数据表,表内元素已按从大到小的次序分列好,现给定一元素,试编程序在表内查找,若表内已有此元素,则停止; 不然,按次序将此元素拔出表中恰当的地位,并修正表长.答:DATA SEGMENTBUFF DB 100 DUP(?)DA1 DB (?)LENGTH DB 0DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV SI,0MOV AL,DA1MOV CX,100FIND0: CMP BUFF[SI],ALJZ EXITINC SILOOP FIND0MOV DI,99MOV SI,0COMPARE: CMP BUFF[DI],ALJG INSERTMOV BL,BUFF[DI]MOV BUFF[DI+1],BLDEC DICMP DI,SIJNL COMPAREJMP EXITINSERT:MOV BUFF[DI+1],ALMOV LENGTH , 101EXIT:MOV AH,4CHINT 21HCODE ENDSEND START9. 内存中以FIRST和SECOND开端的单元平分离存放着两个16位组合的十进制(BCD码)数,低位在前.编程序求这两个数的组合的十进制和,并存到以THIRD 开端的单元.答:DATA SEGMENTFIRST DD 34341212HSECOND DD 78785656HTHIRD DB ?,?,?,?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXLEA SI,FIRSTLEA DI,SECONDLEA BX,THIRDMOV CX,4CLCAGAIN:MOV AL,BYTE PTR[SI]MOV DL,BYTE PTR[DI]ADC AL,DLDAAMOV BYTE PTR[BX],ALINC SIINC DIINC BXLOOP AGAINJC AAMOV BYTE PTR[BX],0JMP EXITAA:MOV BYTE PTR[BX],1EXIT:MOV AH,4CHINT 21HCODE ENDSEND START10. 编写一段程序,吸收从键盘输入的10个数,输入回车符暗示停止,然后将这些数加密后存于BUFF缓冲区中.加密表如下:输入数字: 0,1,2,3,4,5,6,7,8,9; 暗码数字: 7,5,9,1,3,6,8,0,2,4.答:DATA SEGMENTMITAB DB '7591368024'CONT EQU $-MITABBUFFDB 10 DUP (?),'$'YUANWENDB 10 DUP (?),'$'DATA ENDSCODE SEGMENTASSUMECS∶CODE,DS∶DATASTART: MOV AX,DATAMOV DS,AXMOV SI,0MOV CX,CONTINPUT: MOV AH,1INT 21HCMP AL,13JZ EXITAND AL,0FHMOV YUANWEN[SI] ,ALINC SILOOP INPUTEXIT : LEA BX,MITABMOV CX,SIMOV SI,0JIAMI: MOV AL,YUANWEN[SI]XLAT MITABMOV BUFF[SI],ALINC SILOOP JIAMIMOV AH, 4CHINT 21HCODE ENDSEND START11.试编程序,统计由40000H开端的16K个单元中所存放的字符“A”的个数,并将成果存放在DX中.答:DATA SEGMENTDA1 DB 'A'BUFF DB 4000H DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,4000HMOV DS,AXMOV BX,0MOV CX,4000HFIND: MOV AL,[BX]MOV BL,DA1CMP AL,BLJNZ NEXTNEXT: INC SILOOP FINDMOV AH,4CHINT 21HCODE ENDSEND START12. 在当前数据段(DS),偏移地址为DATAB开端的次序80个单元中,存放着某班80个同窗某门测验成绩.按如下请求编写程序:(1) 编写程序统计≥90分; 80分~89分; 70分~79分; 60分~69分,<60分的人数各为若干,并将成果放在同一数据段.偏移地址为BTRX开端的次序单元中. (2) 试编程序,求该班这门课的平均成绩为若干,并放在该数据段的A VER单元中. 答:DATA SEGMENTBUFF DW 80 DUP(?)DA9 DB 0DA8 DB 0DA7 DB 0DA6 DB 0DA5 DB 0A VER DB 0DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV CX,80COMPARE: MOV BX,0CMP BUFF[BX],90JB LP8JMP NEXTLP8: CMP BUFF[BX],80JB LP7INC DA8JMP NEXTLP7: CMP BUFF[BX],70JB LP6INC DA7JMP NEXTLP6: CMP BUFF[BX],60JB LP5INC DA6JMP NEXTLP5: INC DA5JMP NEXTNEXT: INC BXLOOP COMPAREMOV CX,80XOR AX,AXMOV BX,00SUM: ADD AX,BUFF[BX] INC BXLOOP LP1MOV CL,80DIV CLMOV A VER , ALMOV AH,4CHINT 21HCODE ENDSEND START13. 编写一个子程序,对AL中的数据进行偶校验,并将经由校验的成果放回AL 中.答:JIOU PROCPUSH CXPUSH BXXOR AH, AHPUSH AXMOV CL, 7LOOP1: SAR AL, 1ADC AH, 0LOOP LOOP1MOV AL, AHXOR AH, AHMOV BL, 2DIV BLMOV BL, AHPOP AXROR BL, 1OR AL, BLPOP BXPOP CXRETJIOU ENDP14. 运用上题的子程序,对80000H开端的256个单元的数据加上偶校验,试编程序.CODE SEGMENTASSUME CS: CODESTART : MOV AX, 8000HMOV DS, AXMOV SI, 0MOV CX, 256LP: MOV AL, [SI] CALL JIOUMOV [SI], ALINC SILOOP LPMOV AH, 4CH INT 21HJIOU PROCPUSH CXPUSH BXXOR AH, AHPUSH AXMOV CL, 7 LOOP1: SAR AL, 1ADC AH, 0LOOP LOOP1 MOV AL, AHXOR AH, AHMOV BL, 2DIV BLMOV BL, AHPOP AXROR BL, 1OR AL, BLPOP BXPOP CXRETJIOU ENDPCODE ENDS END START习题51.试述DRAM的工作特色;与SRAM比拟有什么长处和缺少之处;解释它的运用处合.答:DRAM,动态随机存取存储器,须要不竭的刷新,才干保管数据. 并且是行列地址复用的,很多都有页模式. SRAM,静态的随机存取存储器,加电情形下,不须要刷新,数据不会丧掉,并且一般不是行列地址复用的.与SRAM比拟,DRAM价钱便宜.速度慢.容量大,重要用来做主存储器,存储程序和数据;而SRAM重要用在Cache等对速度请求高的情形.2.试述DRAM刷新进程和正常读/写进程的差别.答:刷新是以行动单位进行,且刷新进程中不克不及进行读写操纵.3.设有一个具有20位地址和32位字长的存储器,问:(1)该存储器能存储若干个字节的信息?(2)假如存储器由512K*8位SRAM芯片构成,须要若干片?(3)须要若干位作芯片选择?答:(1)该存储器能存储4MB的信息.(2) 须要8片512K*8位的芯片.(3) 须要1位做芯片选择.4.对于8K×8位RAM构成的存储器体系,若某组的肇端地址为08000H,则其末地址为若干?答:末地址为9FFF.5.在8088最大方法体系总线上扩充设计4K字节的SRAM存储器电路.SRAM芯片选用Intel 2114,肇端地址从0000H.试画出此存储器电路与体系总线的衔接图.答:体系容量为 4K*8bit,芯片容量为1K*4bit,所以一共须要8片芯片衔接图如下:6.在8088体系总线上扩充设计8K的字节的SRAM存储器电路.SRAM芯片选用Intel 6264,肇端地址从04000H开端,译码器电路74LS138.(1)盘算此RAM存储区的最高地址是若干.(2)画出此存储器电路与体系总线的衔接图.答:(1)最高地址是05FFFH.(2)7.在8086最小方法体系总线上扩充设计16K字节的SRAM存储器电路,SRAM芯片选用Intel 6264,肇端地址从04000H开端,译码器电路采取74LS138.(1)盘算此RAM存储区域的最高地址是若干(2)画出此存储器与总线的衔接图.答:(1) 07FFFH(2)习题61.什么是接口?接口的功效是什么?答:位于主机与外设之间,用来协助完成数据传送和掌握义务的逻辑电路称为接口电路,接口电路对输入/输出进程起缓冲和联络感化.接口的功效是有,数据缓冲功效,联络功效,寻址功效,预处理功效,中止治理功效.2.盘算机对I/O端口编址时平日采取哪两种办法?在8086体系中,用哪种办法进行编址?答:I/O端口和存储器同一编址;I/O端口单独编址.8086体系采取I/O端口单独编址方法.3.CPU和输入/输出装备之间传送的信息有哪几类?答: 数据信息,掌握信息,与状况信息.4.简述CPU与外设进行数据交流的几种经常运用方法.答: 程序掌握方法: 特色是依附程序的掌握来实现主机和外设的数据传送,可分为无前提传送方法和查询方法.中止掌握方法: 每次输入和输出一个数据,CPU都要检讨外设的状况.直接存储器存取掌握方法:cpu不介入数据传送,而是由DMA掌握器来实现内存与外设,外设与外设之间的直接传递.通道方法:可以实现对外围装备的同一治理和外围装备与内存之间的数据传送.外围处理机方法:由PPU自力于主机工作,削减了CPU掌握外设的累赘.5.无前提传送方法实用哪些场合?查询方法道理如何?重要用在什么场合?答:无前提传送实用于简略的输入/输出装备,CPU可以随时读取或接收状况.这些旌旗灯号变更迟缓,当须要收集数据时,无需检讨端口,就可以立刻收集数据,直接用输入/输出指令完成.无前提传送方法重要用于掌握CPU与低俗I/O接口之间的信息交流.6.现有一输入装备,其数据端口的地址为FFE0H,并于端口FFE2H供给状况,当其D0位为1时标明输入数据预备好.请编写采取查询方法进行数据传送的程序段,请求从该装备读取100B并输入到1000H:2000H开端的内存中.MOV DX, 0FFE2HL1: IN AL, DX 这是习题6的第6题的答案,TEST AL, 01H 这个程序写不出来,建议删这一问JZ L1MOV AX, 1000HMOV DS, AXMOV DX, 2000HMOV CX, 100MOV DX, 0FFE0HL2: IN AL, DXMOV [DX], ALINC BXLOOPN L27.查询式传送方法有什么优缺陷?中止方法为什么能填补查询方法的缺陷?答:查询传送方法CPU通进程序不竭查询响应装备的状况,状况不相符请求,则CPU须要等待;只有当状况旌旗灯号相符请求时,CPU才干进行响应的操纵.中止方法进步了盘算机体系中信息处理的并行和处理器效力,中止可以实现同步操纵,及时处理等功效.8.8088/8086中止向量表的感化是什么?答:中止向量表树立了不合的中止源与其响应的中止办事程序首地址之间的接洽,它是CPU在响应中止时可以根据中止类型码主动转向中止办事程序.9.什么叫中止向量?它放在哪里?对于1CH的中止向量在哪里?假如1CH的中止程序从5110H开端:2030H开端,则中止向量应当如何存放?答:中止向量即用来供给中止进口地址的一个指针.10.8259中IRR, IMR, ISR三个存放器的感化是什么?答:⑴中止请求存放器IRR8259A有8条外部中止请求输入旌旗灯号线IR0-IR7,每一条请求线上有一个响应的触发器来保管请求旌旗灯号,它们形成了中止请求存放器IRR(Interrupt Request Register).⑵中止屏障存放器IMRIMR(Interrupt Mask Register)用来存放屏障位信息,IMR的每一位可以制止IRR 中对应位的中止请求输入旌旗灯号进入.⑶中止办事存放器ISRISR(Interrupt Service Register)存放当前正在进行办事的所有中止.ISR中响应位的置位是在中止响应的INTA脉冲时代,由优先权判决电路根据IRR中各请求位的优先权级别和IMR中屏障位的状况,将中止的最高优先级请求位选通到ISR中.11.类型号为20H的中止办事程序进口符号地址为INT-5,试写出中止向量的装入程序片断.答:MOV AX, 0MOV DS, AXMOV SF, 20H*4LEA AX, IMSMOV [IS], AXMOV AX, SEQ, INTSMOV [SI+2], AX12.简述DMA掌握器同一般接口芯片的差别.答:DMA掌握器能给出拜访内存所须要的地址信息,并能主动修正地址指针,也能设定和修正传送的字节数,还能向存储器和外设发出响应的读/写掌握旌旗灯号.在DMA传送停止后,它能释放总线,把对总线的掌握权又交还给CPU.用DMA方法传输数据时,不须要进行呵护和恢复断点及现场之类的额外操纵.13.简述8237A3种根本传送类型的特色.答:单次传送方法:每次DMA操纵只传送1B,然后就主动把总线掌握权交。
微机原理与接口技术(第二版)龚尚福等编 配套实验讲义

实验五 排序程序设计实验
一.实验目的
1. 掌握分支、循环、子程序调用等基本的程序结构。 2. 学习综合程序的设计、编制及调试。
二.实验设备
TDN86/88 教学实验系统一台
三.实验内容及步骤
1. 在数据区中存放着一组数,数据的个数就是数据缓冲区的长度,要求用气泡法对该数据 区中数据按递增关系排序。
三.实验内容及步骤
1. 编制程序 计算式子 1+2+3+…+99+100 的结果。
2. 求某数据区内负数的个数 设数据区的第一单元存放区内单元数据的个数,从第二单元开始存放数据,在区内最后
一个单元存放结果。为统计数据区内负数的个数,需要逐个判断区内的每一个数据,然后将 所有数据中凡是符号位为 1 的数据的个数累加起来,即得区内所包含负数的个数。
实验步骤: (1)输入程序并检查无误,经汇编、连接后装入系统。 (2)用 E3000↙在 3000-3009H 数据区中任意放入 10 个无符号数。 (3)G=0000:2000↙,运行实验程序。 (4)用 D=3000↙检查排序结果。 (5)反复修改数据区中的数,运行程序并观察结果,以验证程序的正确性。
实验步骤: (1)输入程序并检查无误,经汇编、连接后装入系统。 (2)E3500↙,在 3500-3510 单元中分别送入 00、01、02…。
(3)G=0000:2000↙,运行程序,按 CTRL+BREAK 中断,返回监控。 (4)D3600↙,显示结果:3600 00 01 02 …。
实验二 运算类编程实验
b. 连续运行:在“>”提示符下输入 G=0000:2000↙(在系统默认段址 CS=0000 情况下 可直接输入 G=2000↙)可连续运行程序,在运行过程中,可通过 CTRL+BREAK 或点击菜 单中的停止来终止程序运行。
微机原理与接口技术(第二版)课后习题答案完整版

习题11.什么就是汇编语言,汇编程序,与机器语言?答:机器语言就是用二进制代码表示得计算机能直接识别与执行得一种机器指令得集合。
汇编语言就是面向及其得程序设计语言。
在汇编语言中,用助记符代替操作码,用地址符号或标号代替地址码。
这种用符号代替机器语言得二进制码,就把机器语言编程了汇编语言。
使用汇编语言编写得程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用得程序叫汇编程序。
2.微型计算机系统有哪些特点?具有这些特点得根本原因就是什么?答:微型计算机得特点:功能强,可靠性高,价格低廉,适应性强、系统设计灵活,周期短、见效快,体积小、重量轻、耗电省,维护方便。
这些特点就是由于微型计算机广泛采用了集成度相当高得器件与部件,建立在微细加工工艺基础之上。
3.微型计算机系统由哪些功能部件组成?试说明“存储程序控制”得概念。
答:微型计算机系统得硬件主要由运算器、控制器、存储器、输入设备与输出设备组成。
“存储程序控制”得概念可简要地概括为以下几点:①计算机(指硬件)应由运算器、存储器、控制器与输入/输出设备五大基本部件组成。
②在计算机内部采用二进制来表示程序与数据。
③将编好得程序与原始数据事先存入存储器中,然后再启动计算机工作,使计算机在不需要人工干预得情况下,自动、高速得从存储器中取出指令加以执行,这就就是存储程序得基本含义。
④五大部件以运算器为中心进行组织。
4.请说明微型计算机系统得工作过程。
答:微型计算机得基本工作过程就是执行程序得过程,也就就是CPU自动从程序存放得第1个存储单元起,逐步取出指令、分析指令,并根据指令规定得操作类型与操作对象,执行指令规定得相关操作。
如此重复,周而复始,直至执行完程序得所有指令,从而实现程序得基本功能。
5.试说明微处理器字长得意义。
答:微型机得字长就是指由微处理器内部一次可以并行处理二进制代码得位数。
它决定着计算机内部寄存器、ALU与数据总线得位数,反映了一台计算机得计算精度,直接影响着机器得硬件规模与造价。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微机原理与接口技术部分答案第二版主编:龚尚福2.2 8086微处理器由哪几部分组成?各部分的功能是什么?16355【解】:按功能可分为两部分:总线接口单元BIU(Bus Interface Unit)和执行单元EU (Execution Unit)。
总线接口单元BIU是8086 CPU在存储器和I/O设备之间的接口部件,负责对全部引脚的操作,即8086对存储器和I/O设备的所有操作都是由BIU完成的。
所有对外部总线的操作都必须有正确的地址和适当的控制信号,BIU中的各部件主要是围绕这个目标设计的。
它提供了16位双向数据总线、20位地址总线和若干条控制总线。
其具体任务是:负责从存单元中预取指令,并将它们送到指令队列缓冲器暂存。
CPU 执行指令时,总线接口单元要配合执行单元,从指定的存单元或I/O端口中取出数据传送给执行单元,或者把执行单元的处理结果传送到指定的存单元或I/O端口中。
执行单元EU中包含1个16位的运算器ALU、8个16位的寄存器、1个16位标志寄存器FR、1个运算暂存器和执行单元的控制电路。
这个单元进行所有指令的解释和执行,同时管理上述有关的寄存器。
EU对指令的执行是从取指令操作码开始的,它从总线接口单元的指令队列缓冲器中每次取一个字节。
如果指令队列缓冲器中是空的,那么EU就要等待BIU通过外部总线从存储器中取得指令并送到EU,通过译码电路分析,发出相应控制命令,控制ALU数据总线中数据的流向。
2.3 简述8086 CPU的寄存器组织。
【解】:(1)通用寄存器:通用寄存器又称数据寄存器,既可作为16位数据寄存器使用,也可作为两个8位数据寄存器使用。
当用作16位时,称为AX、BX、CX、DX。
当用作8位时,AH、BH、CH、DH存放高字节,AL、BL、CL、DL存放低字节,并且可独立寻址。
这样,4个16位寄存器就可当作8个8位寄存器来使用。
(2)段寄存器:段寄存器共有4个CS、DS、SS、ES。
代码段寄存器CS表示当前使用的指令代码可以从该段寄存器指定的存储器段中取得,相应的偏移值则由IP提供;堆栈段寄存器SS指定当前堆栈的起始地址;数据段寄存器DS指示当前程序使用的数据所存放段的起始地址;附加段寄存器ES则指出当前程序使用附加段地址的起始位置,该段一般用来存放原始数据或运算结果。
(3)指针和变址寄存器:堆栈指针SP用以指出在堆栈段中当前栈顶的地址。
入栈(PUSH)和出栈(POP)指令由SP给出栈顶的偏移地址。
基址指针BP指出要处理的数据在堆栈段中的基地址,故称为基址指针寄存器。
变址寄存器SI和DI用来存放当前数据段中某个单元的偏移量。
(4)指令指针与标志寄存器:指令指针IP的功能跟Z80 CPU中的程序计数器PC的功能类似。
正常运行时,IP中存放的是BIU要取的下一条指令的偏移地址。
它具有自动加1功能,每当执行一次取指令操作时,它将自动加1,使它指向要取的下一存单元,每取一个字节后IP容加1,而取一个字后IP容则加2。
某些指令可使IP值改变,某些指令还可使IP 值压入堆栈或从堆栈中弹出。
标志寄存器FLAGS是16位的寄存器,8086共使用了9个有效位,标志寄存器格式如图2.5所示。
其中的6位是状态标志位,3位为控制标志位。
状态标志位是当一些指令执行后,表征所产生数据的一些特征。
而控制标志位则可以由程序写入,以达到控制处理机状态或程序执行方式的表征。
2.4 试述8086 CPU标志寄存器各位的含义与作用。
【解】:(1) 6个状态标志位的功能分别叙述如下:CF(Carry Flag)——进位标志位。
当执行一个加法(或减法)运算,使最高位产生进位(或借位)时,CF为1;否则为0。
PF(Parity Flag)——奇偶标志位。
该标志位反映运算结果中1的个数是偶数还是奇数。
当指令执行结果的低8位中含有偶数个1时,PF=1;否则PF=0。
AF(Auxiliary carry Flag)——辅助进位标志位。
当执行一个加法(或减法)运算,使结果的低4位向高4位有进位(或借位)时,AF=1;否则AF=0。
ZF(Zero Flag)——零标志位。
若当前的运算结果为零,ZF=1;否则ZF=0。
SF(Sign Flag)——符号标志位。
它和运算结果的最高位相同。
OF(Overflow Flag)——溢出标志位。
当补码运算有溢出时,OF=1;否则OF=0。
(2) 3个控制标志位用来控制CPU的操作,由指令进行置位和复位。
DF(Direction Flag)——方向标志位。
它用以指定字符串处理时的方向,当该位置“1”时,字符串以递减顺序处理,即地址以从高到低顺序递减。
反之,则以递增顺序处理。
IF(Interrupt enable Flag)——中断允许标志位。
它用来控制8086是否允许接收外部中断请求。
若IF=1,8086能响应外部中断,反之则不响应外部中断。
注意:IF的状态不影响非屏蔽中断请求(NMI)和CPU部中断请求。
TF(Trap Flag)——跟踪标志位。
它是为调试程序而设定的陷阱控制位。
当该位置“1”时,8086 CPU处于单步状态,此时CPU每执行完一条指令就自动产生一次部中断。
当该位复位后,CPU恢复正常工作。
2.5 8086中,存储器为什么采用分段管理?【解】:8086/8088的地址总线宽度为20位,其最大寻址空间是1MB。
而其他微处理器则在实模式下只能访问前1 MB的存储器地址。
实际上,实模式就是为8086/8088而设计的工作方式,它要解决在16位字长的机器里怎么提供20位地址的问题,而解决的办法是采用存储器地址分段的方法。
程序员在编制程序时要把存储器划分成段,在每个段地址空间是线性增长的。
每个段的大小可达64KB,这样段地址可以用16位表示。
存储器分段的方法虽然给程序设计带来一定的麻烦,但这种方法可以扩大存储空间,而且对于程序的再定位也是很方便的。
2.6 什么是逻辑地址?什么是物理地址?如何由逻辑地址计算物理地址?【解】:物理地址:完成存储器单元或I/O端口寻址的实际地址成为物理地址,CPU型号不同其物理地址也不同。
物理地址是指CPU和存储器进行数据交换时实际所使用的地址,而逻辑地址是程序使用的地址。
物理地址由两部分组成:段基址(段起始地址高16位)和偏移地址。
前者由段寄存器给出,后者是指存储单元所在的位置离段起始地址的偏移距离。
当CPU寻址某个存储单元时,先将段寄存器的容左移4位,然后加上指令中提供的16位偏移地址而形成20位物理地址。
在取指令时,CPU自动选择代码段寄存器CS,左移4位后,加上指令提供的16位偏移地址,计算出要取指令的物理地址。
堆栈操作时,CPU自动选择堆栈段寄存器SS,将其容左移4位后,加上指令提供的16位偏移地址,计算出栈顶单元的物理地址。
每当存取操作数时,CPU会自动选择数据段寄存器(或附加段寄存器ES),将段基值左移4位后加上16位偏移地址,得到操作数在存的物理地址。
2.9 在80x86微机的输入/输出指令中,I/O端号通常是由DX寄存器提供的,但有时也可以在指令中直接指定00H~0FFH的端口号。
试问可直接由指令指定的I/O端口数是多少?【解】:由于在80x86的输入/输出指令中,可以直接在00H~0FFH指定,所以直接由指令指定的I/O端口数是256。
3.1 指令分成几部分?每部分的作用是什么?【解】:每条指令由两部分组成:操作码字段和地址码字段。
操作码字段:用来说明该指令所要完成的操作。
地址码字段:用来描述该指令的操作对象。
一般是直接给出操作数,或者给出操作数存放的寄存器编号,或者给出操作数存放的存储单元的地址或有关地址的信息。
3.2 指出下列MOV指令的源操作数的寻址方式:MOV AX,1234HMOV AX,BXMOV AX,[BX]MOV AX,TABLE;TABLE ;TABLE是一个变量名MOV AX,[1234H]MOV AX,[BX+1234H]MOV AX,[BP][SI]MOV AX,[BX+SI-1234H]【解】:MOV AX,1234H 立即寻址MOV AX,BX 寄存器寻址MOV AX,[BX] 寄存器间接寻址MOV AX,TABLE ;TABLE是一个变量名直接寻址方式MOV AX,[1234H] 直接寻址方式MOV AX,[BX+1234H] 寄存器相对寻址MOV AX,[BP][SI] 基址变址寻址MOV AX,[BX+SI-1234H] 相对地址变址寻址3.3 设:(DS)=2000H,(BX)=0100H,(SS)=1000H,(BP)=0010H,TABLE的物理地址为2000AH,(SI)=0002H。
求下列每条指令源操作数的存储单元地址:MOV AX,[1234H]MOV AX,[BX]MOV AX,TABLE[BX]MOV AX,[BP]MOV AX,[BP][SI]【解】:存储单元地址:(DS)×10H + EA =2000H×10H+1234H=21234H存储单元地址:(DS)×10H +(BX)=2000H×10H+0100H=20100H存储单元地址:(DS)×10H+EA=2000H×10H+0100H+000AH=2010AH存储单元地址:(SS)×10H+EA=1000H×10H+0010H=10010H储单元地址:(SS)×10H+EA=1000H×10H+0010H+0002H =10012H3.4 设ARRAY是字数组的首地址,写出将第5个字元素取出送AX寄存器的指令,要求使用以下几种寻址方式:⑴直接寻址⑵寄存器间接寻址⑶寄存器相对寻址⑷基址变址寻址【解】:(1)直接寻址(2)寄存器间接寻址(3)寄存器相对寻址(4)基址变址寻址MOV AX, ARRAY+8 MOV BX, ARRAY+8 MOV BX, 8 LEA BX, ARRAYMOV AX, [BX] MOV AX, ARRAY[BX] MOV SI, 8MOV AX,[BX+SI]3.5 设当前(CS)=2000H,(IP)=2000H,标号NEXT定义在当前代码段偏移地址是0100H 处,(DS)=1000H,(BX)=1000H,(11000H)=00H,(11001H)=30H,数据段定义的字变量ARRAY的容为1000H,试写出下列转移指令的目标转移地址⑴ JMP NEAR PTR⑵ JMP BX⑶ JMP WORD PTR ARRAY【解】:⑴ JMP NEAR PTR 此转移指令的目标转移地址为:20100H⑵ JMP BX 此转移指令的目标转移地址为:21000H⑶ JMP WORD PTR ARRAY 此转移指令的目标转移地址为:23000H3.6 设当前(CS)=2000H,(IP)=2000H,标号NEXT定义在3000H:1000H处。