微机原理第2章微处理器与指令系统
- 格式:ppt
- 大小:2.35 MB
- 文档页数:172
第2章8086微处理器及其系统教材习题解答1. 8086 CPU 由哪两部分构成,它们的主要功能是什么?在执行指令期间,EU 能直接访问存储器吗,为什么?【解】8086CPU由执行部件(EU)和总线接口部件(BIU)两部分组成。
执行部件由内部寄存器组、算术逻辑运算单元(ALU)与标志寄存器(FR)及内部控制逻辑等三部分组成。
寄存器用于存储操作数和中间结果;算术逻辑单元完成16位或8位算术逻辑运算,运算结果送上ALU内部数据总线,同时在标志寄存器中建立相应的标志;内部控制逻辑电路的主要功能是从指令队列缓冲器中取出指令,对指令进行译码,并产生各种控制信号,控制各部件的协同工作以完成指令的执行过程。
总线接口部件(BIU)负责CPU与存储器、I/O设备之间传送数据、地址、状态及控制信息。
每当EU部件要执行一条指令时,它就从指令队列头部取出指令,后续指令自动向前推进。
EU要花几个时钟周期执行指令,指令执行中若需要访问内存或I/O设备,EU就向BIU 申请总线周期,若BIU总线空闲,则立即响应,若BIU正在取一条指令,则待取指令操作完成后再响应EU的总线请求。
2. 8086CPU与传统的计算机相比在执行指令方面有什么不同?这样的设计思想有什么优点?【解】8086 CPU与传统的计算机相比增加了指令队列缓冲器,从而实现了执行部件(EU)与总线接口(BIU)部件的并行工作,因而提高了8086系统的效率。
3. 8086 CPU 中有哪些寄存器,各有什么用途?【解】8086共有8个16位的内部寄存器,分为两组:①通用数据寄存器。
四个通用数据寄存器AX、BX、CX、DX均可用作16位寄存器也可用作8位寄存器。
用作8位寄存器时分别记为AH、AL、BH、BL、CH、CL、DH、DL。
AX(AH、AL)累加器。
有些指令约定以AX(或AL)为源或目的寄存器。
实际上大多数情况下,8086的所有通用寄存器均可充当累加器。
BX(BH、BL)基址寄存器。
第2章8086微处理器及其系统习题解答1. 8086 CPU 由哪两部分构成,它们的主要功能是什么在执行指令期间,EU 能直接访问存储器吗,为什么【解】8086CPU由执行部件(EU)和总线接口部件(BIU)两部分组成。
执行部件由内部寄存器组、算术逻辑运算单元(ALU)与标志寄存器(FR)及内部控制逻辑等三部分组成。
寄存器用于存储操作数和中间结果;算术逻辑单元完成16位或8位算术逻辑运算,运算结果送上ALU内部数据总线,同时在标志寄存器中建立相应的标志;内部控制逻辑电路的主要功能是从指令队列缓冲器中取出指令,对指令进行译码,并产生各种控制信号,控制各部件的协同工作以完成指令的执行过程。
总线接口部件(BIU)负责CPU与存储器、I/O设备之间传送数据、地址、状态及控制信息。
每当EU部件要执行一条指令时,它就从指令队列头部取出指令,后续指令自动向前推进。
EU要花几个时钟周期执行指令,指令执行中若需要访问内存或I/O设备,EU就向BIU 申请总线周期,若BIU总线空闲,则立即响应,若BIU正在取一条指令,则待取指令操作完成后再响应EU的总线请求。
2. 8086CPU与传统的计算机相比在执行指令方面有什么不同这样的设计思想有什么优点【解】8086 CPU与传统的计算机相比增加了指令队列缓冲器,从而实现了执行部件(EU)与总线接口(BIU)部件的并行工作,因而提高了8086系统的效率。
3. 8086 CPU 中有哪些寄存器,各有什么用途【解】8086共有8个16位的内部寄存器,分为两组:①通用数据寄存器。
四个通用数据寄存器AX、BX、CX、DX均可用作16位寄存器也可用作8位寄存器。
用作8位寄存器时分别记为AH、AL、BH、BL、CH、CL、DH、DL。
AX(AH、AL)累加器。
有些指令约定以AX(或AL)为源或目的寄存器。
实际上大多数情况下,8086的所有通用寄存器均可充当累加器。
BX(BH、BL)基址寄存器。
第2章习题参考解答1.8086处理器内部一般包括哪些主要部分?8086处理器与其他处理器一样,其内部有算术逻辑部件、控制与定时部件、总线与总线接口部件、寄存器阵列等。
按功能结构可分为两部分,即总线接口单元(BIU)与执行单元(EU)。
BIU主要包括段寄存器、内部通信寄存器、指令指针、6字节指令队列、20位地址加法器和总线控制逻辑电路。
EU主要包括通用寄存器阵列、算术逻辑单元、控制与定时部件等。
2.什么是总线? —般微机中有哪些总线?所谓总线是指电脑中传送信息的一组通信导线,它将各个部件连接成—个整体。
在微处理器内部各单元之间传送信息的总线称为片内总线;在微处理器多个外部部件之间传送信息的总线称为片外总线或外部总线。
外部总线又分为地址总线、数据总线和控制总线。
随着电脑技术的发展,总线的概念越来越重要。
微机中常用的系统总线有PC总线、ISA总线、PCI总线等。
3.什么是堆栈?它有什么用途?堆栈指针的作用是什么?堆栈是一个按照后进先出的原则存取数据的部件,它是由栈区和栈指针组成的。
堆栈的作用是:当主程序调用子程序、子程序调用子程序或中断时转入中断服务程序时,能把断点地址及有关的寄存器、标志位及时正确地保存下来,并能保证逐次正确地返回。
堆栈除了有保存数据的栈区外,还有一个堆栈指针SP,它用来指示栈顶的位置。
假设是“向下生成”的堆栈,随着压入堆栈数据的增加,栈指针SP的值减少。
但SP始终指向栈顶。
4.在8086 CPU中,FR寄存器有哪些标志位?分别说明各位的功能。
8086 CPU中设置了一个16位的标志寄存器FR,其中用了9位,还有7位保留。
9位中有3位作为控制标志,6位作为状态标志。
IF:中断控制标志。
当IF=1时,允许可屏蔽中断请求;当IF=0时,禁止可屏蔽中断请求。
TF:单步运行标志。
当TF=1,单步运行;TF=0,连续运行程序。
DF:方向标志。
当DF=0,串操作时地址按增量修改;DF=1,地址按减量修改。
微机原理习题第一章绪论习题与答案1. 把下列二进制数转换成十进制数、十六进制数及BCD码形式。
(1)10110010B =(2)01011101.101B =解:(1)10110010B = 178D = B2H = (0001 0111 1000)BCD (2)01011101.101B = 93.625D = 5D.AH= (1001 0011.0110 0010 0101)BCD2. 把下列十进制数转换成二进制数。
(1)100D =(2)1000D =(3)67.21D =解:(1) 100D = 01100100B(2) 1000D = 1111101000B(3)67.21D = 1000011.0011B3. 把下列十六进制数转换成十进制数、二进制数。
(1) 2B5H =(2) 4CD.A5H =解:(1)2B5H = 693D = 0010 1011 0101B(2)4CD.A5H = 1229.6445D = 0100 1100 1101.1010 0101 B4. 计算下列各式。
(1)A7H+B8H =(2)E4H-A6H =解:(1)A7H+B8H = 15FH(2)E4H-A6H = 3EH5. 写出下列十进制数的原码、反码和补码。
(1)+89(2)-37解:(1)[+89 ] 原码、反码和补码为: 01011001B(2)[-37] 原码= 10100101 B[-37] 反码= 11011010 B[-37] 补码= 11011011 B6.求下列用二进制补码表示的十进制数(1)(01001101)补=(2)(10110101)补=解:(1)(01001101)补= 77D(2)(10110101)补= -75D7.请用8位二进制数写出下列字符带奇校验的ASCII码。
(1)C:1000011 (2)O:1001111(3)M:1001101 (4)P:1010000解:(1)C:0 1000011 (2)O:0 1001111(3)M:1 1001101 (4)P:1 10100008.请用8位二进制数写出下列字符带偶校验的ASCII码。
!《16/32位微机原理、汇编语言及接口技术教程》部分习题参考解答第1章微型计算机系统概述〔习题〕什么是通用微处理器、单片机(微控制器)、DSP芯片、嵌入式系统〔解答〕通用微处理器:适合较广的应用领域的微处理器,例如装在PC机、笔记本电脑、工作站、服务器上的微处理器。
单片机:是指通常用于控制领域的微处理器芯片,其内部除CPU外还集成了计算机的其他一些主要部件,只需配上少量的外部电路和设备,就可以构成具体的应用系统。
~DSP芯片:称数字信号处理器,也是一种微控制器,其更适合处理高速的数字信号,内部集成有高速乘法器,能够进行快速乘法和加法运算。
嵌入式系统:利用微控制器、数字信号处理器或通用微处理器,结合具体应用构成的控制系统,其典型的特点是把计算机直接嵌入到应用系统之中。
〔习题〕说明微型计算机系统的硬件组成及各部分作用。
〔解答〕CPU:CPU也称处理器,是微机的核心。
它采用大规模集成电路芯片,芯片内集成了控制器、运算器和若干高速存储单元(即寄存器)。
处理器及其支持电路构成了微机系统的控制中心,对系统的各个部件进行统一的协调和控制。
存储器:存储器是存放程序和数据的部件。
(外部设备:外部设备是指可与微机进行交互的输入(Input)设备和输出(Output)设备,也称I/O设备。
I/O设备通过I/O接口与主机连接。
总线:互连各个部件的共用通道,主要含数据总线、地址总线和控制总线信号。
〔习题〕什么是总线微机总线通常有哪3组信号各组信号的作用是什么〔解答〕总线:传递信息的共用通道,物理上是一组公用导线。
3组信号线:数据总线、地址总线和控制总线。
(1)地址总线:传输将要访问的主存单元或I/O端口的地址信息。
#(2)数据总线:传输读写操作的数据信息。
(3)控制总线:协调系统中各部件的操作。
〔习题〕简答如下概念:(1)计算机字长(2)取指-译码-执行周期(3)ROM-BIOS(4)中断((5)ISA总线〔解答〕(1)处理器每个单位时间可以处理的二进制数据位数称计算机字长。
《微机原理及接⼝技术》课后习题详细解答(期末复习)第1章微型计算机系统概述〔习题1.3〕微型计算机主要由哪些基本部件组成?各部件的主要功能是什么?〔解答〕微机主要有存储器、I/O设备和I/O接⼝、CPU、系统总线、操作系统和应⽤软件组成,各部分功能如下:CPU:统⼀协调和控制系统中的各个部件系统总线:传送信息存储器:存放程序和数据I/O设备:实现微机的输⼊输出功能I/O接⼝:I/O设备与CPU的桥梁操作系统:管理系统所有的软硬件资源〔习题1.10〕简述计算机中“数”和“码”的区别,计算机中常⽤的数制和码制各有哪些?〔解答〕(1)数—⽤来直接表征量的⼤⼩,包括:定点数、浮点数。
(2)码—⽤来指代某个事物或事物的某种状态属性,包括:⼆进制、⼋进制、⼗进制,⼗六进制区别:使⽤场合不同,详见P16.〔习题1.12〕请写出与数据+37和-37对应的8位机器数原码、反码、补码和移码,并分别⽤⼆进制和⼗六进制表⽰出来。
〔解答〕原码反码补码+37 00100101/25H 00100101/25H 00100101/25H-37 10100101/A5H 11011010/DAH 11011011/DBH〔习题1.13〕请将上题中+37和-37的8位补码机器数分别扩充为16位和32位的形式,⽤⼗六进制表⽰出来。
〔解答〕+37 -3716位 32位 16位 32位00 25H 00 00 00 25H FF 5BH FF FF FF 5BH第2章微处理器指令系统〔习题2.1〕微处理器内部具有哪3个基本部分?8088分为哪两⼤功能部件?其各⾃的主要功能是什么?〔解答〕算术逻辑单元ALU、寄存器组和控制器;总线接⼝单元BIU:管理8088与系统总线的接⼝负责cpu对接⼝和外设进⾏访问执⾏单元EU:负责指令译码、执⾏和数据运算;8位CPU在指令译码前必须等待取指令操作的完成,8088中需要译码的指令已经取到了指令队列,不需要等待取指令。
第 1 章微型计算机系统概述习题参考答案1-1.微型计算机包括哪几个主要组成部分,各部分的基本功能是什么?答:微型计算机由CPU、存储器、输入/输出接口及系统总线组成。
CPU是微型计算机的核心部件,一般具有下列功能:进行算术和逻辑运算。
暂存少量数据。
对指令译码并执行指令所规定的操作。
与存储器和外设进行数据交换的能力。
提供整个系统所需要的定时和控制信号。
响应其他部件发出的中断请求;总线是计算机系统各功能模块间传递信息的公共通道,一般由总线控制器、总线发送器、总线接收器以及一组导线组成;存储器是用来存储数据、程序的部件;I/O接口是微型计算机的重要组成部件,在CPU和外设之间起适配作用。
1-2.CPU 执行指令的工作过程。
答:指令执行的基本过程:(1)开始执行程序时,程序计数器中保存第一条指令的地址,指明当前将要执行的指令存放在存储器的哪个单元。
(2)控制器:将程序计数器中的地址送至地址寄存器MAR,并发出读命令。
存储器根据此地址取出一条指令,经过数据总线进入指令寄存器IR。
(3)指令译码器译码,控制逻辑阵列发操作命令,执行指令操作码规定的操作。
(4)修改程序计数器的内容。
1-3.果微处理器的地址总线为20 位,它的最大寻址空间为多少?答:220=1048576=1MB1-4.处理器、微型计算机和微型计算机系统之间有什么关系?答:微处理器是微型计算机的核心部件。
微处理器配上存储器、输入/输出接口及相应的外设构成完整的微型计算机。
以微型计算机为主体,配上系统软件和外部设备以后,就构成了完整的微型计算机系统。
1-5.下面十进制数分别转换为二进制、八进制和十六进制数:128,65535,1024答:128,二进制:10000000B,八进制:200O,十六进制:80H65535,二进制:1111111111111111B,八进制:177777O,十六进制:FFFFH1024,二进制:10000000000B,八进制:2000O,十六进制:400H1-6.下面二进制数分别转换为十进制及十六进制数:1011.1010B,1111101.11 B答:1011.1010B,十进制:11.625,十六进制:B.AH111101.11B,十进制:125.75,十六进制:7D.CH1-7.(5487)10=(0101010010000111)BCD=1010101101111 B1-8.设字长为8 位,请写出下列数的原码、反码、补码和移码:15,-20,-27/32 答:[+15]原=00001111,[+15]反=00001111,[+15]补=00001111,[+15]移=10001111 [-20]原=10010100,[-20]反=11101011,[-20]补=11101100,[-20]移=01101100 [-27/32]原=1.1101100,[-27/32]反=1.0010011,[-27/32]补=1.0010100,[-27/32]移=0.0010100第 2 章微型计算机系统的微处理器习题参考答案2-1.086/8088 CPU 的功能结构由哪两部分组成?它们的主要功能是什么?答:8086/8088 CPU 的功能结构由以下两部分组成:总线接口单元BIU(Bus Interface Unit),执行部件EU (Execution Unit)。
1. 8086CPU内部由哪两部分组成?它们的主要功能?8086CPU由指令执行部件EU和总线接口部件BIU两部分组成。
EU完成指令译码和指令执行的工作,BIU是CPU与外部(存储器和I/O口)的接口,它提供了16位双向数据总线和20位地址总线,完成所有的外部总线操作。
具有地址形成、取指令、指令排队、读/写操作数、总线控制等功能。
2.8080CPU中有哪些寄存器?各有什么用途?答:8086CPU的寄存器有通用寄存器组、指针和变址寄存器、段寄存器、指令指针寄存器及标志位寄存器PSW。
4个16位通用寄存器,它们分别是AX,BX,CX,DX,用以存放16位数据或地址。
也可分为8个8位寄存器来使用,低8位是AL、BL、CL、DL,高8位是AH、BH、CH、DH,只能存放8位数据,不能存放地址。
指针和变址寄存器存放的内容是某一段内地址偏移量,用来形成操作数地址,主要在堆栈操作和变址运算中使用。
段寄存器给出相应逻辑段的首地址,称为“段基址”。
段基址与段内偏移地址结合形成20位物理地址。
指令指针寄存器用来存放将要执行的下一条指令在现行代码中的偏移地址。
16位标志寄存器PSW用来存放运算结果的特征,常用作后续条件转移指令的转移控制条件。
3.8086CPU与8088CPU的主要区别是什么?答:(1)8086的指令队列是6字节,8088是4字节;(2)8088与外部交换数据的总线宽度是8位,所以,对16位数的存储器读/写需要2个总线周期,8086是16位;AD~(3)8088外部数据总线只有8条,所以分时复用的地址/数据总线为7AD;(4)8088中,用IO/M信号代替M/IO;(5)8088中,不需要BHE信号。
4. 简要解释下列名词的意义。
CPU:中央处理单元CPU (Control Processing Unit)也称微处理器,是微型计算机的核心部件,由运算器ALU、控制器、寄存器组以及总线接口等部件组成。
主要完成各种运算,负责对整机的控制。
第二章微处理器及其结构2-7 什么是逻辑地址? 什么是物理地址? 在实地址方式下,如何求存储器的物理地址? 设一个16字的数据区,它的起始地址为70A0H:DDF6(段基址:偏移地址).写出这个数据区的首字单元和末字单元的物理地址.解:1). 实模式下,逻辑地址由段基址和偏移地址组成.物理地址是真正的存储单元的地址.2). 物理地址=段基址*16 + 偏移地址3). 首字单元地址:70A0H*16 +DDF6H = 70A00H + DDF6H = 7E7F6H末字单元地址:7E7F6H + (16-1)*2 = 7E7F6H + 1EH = 7E814H注意:相邻两个存储单元可构成一个字长为16位的字,在对准字时,用偶地址表示字的地址.1EH1CH 2H20H16H14H18H4H1AH10H0H12HEHCH8HAH6H第三章指令系统3-6 分别指出下列指令中源操作数和目标操作数的寻址方式. 若是存储器寻址,用表达式表示EA=?(1)AND AX, 00FFH(2)ADD BX, [00FFH](3)MOV AX, [BX+10H](4)ADD AX, [ESI*8](5)SUB [BP][SI], AX(6)MOV AX, [BX+DI+20H](7)CMP [SI], AX(8)OR AX, DX(9)MOV EAX, [ESI][EDI*2](10)PUSH DS解:(1)立即数寻址(2)直接寻址EA=00FFH(3)基址寻址EA=(BX)+10(4)比例间址EA=ESI*8(5)基址加间址寻址EA=(BP)+(SI)(6)带位移的基址加间址寻址EA=(BX)+(DI)+20H(7)间址寻址EA=(SI)(8)寄存器寻址(9)基址加比例间址寻址EA=(ESI)+(EDI)*2(10)寄存器寻址注意:◆16位寻址: BX和BP作为基址寄存器.BX以DS作为默认段寄存器,BP以SS为默认段寄存器.SI和DI作为间址寄存器. 默认DS为段寄存器◆32位寻址: 8个32位通用寄存器均可作为基址寄存器,其中ESP,EBP以SS为默认段寄存器,其余均以DS为默认段寄存器.除ESP外的其它7个寄存器均可作间址寄存器,EBP默认SS作段基址寄存器,其它以DS作段基址寄存器3-7 32位微机工作在实地址模式下, 已知(DS) = 1000和(SS) = 2000H, (SI) =007FH, (BX) = 0040H, (BP) = 0016H, 变量TABLE的偏移地址为0100H. 指出下列指令中源操作数的寻址方式,求它的有效地址(EA)和物理地址(PA).(1)MOV AX, [1234H](2)MOV AX, TABLE(3)MOV AX, [BX+100H](4)MOV AX, TABLE[BP][SI]解:(1)直接寻址EA=1234H PA=(DS)*16 + EA = 11234H(2)直接寻址EA=(TABLE)=0100H PA=(DS)*16+EA=10100H(3)基址寻址EA=(BX)+100H=0140H PA=(DS)*16+EA=10140H(4)带位移的基址加间址寻址EA=(BP)+(SI)+TABLE=0195H PA=(SS)*16+EA=20195H注意: 当基址寄存器和间址寄存器默认的段寄存器不同时,一般规定,由基址寄存器来决定默认的段寄存器为段基址寄存器. 这里BP为基址寄存器,所以默认SS为段基址寄存器.3-8 指出下列指令的错误,并加以改正.(1)MOV DS, 100(2)MOV 1020H, DX(3)SUB [1000H], [SI](4)PUSH AL(5)IN AL, [80H](6)MOV DS, ES(7)JMP BX(8)SHR DX, 4(9)OUT 380H, AX(10)ADD AL, BX(11)POP CS(12)MOV CL, 3300H解:(1)立即数不能直接传送到段寄存器中去应改为: MOV AX, 100MOV DS, AX(2)立即数只能出现在源操作数位置应改为: MOV DX,1020H(3)源操作数和目标操作数不能同时为寄存器寻址应改为: MOV AX, [1000H]SUB AX, [SI](4)PUSH指令不能操作8位数据应改为: PUSH AX(5)[80H ]不是端口IN AL ,80H应改为: IN AL, 80H(6)两个段寄存器之间不能直接传送应改为: MOV AX, ESMOV DS,AX(7)对(8)移位次数超过1的时候,要把移位次数放入CL中应改为: MOV CL, 4SHR DX, CL(9)端口地址大于255时,要把地址放入DX中应改为: MOV DX, 380HOUT DX, AX(10)源操作数和目标操作数不匹配应改为: ADD AX, BX(11)POP指令只能使用在存储器或通用寄存器可改为: POP AX(12)源操作数和目标操作数不匹配应改为: MOV CX, 3300H3-9 已知: (DS) = 091DH, (SS) = 1E4AH, (AX) = 1234H, (BX) = 0024H, (CX) = 5678H, (BP) = 0024H, (SI) = 0012H, (DI) = 0032H, [09226H] = 00F6H, [09228H] = 1E40H, [1E4F6H] = 091DH. 试求下列各指令单独执行后的结果.(1)MOV CL, 20H[BX][SI] ; (CL) = ?(2)MOV [BP][DI], CX ; [IE4F6H] = ?(3)LEA BX, 20H[BX][SI] : (BX) = ?MOV AX, 2[BX] : (AX) = ?(4)LDS SI, [BX][DI]MOV [SI], BX ; (SI]) = ?(5)XCHG CX, 32H[BX] ; (AX) = ?XCHG 20[BX][SI], AX ; [09226H] = ?解:(1)(CL) = 00F6H(2)[IE4F6H] = 5678H(3)(BX) = 0056H(AX) = 1E40H(4)(SI)= 0024H(5)(AX) = 5678H[09226H] = 1234H3-10 已知(AL) = 0C4H, DATA单元中内容为5AH, 写出下列每条指令单独执行后的结果(ODITSZAPC:0---xxux0)(1)AND AL, DATA(2)OR AL, DATA(3)XOR AL, DATA(4)NOT DATA(5)AND AL, 0FH(6)OR AL, 1H(7)XOR AL, 0FFH(8)TEST AL, 80H解:(1)(AL)= 40H CF=0,OF=0,SF=0,ZF=0,PF=0,AF无定义(2)(AL)= DEH CF=0,OF=0,SF=1,ZF=0,PF=1,AF无定义(3)(AL)= 9EH CF=0,OF=0,SF=1,ZF=0,PF=0,AF无定义(4)(AL)= A5H 不影响任何标志位(5)(AL)= 04H CF=0,OF=0,SF=0,ZF=0,PF=0,AF无定义(6)(AL)= C5H CF=0,OF=0,SF=1,ZF=0,PF=1,AF无定义(7)(AL)= 3BH CF=0,OF=0,SF=0,ZF=0,PF=0,AF无定义(8)(AL)不变=0C4H CF=0,OF=0,SF=1,ZF=0,PF=0,AF无定义3-12 (AL)=8EH,(BL)=72H,执行以下指令后,标志位OF、SF、ZF、AF、PF和CF的值是什么?(1)ADD AL,BL(2)AND BL,AL(3)CMP AL,BL(4)SHL AL,1解:(1)OF=0,SF=0,ZF=1,AF=1,PF=1,CF=1(2)OF=0,SF=0,ZF=0,AF=(未定义),PF=0,CF=0(3)OF=1,SF=0,ZF=0,AF=0,PF=0,CF=0(4)OF=1,SF=0,ZF=0,AF=(未定义),PF=0,CF=13-15 试用CMP指令和无条件指令实现以下判断(1)AX和CX中的内容均为无符号数①(AX)>(CX)则转至BIGGER标号执行②(AX)<(CX)则转至LESS标号执行(2)BX和DX中的内容均为有符号数①(BX)>(DX)则转至BIGGER标号执行②(BX)<(DX)则转至LESS标号执行解:(1)CMP AX,CXJA BIGGERJB LESS(2)CMP BX,DXJG BIGGERJL LESS第四章汇编语言程序设计4-9 试用伪指令编写一数据段与下面程序等效。
《微机原理及应用》各章习题参考答案第1章微型计算机概论一、填空题1. 微机硬件系统主要由CPU、(存储器)、(总线)、(输入输出接口)和输入输出设备组成。
2. 冯·诺依曼计算机的核心原理是(存储程序原理)3. 完成下列数制的转换1)10100110B=( 166 )D=( A6H )H2)223.25 =( 11011111.01 )B=( DF.4 )H3)1011011.101B=( 5B.A )H=(1001 0001.01100010 0101 )BCD4. 已知[X]补5. 已知A=10101111,B=01010000,则A∧B的结果为( 00000000 ) B=86H,则X的十进制表示形式为( -122 )6. -29H的8位二进制反码是(11010110 )B7.字符4的ASCII码=( 34 )H二、简答题1.冯.诺依曼计算机的结构是怎样的,主要特点有哪些?解:将计算机设计为由运算器、控制器、存储器、输入设备和输出设备等5个部分组成,所有的执行都以运算器为核心,采用存储程序工作原理。
2. 已知X=-1101001B,Y=-1010110B,用补码方法求X-Y=?解:[X-Y]补=[X+(-Y)]补= [X]补+[-Y] [X]补原=11101001B [X]补 [-Y]=10010111B原=01010110B=[-Y] [X-Y]补补= [X]补+[-Y]补X-Y=[[X-Y]=11101101B补]补=10010011=-0010011=-193. 写出下列真值对应的原码和补码的形式:1)X=-1110011B2)X=-713)X=+1001001B解:1)[X]原码=11110011B , [X]补码=10001101B2)[X]原码=11000111B, [X]补码=10111001B3)[X]原码=01001001, [X] 补码=01001001B=?4. 已知X和Y的真值,求[X+Y]补1)X=-1110111B Y=+1011010B2)X=56 Y=-215. 若与门的输入端A、B、C的状态分别为1、0、1,则该与门的输出端状态为?若将这3位信号连接到或门,那么或门的输出又是什么状态?解:由与和或的逻辑关系知,若“与”门的输入端有一位为“0”,则输出为“0”;若“或”门的输入端有一位为“1”,则输出为“1”。
第2章习题参考答案18086CPU由哪两部分构成它们的主要功能是什么?答: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内部的并行操作体现在指令执行的同时,待执行的指令也同时从内存中读取并送到指令队列。
3. 8086CPU中有哪些寄存器?各有什么用途?答:CPU有14个内部寄存器,可分为3大类:通用寄存器、控制寄存器和段寄存器。
通用寄存器是一种面向寄存器的体系结构,操作数可以直接存放在这些寄存器中,既可减少访问存储器的次数,又可缩短程序的长度,提高了数据处理速度,占用内存空间少。
指令执行部件(EU)设有8个通用寄存器:AX:累加器,一般用来存放参加运算的数据和结果,在乘、除法运算、I/O操作、BCD数运算中有不可替代的作用BX:基址寄存器,除可作数据寄存器外,还可放内存的逻辑偏移地址CX:计数寄存器,既可作数据寄存器,又可在串指令和移位指令中作计数用DX:DX除可作通用数据寄存器外,还在乘、除法运算、带符号数的扩展指令中有特殊用途源变址寄存器SI:多用于存放内存的逻辑偏移地址,隐含的逻辑段地址在DS寄存器中,也可放数据目标变址寄存器DI:多用于存放内存的逻辑偏移地址,隐含的逻辑段地址在DS寄存器中,也可放数据基址指针BP:用于存放内存的逻辑偏移地址,隐含的逻辑段地址在SS寄存器中堆栈指针SP:用于存放栈顶的逻辑偏移地址,隐含的逻辑段地址在SS寄存器中控制寄存器包括指令指针寄存器IP和标志寄存器FLAG:IP用来指示当前指令在代码段的偏移位置。