当前位置:文档之家› 微机原理的答案

微机原理的答案

微机原理的答案
微机原理的答案

第二章8086/808816位微处理器习题解答

1.试说明8086/8088CPU中有哪些寄存器?各有哪些用途?

答:寄存器组有(1)数据寄存器,含AX、BX、CX、DX四个通用寄存器,用来暂时存放计算过程中所遇到的操作数,结果和其它信息。(2)指针及变址寄存器,含SP、BP、SI、DI四个十六位寄存器,它们可以像寄存器一样在运算过程中存放操作数只能以字为单位使用。还用来在段内寻址时提供偏移地址。(3)段寄存器,含CS、DS、SS、ES,用来专门存放段地址。(4)控制寄存器,包括IP和PSW两个16为寄存器。IP是指令指针寄存器,用来存放代码段中的偏移地址。

PSW为程序状态字寄存器,由条件码标志和控制标志构成。条件码标志用来纪录程序运行结果的状态信息。包括OF、SF、ZF、CF、AF、PF。控制标志位有三个寄存器DF、IF、TF组成。

2.是说明8086/8088CPU中标志位寄存器中各标志位的意义?

答:OF溢出标志,在运算过程中,如操作数超出了机器能表示的范围则置1,否则置0。SF符号标志,运算结果为负时置1,否则置0。

ZF零标志,运算结果为0置1,否则置0 。

CF进位标志,记录运算是最高有效位产生的进位。

AF辅助进位标志,记录第三位的进位情况。

PF奇偶标志位,用来为机器中传送信息时可能产生的出错情况提供检验条件,当结果操作数中的1的个数为偶时置1。

DF方向标志位,在串处理指令中控制处理信息的方向。当DF=1时,每次操作后变址寄存器减量,这样就使串处理从高地址向低地址方向处理。IF中断标志,当IF=1时,允许中断,否则间断中断。TF陷阱标志,用于单步操作方式,当TF为1时,每条指令执行完后产生陷阱,由系统控制计算机。当TF为0时,CPU正常工作不产生陷阱。

3.哪些操作只能隐含使用某个段寄存器,而不能用其它段寄存器代替?哪些操作出隐含使用某个段寄存器外,还可以使用其它段寄存器?

答:计算程序的地址隐含使用CS,正在执行的程序隐含使用SS,而数据的地址隐含使用ES和DS。4.8086/8088系列违纪在存储器中寻找存储单元时,逻辑地址由哪两个部分组成的?

答:由段地址和偏移地址两部分构成。

5.设IBM PC微机内存中某个单元的物理地址是12345H,试完成下列不同的逻辑地址表示:

(1)1234H:___H

(2)____H:0345H

答:(1)1234H:05H (2) 1200H:0345H

6.假设某程序执行过程中,(SS)=0950H,(SP)=64H,试问该用户程序的堆栈底部物理地址是多少?答:(SS)*10H+(SP)=09564H

7.设堆栈段寄存器(SS)=0E4BH,程序中设堆栈长度为200H个字节。试计算出堆栈底部字单元物理地址,堆栈指针SP初始值(即堆栈中没有数据时)和SP初始值指向的物理地址。

答:物理地址为:3E4B0H, SP的初始值为200H,指向的物理地址为:3E6B1H.。

8.设某用户程序(SS)=0925H,SP=30H,(AX)=1234H,(DX)=5678H,问堆栈的地址范围是多少?如现有两条进展指令:

PUSH AX

PUSH DS

试问两指令执行后,(SP)=?

答:寻址范围:09250H~09280H,SP减4为2CH。

9.8086CPU与 8088CPU由哪些相同之处?又有哪些区别?

答:他们内结构基本相同,不同之处仅在于8088有8条外部数据总线,因此为准16位。

8088有16条外部数据总线,两个CPU的软件完全兼容,程序的编制也完全相同。

10.8086CPU从功能上分为几部分?各部分由什么组成?各部分的功能是什么?

答:8086CPU从功能上分外两大部分,一是执行部件(EU),二是总线接口部件(BIU)。

执行部件是由以下四部分组成:(1)4个通用寄存器AX,BX,CX,DX。(2)4个专用寄存器BP,SP,XI,DI。(3)标志寄存器FR。(4)算术逻辑部件ALU。功能是负责执行所以的指令,向总线接口部件(BIU)提供指令执行的结果数据和地址,并对通用寄存器和标志寄存器进行管理。

总线接口部件(BIU)由以下部件组成:(1)四个段寄存器,代码段寄存器,数据段寄存器,附加段寄存器,堆栈段寄存器。(2)指令指针寄存器。(3)地址加法器。(4)指令领队列。功能:执行外部总线周期,负责存储器与I/O端口传送数据。也就是负责CPU与存储器和外设之间的信息交换。12.8086系统中的物理地址是如何的得到的?假如CS=2000H,IP=2100H,其物理地址是多少?

答:8086系统的物理地址是将段地址乘10H,加上偏移地址。

2000H*10H+2100H=22100H (物理地址)

13 什么叫总线周期?一个总线周期包括多少时钟周期,什么情况下要插入T W等待周期?插入多少个T W取决于什么因素?

答:CPU把总线接口部件BIU完成一次访问存储器或外设操作所需要的时间称为一个总线周期,它包括了四个时钟周期。

当访问存储器或外设时,存储器或外设不能及时配合CPU传输数据时,存储器或外设通过“READY”信号在T3之前向CPU发出一个“数据未准备好”信号,CPU会在T3之前插入一个或多个等待时间周期。当存储器或外设准备好数据,通过“READY”发“准备好”信号,CPU接受此信号后,会自动脱离T W状态进入T4状态。因此,插入多少个T W由“READY”信号决定。

14 什么是最大模式?什么是最小模式?用什么方法将8086/8088置于最大模式和最小模式?

答:最小模式,即系统中只有一个微处理器,所有的总线控制信号都直接由8086/8088,因此,系统总线控制电路被减到最小。

最大模式,即系统里包括两个或多个微处理器,主处理器就是8086/8088,其它均为协助主处理器工作的协处理器。它主要用于中等规模或大型的8086/8088系统中。

将8086/8088的第33脚接地时,系统处于最大模式,接+5V时,为最小模式

15 什么是地址锁存器?8086/8088系统中为什么要用地址锁存器?锁存的是什么信息?

答:地址锁存器就是一个暂存器,它根据控制信号的状态,将总线上地址代码暂存起来。

8086/8088数据和地址总线采用分时复用操作方法,即用同一总线既传输数据又传输地址。当微处理器与存储器交换信号时,首先由CPU发出存储器地址,同时发出允许锁存信号ALE给锁存器,当锁存器接到该信号后将地址/数据总线上的地址锁存在总线上,随后才能传输数据。

16 8086/8088系统中的8286是什么器件?起什么作用?

答:8286为总线驱动器(收发器,双向数据缓冲器),当一个系统中所含外设接口较多时,用来增强数据总线的驱动能力。

17 8086/8088系统用的时钟发生器产生哪些信号?

答:时钟发生器8284A产生恒定的时钟信号(CLK),复位信号(RESET),准备就绪信号(READY)。

18 8086/8088的执行部件EU由多少个通用寄存器,多少个专用寄存器,几个标志寄存器和什么组成?

答:执行部件由以下几部分组成:1、四个通用寄存器 AX BX CX DX;2、四个专用寄存器,即基数指针寄存器BP,堆栈指针寄存器SP,源变址寄存器SI,目的变址寄存器DI;3一个标志寄存器FR;4算术逻辑部件ALU。

19 8086/8088的指令队列长度分别为多少个字节?

答:8086的指针队列为6个字节,8088的指针队列有4个字节。

20 8086与8088的16位寄存器中,有多少个寄存器可拆分为8位寄存器使用。它们分别是什么?它们又被统称为什么?

答:在8086与8088的16位寄存器中,有四个寄存器可拆分为八位寄存器使用,它们分别是AX,BX,CX,DX。统称为通用寄存器。

21PU从主存取出一条指令并执行该指令的时间称(),它通常用若干个()来表示,而后者又包括若干个()。

①指令周期②机器周期③时钟周期

答:1-2-3

22 计算机时钟脉冲的频率称为什么?,其倒数又称为什么?

答:计算机的时钟脉冲频率称为时钟频率,即主频。其倒数为时钟周期。

22计算机主频为8MHz,每个机器周期平均含两个时钟周期,每条指令平均有个机器周期,则该机器的平均指令执行速度为多少MIPS?

答:该机器执行一条指令所用时间为:1/8*10-6*2*=5/8*10-6t;平均指令执行速度为: 1/ (5/8)=。

24 8086/8088的存储器可以寻址1MB的空间,在对I/O进行读写操作时,20位地址中只有哪些位是有效的?这样,I/O地址的寻址空间为多大?

答:在对I/O进行读写操作时,20位地址中只有A0-A15有效,I/O地址的寻址空间为216B。

25 指令队列的作用是什么?

答:指令队列存放内存中取下的将被执行的下一条或下几条指令,使CPU执行完一条指令就可立即执行下一条,提高CPU的效率。

26 8086CPU可访问的存储空间为1MB,实际上分为奇数存储体和偶数存储体两部分,对奇数存储体的

选择信号是什么,对偶数存储体的选择信号是什么,对每个存储体单元的选择信号是什么?

答:奇数存储体的选择信号为BHE,偶数存储体的选择信号为A0。对每个存储体内存储单元的选择信号是READY。

27 8086有两种工作方式,即最小模式和最大模式,它由什么信号决定?最小模式的特点是什么?最大模式的特点是什么?

MN/信号决定。当接入+5V时,系统处于最小模式,只有一个答:8086的两种工作模式由MAX

微处理器,总线控制逻辑部件被减到最小。当接地时,系统处于最大模式,实现多处理器控制系统,主要应用于大中型系统。

M/=0,RD=0,W R=1时,CPU完成的操作是什么?

28 当IO

答:CPU完成一个对I/O设备端口的读操作。

29 8088与8086在软件上是否完全兼容?

答:8086/8088内部都采用16位字进行操作及存储器寻址。因此两者软件完全兼容。

第三章存储器技术习题解答

1 半导体存储器从器件原理的角度可分为哪两种类型?

答:半导体存储器从器件原理角度分为ROM和RAM两种。

2 磁盘和磁带属于哪种类型的存储器?

答:磁盘和磁带同属于外存储器。

3 半导体静态RAM和半导体动态RAM分别靠什么原理存储信息?

答:静态RAM:用一个触发器电路作为1个Bit的基本存储单元,每个触发器能置位存储1,或复位存储0。

动态RAM:每Bit只需一个管子和一个电容,存放的信息是1还是0,决定于电容中是否储存电荷。

4 为保证动态RAM中的内容不消失,需要进行哪一步操作?

答:由于电容有漏放电现象,为保证RAM中的内容不消失,必须另外设计一种电路,定时(一般为

2ms),使电容上泄放的电荷得到补充,即进行内存刷新。

5 存储器片内的地址译码有哪两种方式?

答:存储芯片内的地址译码有全地址译码和独立译码两种。

6 存储器是计算机系统的记忆设备,它主要用来存储哪些东西?

答:存储器用来存储地址、数据和程序。

7 存储字长和存取周期分别指什么?

答:存储字长是指存放在一个存储单元中的二进制代码个数。存取周期是指存储器进行连续读写操作所允许的最短时间间隔。

8 和外存相比,内存的特点有哪些?

答:和外存相比,内存的特点是容量小、速度快、成本高。

9 某计算机主存容量为2048KB,这里的2048KB表示多少个字节?

答:2048KB表示2048*1024个Byte,即2(11)*2(10)=2(21)个。

10 某计算机的主存为3KB,则内存地址寄存器需多少位就足够了?

答:主存为3KB,则地址线有12条,所以内存地址寄存器需12位。

11 若256KB的SRAM具有8条数据线,则它具有多少条地址线?

答:具有18条地址线。

12 计算机的内存可采用ROM、RAM、磁盘中的哪几种?EPROM指的又是什么?

主存和CPU之间增加高速缓存的目的是什么?采用虚拟存储器的目的是什么?

答:可采用ROM和RAM。EPROM指可编程并可擦除的ROM,兼有ROM和RAM的功能。由于主存储器的存/取时间比CPU慢一个数量级,从而严重影响了微型机的速度,而RAM线路的读写时间可与CPU的处理速度处于同一个数量级,因此在主存储器和CPU之间增加高速缓冲存储器Cache,以提高机器的速度。虚拟存储器的容量比实际物理上主存储器的容量大,软件可根据需要将所需的存储区域调入物理存储器,也可以提高处理速度。

13 某以8088为CPU的微型计算机内存RAM区为00000H~3FFFFH,若采用6264、

62256、2164或21256各需要多少片芯片?

答:采用6264(8k*8bit)需要32片;采用62256(32k*8bit)需要8片;采用2164 (64k*1bit) 需要32片;采用21256 (256k*1bit)需要8片。

14 利用全地址译码将6264芯片接在8088的系统总线上,其所占地址范围为BE000H~BFFFFH,试画连接图。

解答:采用全地址译码连接图如下:

8088系统

15 试利用6264芯片,在8088 Array系统总线上实现00000H~03FFFH

的内存区域,试画连接电路

图。

解答:采用全地址译码。

16 叙述EPROM的编程过程,说

明EEPROM的编程过程。

答: PROM的编程有两种方式,

即标准编程和灵巧编程两种方

式。标准编程的过程为:使Vcc

为+5v ,Vpp加上+21v 。而

后,加上要编程的单元地址,

数据线加上要写入的数据,使

CE保持低电平,OE为高电平。

当上述信号稳定后,在PGM端加

上50±5ms的负脉冲。这样就将

一个字节的数据写到了相应的

地址单元中。重复上述过程,

快5倍左右。当加上 Vcc= 5v,

Vpp=21v

编程脉冲进行编程,接着进行校验,如

不成功,再加1 ms编程脉冲。最多可进行15次,若15次仍不能将数据正确写入,则认为芯片本身已

损坏。若某一单元用X次1 编程脉冲已正确写入,校验到这种情况后,立即对该单元加入4倍 X的编

程覆盖脉冲,则认为该单元编程已完成。重复上述过程,将所有要写入的单元编程。将数据写入

EEPROM有两种方式,即字节方式和自动页写入。在对EEPROM编程时,可以在线操作。

17 有2片6116,现欲将它们接到8088系统中去,其地址范围为40000H到40FFFH,

试画连接电路图。利用写入某数据并读出比较,若有错,则在DL中写入01H;若每个单元均对,则在

DL写入EEH,试编写此检测程序。

解答:连接电路图见下一页。

18 若用全地址译码将EPROM 2764(128或256)接在首地址为A0000H的内存区,试画出电路图。

解答:电路图如下:

19 第15题中,若8088的时钟频率为5MHz ,6264芯片的读写时间均200 ns ,试粗

略估计该芯片能否直接使用。

答:8088的时钟频率为5MHZ ,则读写时间为200ns ,与6264芯片的读写时间相同,若该芯片直接使用,容易出错。

17 连接电路图如下:

第四章 指令与寻址方式习

题解答

1.试分别说明下列各指令中源操作

数和目的操作数使用的寻址方式:

(1) AND AX ,0FFH (2) AND BL ,[OFFH] (3) MOV DS ,AX

(4) CMP [SI],CX (5) MOV DS :[0FFH],CL

(6) SUB [BP][SI],AH

(7) ADC AX ,0ABH[BX] (8) OR DX ,-35[BX][DI] (9) PUSH DS (10) CMC 答: 目的操作数 源操作数 (1)寄存器直接寻址

立即数寻址 (2)寄存器直接寻址 直接寻址

(3)寄存器直接寻址 寄存器直接寻址 (4)寄存器间接寻址 寄存器直接寻址 (5)直接寻址 寄存器直接寻址 (6)基址变址寻址 寄存器直接寻址

(7)寄存器直接寻址 寄存器相对寻址

(8)寄存器直接寻址 基址变址相对寻址 (9)无 寄存器直接寻址 (10)隐含寻址

2.试分别指出下列各指令语句的语法是否有错,如有错,指明是什么错误。

(1) MOV [BX][BP],AX (2) TEST [BP],BL (3) ADD SI ,ABH (4) AND DH ,DL

总线信号

(5)CMP CL,1234H

(6)SHR [BX][DI],3

(7)NOT CX,AX

(8)LEA DS,35[SI]

(9)INC CX,1

(10)PUSH 45[DI]

答:(1)应将BP,BX其中之一该为SI或DI

(2)正确

(3)ABH改为0ABH

(4)

(5)是字操作,CL改为CX

(6)移位数大于1时,应用CL

(7)NOT指令只有一个操作数

(8)LEA指令的源操作数应为一内存单元地址

(9)此指令不用指出1

(10)45改为45H

3.下面两条指令执行后,标志寄存器中CF,AF,ZF,SF和OF分别是什么状态?

MOV DL,86

ADD DL,0AAH

答: 0101,0110 + 1010,1010 = 1,0000,0000

CF=1 AF=1 ZF=1 SF=1 OF=1

4.在8086/8088CPU中可用于作地址指针的寄存器有哪些?

答:有BX,CX,DX,BP,SI,DI (IP,SP,)

5.已知(DS)=09lDH,(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]

(2)MOV [BP][DI],CX

(3)LEA BX,20H[BX][SI]

MOV AX,2[BX]

(4)LDS SI,[BX][DI]

MOV [SI],BX

(5)XCHG CX,32H[BX]

XCHG 20H[BX][SI],AX

答(1) (CX)=56F6H;

(2) (09226H)=5678H;

(3) (AX)=1E40H;

(4) (1E4F6H)=0024H;

(5) (09226H)=1234H,(AX)=5678H.

6.已知(SS)=09l 5H,(DS)=0930H,(SI)=0A0H,(DI)=1C0H,(BX)=80H,(BP)=470H。现有一指令“MOV AX,OPRD”,如源操作数的物理地址为095C0H,试用四种不同寻址方式改写此指令(要求上述每个已知条件至少要使用一次)。

答:(1)MOV AX,[BP]

(2)MOV AX,[BP+DI+80H]

(3)MOV AX,[DI+0100H]

MOV AX,[SI+0220H]

(4)MOV AX,[02C0H]

7.试按下列要求分别编制程序段:

(1)把标志寄存器中符号位SF置‘1’。

(2)寄存器AL中高低四位互换。

(3)由寄存器AX,BX组成一个32位带符号数(AX中存放高十六位),试求这个数的负数。

(4)现有三个字节存储单元A,B,C。在不使用ADD和ADC指令的情况下,

实现(A)+(B)=>C。

(5)用一条指令把CX中的整数转变为奇数(如原来已是奇数,则CX中数据不变,如原来是偶数,则(CX)+1形成奇数)。

答:(1)MOV AH, 80H

SAHF

(2 ) MOV BL, 0FH

AND BL, AL

SAL 4

SHR 4

XOR AL, BL

(3 ) MOV DX, 7FH

SUB AX, DX

MOV DX, 0FFH

SUB DX, BX

MOV BX, DX

(4 ) MOV AH, FFH

MOV BL, [B]

SUB AH, BL

MOV BH, [A]

SUB BH, AH

MOV [C], BH

(5 ) MOV AX, CX

NOT AX

TEST 01H

JNZ NEXT

HLT

NEXT: INC CX

HLT

8.试给出下列各指令的机器目标代码:

(1)MOV BL,12H[SI]

(2)MOV 12H[SI],BL

(3)SAL DX,1

(4)ADD 0ABH[BP][DI],1234H

9.执行下列指令后:

STR1 DW ‘AB’

STR2 DB 16DUP(?)

CNT EQU $-STR1

MOV CX,CNT

MOV AX,STR1

HLT

寄存器CL的值是多少?寄存器AX的值是多少?

答:寄存器CL的值为12H,寄存器AX的值为4241H。

10.JMP FAR PTR ABCD(ABCD是符号地址)的转移方式是什么?

答:JMP FAT PTR ABCD 的转移方式是段间直接转移.

11.MOV AX,ES:[BX][SI]的源操作数的物理地址是多少(用CS、DS、ES、SS、BX、SI表示出即可)?答:MOV AX,ES:[BX] [SI]的源操作数的物理地址是[ES]×10H+[BX]+[SI].

12.运算型指令的寻址和转移型指令的寻址,其不同点在什么地方?

答:运算型指令的寻址包括立即数寻址。寄存器寻址,直接寻址,寄存器间接寻址,寄存器相对寻址和基址加变址寻址方式。这些寻址方式中,CS,IP寄存器的内容不会发生变化。转移型指令的寻址方式包括段内直接寻址,段内间接寻址,段间直接寻址,段间间接寻址。在后三种寻址方式中,CS,IP寄存器的内容发生改变。

13.如果TABLE为数据段中0032单元的符号名,其中存放的内容为1234H,当执行指令”MOV

AX,TABLE”和”LEA AX,TABLE”后,(AX)中的内容分别为多少?

答:执行MOV AX , TABLE后(AX)=1234H

执行LEA AX, TABLE 后(AX)=0032.

14.当指令”SUB AX,BX”执行后,CF=1,说明最高有效位发生了什么现象?对无符号

数来说,操作结果发生了什么现象?

答:执行指令SUB AX,BX后,CF=1,说明最高位发生了借位对无符号来说,操作结果发生了溢出。15.在1000H单元中有一条二字节指令JMP SHORT LAB,如果其中的偏移量分别为

30H、6CH、0B8H,则转向地址LAB的值分别为多少?

答:转向地址LAB的值分别为:

1000×10H+2H+30H=10032H

1000×10H+2H+6CH=1006EH

1000×10H+2H+B8H=100BAH

16.下面两个语句的区别在什么地方:

X1 EQU 1000H

X2=1000H

答:“EQU”和“=”都可以作为赋值语句,但二者的区别是EQU伪操作中的表达式是不许重复定义的,而“=”伪操作则许重复定义。

17.调用指令CALL可进行哪四种调用?

答:调用指令CALL可进行段内直接调用,段内间接调用。段间直接调用。段间间接调用。

18.(AL)=9AH,(BL)=0BCH,当分别进行下列指令运算后,请写出标志位ZF、PF、CF、

SF的内容:( P8050)

(1)ADD A L,BL

(2)SUB A L,BL

(3)AND A L,BL

(4)OR A L,BL

(5)XOR A L,BL

答:(1)ADD AL,BL

1 0 0 1 1 0 1 0

+)1 0 1 1 1 1 0 0

1,0 1 0 1 0 1 1 0 ∴ZF=0,PF=1 CF=1 SF=0

(2)SUB AL,BL

1 0 0 1 1 0 1 0 1 0 0 1 1 0 1 0

—)1 0 1 1 1 1 0 0 —〉 +)0 1 0 0 0 1 0 0

1 1 0 1 1 1 1 0

∴ ZF=0 PF=1 CF=1 SF=1

(3)AND AL,BL

1 0 0 1 1 0 1 0

AND)1 0 1 1 1 1 0 0 ∴ ZF=0 PF=0 CF=0 SF=0

1 0 0 1 1 0 0 0

(4)OR AL,BL

1 0 0 1 1 0 1 0

OR)1 0 1 1 1 1 0 0

∴ ZF=0 PF=1 CF=0 SF=0

1 0 1 1 1 1 1 0

(5)XOR AL,BL

1 0 0 1 1 0 1 0

XOR)1 0 1 1 1 1 0 0 ∴ ZF=0 PF=0 CF=0 SF=0

0 0 1 0 0 1 1 0

19.若(SP)=2800H,试用两种方法实现(SP)=27FEH.

答:方法一:执行一次PUSH指令 PUSH CX

方法二:执行一次PUSHF指令

20.试简述LES REG,SRC所完成的操作?

答:LES REG,SRC 是将SRC和SRC+1中的偏移量送到REG 寄存器,而将SRC+2和SRC+3中的段基址送ES段寄存器。

21.关系操作符EQ、NE、LT、GT、LE、GE计算的结果为逻辑值,试问0FFFFH代表

假,0代表真是否正确?

答:0FFFFH代表真。0表示结果为假。

22.堆栈存取操作是以字节为单位的.试分析当堆栈存入数据和从堆栈取出数据时SP

的变化?

答:当堆栈存入一个字时,(SP)<—SP—2

从堆栈中取出一个字时(SP)<—SP+2

23.试编写汇编程序段完成以下功能:将1000个字符的字符串从内存的BUFFER1搬

移到内存的BUFFER2中去。

解答 LEA SI,BUFFER1

LEA DI,BUFFER2

MOV CX,1000

CLD

REP MOVSb

24.试编写汇编程序段完成以下功能:将数据段中100个字的数据块BLOCK1搬移到

同一个数据段的BLOCK2中去。

解答: LEA SI,BLOCK1

LEA DI,BLOCK2

MOV CX,100

CLD

REP MOVSW

25.试编写汇编程序段完成以下功能:比较DEST和SOURCE中的500个字节,找出

第一个不相同的字节,如果找到,则将SOURCE中的这个数送AL中。

解答: CLD

LEA DI,DEST

LEA SI,SOURCE

MOV CX,500

REPE CMPB

JCXZ NEXT

DEC SI

MOV AL,BYTE PTR[SI]

NEXT:HLT

26.试编写汇编程序段完成以下功能:求最大值,若自BLOCK开始的内存缓冲区中,

有100个带符号的数,希望找到其中最大的一个值,并将它放到MAX单元中。

解答:MOV BX,OFFSET BLOCK

MOV AX,[BX]

MOV CX,100

ADD BX,2

F0:CMP AX,[BX]

JGE F1

MOV AX,BX

F1:ADD BX,2

JCXZ NEXT

JMP F0

MOV MAX,AX

NEXT:HLT

27.假定(SS)=2000H,(SP)=0100H,(AX)=2107H,执行指令PUSH AX后,存放数据

21H的物理地址是多少?

解答:

07H

21H

<—原栈顶20100

存放数据21H的物理地址是200FFH

第五章汇编语言程序设计习题解答

1.指出下列指令的错误:

(1)MOV AH,BX

(2)MOV [BX],[SI]

(3)MOV AX,[SI][DI]

(4)MOV MYDAT[BX][SI],ES:AX

(5)MOV BYTE PTR[BX],1000

(6)MOV BX,OFFSET MYDAT[SI]

(7)MOV CS,AX

答:(1)MOV AH,BX AH 为八位,BX为16位

(2)MOV [BX],[SI] 两个操作数不能都是存储单元

(3)MOV AX,[SI][DI] 一个操作数中不能用两个变址寄存器

(4)MOV MYDAT [BX][SI],E8:AX ES

ES 后应为一个变址寄存器,表示偏移量

(5)MOV BYTE PTR[BX],1000

BYTE 说明时BX进行字节操作。而1000为字

(6)MOV BX,OFFSET MYDAT [SI]

OFFSET 为取某个地址的偏移量,故后面不应用[SI],而应是一个符号地址。

(7)MOV 是数据寻址,不应用程序段寄存器CS.

2.下面哪些指令是非法的?(假设OPl,OP2是已经用DB定义的变量)

(1)CMP l5,BX

(2)CMP OPl,25

(3)CMP OPl,OP2

(4)CMP AX,OPl

答:(1) CMP 15,BX

非法,两个操作数不能一个为字,一个为字节

(2)CMP OP1,25 正确

(3)CMP OP1,OP2 正确

(4)CMP AX,OP1

非法,两操作数不能一个为字,一个为字节

3.假设下列指令中的所有标识符均为类型属性为字的变量,请指出下列指令中哪些是非法的?它们的错误是什么?

(1)MOV BP,AL

(2)MOV WORD_OP[BX+4*3][DI],SP

(3)MOV WORD_OPl,WORD_OP2

(4)MOV AX,WORD_OPl[DX]

(5)MOV SAVE_WORD,DS

(6)MOV SP,SS:DATA_WORD[BX][SI]

(7)MOV [BX][SI],2

(8)MOV AX,WORD_ OPl+WORD_OP2

(9)MOV AX,WORD_ OPl-WORD_OP2+100

(10)MOV WORD_ OPl,WORD_ OPl-WORD_OP2

答:(1)MOV BP,AL

非法,BP为16位 AL为八位

(2)MOV WORD_OP[BX+4*3][DI] ,SP

正确

(3)MOV WORD_OP1 ,WORD_OP2

非法,两个操作数不能都是变量

(4)MOV AX , WORD_OP1[DX]

非法,[DX]应改为[BX],[BP],[SI]或[DI],则为寄存器相对寻址。

(5)MOV SAVE_WORD ,DS

非法,未指明数据段地址DS的偏移量

(6)MOV SP,SS:DATA_WORD[BX][SI]

非法,SS与[BX],[SI]不匹配,SS的偏移量用SP

(7)MOV [BX][SI] ,2

正确

(8) MOV AX,WORD_OP1+WORD_OP2 正确

(9) MOV AX, WORD_OP1—WORD_OP2+100 正确

(10)MOV WORD_OP1,WORD_OP1—WORD_OP2

非法

4.假设VAR1和VAR2为字变量,LAB为标号,试指出下列指令的错误之处:

(1)ADD VAR1,VAR2

(2)SUB AL,VAR1

(3)JMP LAB[SI]

(4)JNZ VARl

(5)JMP NEAR LAB

答:(1) ADD VAR1,VAR2

ADD指令中,目的操作数必须是寄存器或存储单元。

(2)SUB AL,VAR1

AL为8位的,而VAR为字变量16位

(3)JMP LAB [SI]

格式不对,LAB处应为一偏移量,而不是标号。

(4)JNZ VAR1

JNZ 为非零转移,应转移到某个程序段,故后面应为一个标号。

(5)JMP NEAR LAB

段内直接转移,格式应为 JMP NEAR PTR LAB

5.画图说明下列语句所分配的存储空间及初始化的数据值。

BYTE-VAR DB ‘BYTE’,12,-12H,3DUP(0,?,2DUP(1,2),?)

WORD-VAR DW 5DUP(0,1,2),?,-5,’BY’,’TE’, 256H

解答:(1)BYTE-VAR (2)WORD-VAR

B

Y

T

E 12

-12H 6.试列出各种方法,使汇编程序把5150H

存入一个存储器字中。 解答:(1) DW 5150H ;(2)DB 50H ,51H ;(3)DB ‘PQ ’

7.请设置一个数据段DATASG ,其中定义以下字符变量或数据变

量。

FLD1B 为字符串变量:‘personal computer ’; FLD2B 为十进制数字节变量:32; FLD3B 为十六进制数字节变量:20;

FLD4B 为二进制数字节变量:01011001;

FLD5B 为数字的ASCII 字符字节变量:32654;

FLD6B 为10个零的字节变量; FLD7B 为零件名(ASCII 码)及其数量(十进制数)的表格: PART1 20

PART2 50

PART3 14 FLD1W 为十六进制数字变量:FFF0;

FLD2W 为二进制数字变量:01011001; FLD3W 为(7)中零件表的地址变量;

FLD4W 为包括5个十进制数的字变量:5,6,7,8,9;

FLD5W 为5个零的字变量; FLD6W 为本段中字数据变量和字节数据变量之间的地址差。

解答: DATASG SEGMENT FLD1B DB ‘personal computer ’

FLD2B DB 32D

FLD3B DB 14H FLD4B DB 01011001B

FLD5B DB 32654 FLD6B DB 10DUP (0)

FLD7B DB ‘PART1’,20D ,‘PART2’,50D ,‘PART3’,14D

FLD1W DW 0FFFOH FLD2W DW 01011001B FLD3W DW [FLD7B]

FLD4W DW 5,6,7,8,9 FLD5W DW 5DUP (0) FLD6W DW FLD1W-FLD1B DATASG ENDS

8.假设程序中的数据定义如下: PARTNO DW ?

PNAME DB 16 DUP (?) COUNT DD ?

PLENTH EQU $-PARTNIO

问PLENTH 的值为多少?它表示什么意义?

解答:PLENTH 代表着PARTNO 至PLENTH 的地址差,也即三段数据的字节数PLENTH=22。 9.有符号定义语句如下: BUFF DB 1,2,3,‘123’ EBUFF DB 0

L EQU EBUFF-BUFF

问L的值为多少?

解答:L=6

10.假设程序中的数据定义如下:

LNAME DB 30 DUP(?)

ADDRESS DB 30 DUP(?)

CITY DB 15 DUP(?)

CODE-LIST DB 1,7,8,3,2

(1)用一条MOVE指令将LNAME的偏移地址放入AX。

(2)用一条指令将CODE-LIST的头两个字节的内容放入SI。

(3)写一条伪操作使CODE-LENGTH的值等于CODE-LIST域的实际长度。

解答:(1)MOVE AX,0FFSET LNAME;(2)MOVE SI,0701H;

(3)DE-LENGTH EQU LENGTH CODE-LIST。

11.试写出一个完整的数据段DATA_SEG,它把整数5赋与一个字节,并把整数-1,0,2,5和4放在10字数组DATA_LIST的头5个单元中。然后写出完整的代码段,其功能为:把DATA_LIST中头5个数中的最大值和最小值分别存入MAX和MIN单元中。

解答:DATA_SEG SEGMENT

LENGTH DB 5

DATA_LIST DW –1,0,2,5,4,5DUP(?)

MAX DW ?

MIN DW ?

DATA_SEG ENDS

CODE_SEG SEGMENT

ASSUME CS:CODE_SEG,DS:DATA_SEG

START:MOV AX,DATA_SEG

MOV DS,AX

MOV SI,OFFSET DATA_LIST

MOV AX,[SI]

MOV BX,[SI]

MOV CX,LENGTH

XOR AX,AX

XOR BX,BX

CLC

AGAIN:CMP AX,[SI]

JG NEXT1

MOV AX,[SI]

NEXT1:CMP BX,[SI]

JNG NEXT2

MOV BX,[SI]

NEXT2:JNZ AGAIN

MOV MAX,AX

MOV MIN,BX

CODE ENDS

END START

12.给出等值语句如下:

ALPHA EQU 100

BETA EQU 25

GAMMA EQU 2

下列表达式的值是多少?

(1)ALPHA*100+BETA

(2)ALPHA MOD GAMMA+BETA

(3)(ALPHA+2)*BETA-2

(4)(BETA/3)MOD5

(5)(ALPHA+3)*(BETA MOD GAMMA)

(6)ALPHA GE GAMMA

(7)BETA AND 7

(8)GAMMA OR 3

解答:

(1)=10025;(2)=19;(3)=2548;(4)=3;(5)=103;(6)=0;(7)=01H;(8)=03H。13.对于下面的数据定义,三条指令分别汇编成什么?

TABLEA DW 10 DUP(?)

TABLEB DB 10 DUP(?)

TABLEC DB ‘1234’

MOVE AX,LENGTH TABLEA

MOVE BL,LENGTH TABLEB

MOVE CL,LENGTH TABLEC

解答:

MOVE AX,10

MOVE BL,10

MOVE CL,1

14.对于下面的数据定义,各条MOVE指令单独执行后,有关寄存器的内容是什么?

FLDB DB

TABLEA DW 20DUP(?)

TABLEB DB ‘ABCD’

MOVE AX,TYPE FLDB

MOVE AX,TYPE TABLEA

MOVE CX,LENGTH TABLEA

MOVE DX,SIZE TABLEA

MOVE CX,LENGTH TABLEB

解答:

AX=0001H

AX=0002H

CX=0014H

DX=0028H

CX=0001H。

15.指出下列伪操作表达方式的错误,并改正之。

(1)DATA_SEG SEG

(2)SEGMENT ‘CODE’

(3)MYDATA SEGMENT/DATA

ENDS

(4)MAIN_PROC PROC FAR

END MAIN_PROC

MAIN_PROC ENDP

答:(1) DATA-SEG SEGMENT

(2) CODE SEGMENT PARA 'CODE'

(3) /DATA错。定义数据段应在代码段中用ASSUME。ENDS缺少‘MYDATA’。

(4) 多余END,MAIN-PROC应删除。

16.按下面的要求写出程序的框架

(1)数据段的位置从0E000H开始,数据段中定义—个l00字节的数组,其类型属性既是字

又是字节;

(2)堆栈段从小段开始,段组名为STACK,

(3)代码段中指定段寄存器,指定主程序从1000H开始,给有关段寄存器赋值;

(4)程序结束。

答: DATA-SEG SEGMENT

ORG 0E000H

BYTE-ARRAY LABLE BYTE

WORD-ARRAY DW 50 DUP(?)

DATA-SEG ENDS

STACK-SEG SEGMENT PARA 'STACK'

STACK-SEG ENDS

CODE-SEG SEGMENT

ASSUME CS:CODE-SEG,DS:DATA-SEG,SS:STACK-SEG

ORG 1000H

START: MOV AX ,DATA-SEG

MOV DS ,AX

MOV AX ,STACK-SEG

MOV SS ,AX

.

.

CODE-SEG ENDS

END START

17.假设在数据段X_SEG、附加段Y_SEG和堆栈段Z_SEG中分别定义了字变量X,Y和Z。试编制一完整的程序计算

X X+Y+Z

答: X-SEG SEGMENT

X DW ?

X-SEG ENDS

Z-SEG SEGMENT

Z DW ?

Z-SEG EMDS

Y-SEG SEGMENT

Y DW ?

Y-SEG ENDS

CODE SEGMENT

MAIN PROC FAR

ASSUME ES:Y-SEG,CS:CODE,DS:X-SEG,SS:Z-SEG

START PUSH DS

SUB AX AX

PUSH AX

MOV AX ,Y_SEG

MOV ES ,AX

MOV AX,Z_SEG

MOV SS,AX

MOV AX,X_SEG

MOV DS,AX

MOV AX,DS:X

MOV BX,ES:Y

ADD AX BX

JO OVERFLOW

MOV BX ,SS:Z

ADD AX,BX

JO OVERFLOW

MOV DS:X,AX

OVERFLOW :RET

MAIN ENDP

CODE ENDS

END START

18.写一个完整的程序放在代码段C_SEG中,要求把数据段D_SEG中的AUGEND和附加段E_SEG中的ADDEND相加,并把结果存放在D_SEG段中的SUM中。其中AUGEND、ADDEND和SUM均为双精度数,AUGEND 赋值为99251,ADDEND赋值为-15962。

解答:TITLE SUM

D_SEG SEGMENT

AUGW LABEL WORD

AUGEND DD 99251

SUM DW 2 DUPL (?)

D_SEG ENDS

E_SEG SEGMENT

ADDW LABEL WORD

ADDEND DD -15962

E_SEG ENDS

C_SEG SEGMENT

ASSUME DS :D_SEG ,ES:E_SEG ,CS:C-SEG

MAIN PROC FAR

START :PUSH DS

MOVE AX,0

PUSH AX

MOV AX,D_SEG

MOV DS ,AX

MOV AX,E_SEG

MOV ES,AX

ADDT :MOV AX,AUGW

MOV BX,AUGW+2

ADD AX, ES : ADDW

ADC BX, ES: ADDW+2

MOV SUM ,AX

MOV SUM+2,BX

RET

MAIN ENDP

C_SEG ENDS

END START

19.读下面程序段,请问:在什么情况下,本段程序的执行结果是AH=0?

BEGIN: IN AL,5FH

TEST AL,80H

JZ BRCHl

MOV AH,0

JMP STOP

BRCHl: MOV AH,0FFH

STOP: HLT

解答:AL中的最高位为1时。

20.读程序:

START: IN AL,20H

MOV BL,AL

IN AL,30H

MOV CL,AL

MOV AX,0

ADLOP: ADD AL,BL

ADC AH,0

DEC CL

JNZ ADLOP

HLT

请问: (1)本程序实现什么功能?

(2)结果在哪里?

解答:完成20H*30H,结果在AX中。

21.请编一程序段完成AX*l0的任务(要求不准用乘法指令做)。

解答: MOV BX,AX

MOV CL 2

SHL AX, CL

ADD AX,BX

SHL AX ,1

22.编程序使:

(1)AX寄存器低4位清零。

(2)BX寄存器低4位置“1”。

(3)CX寄存器低4位变反。

(4)用TEST指令测试DL寄存器位3、位6是否同时为0,若是,将0送DL;否则l送DH。

解答:1,AND AX ,0FFF0H

2,OR BX ,000FH

3,XOR CX ,000FH

4,TEST DL ,48H

JZ LOOP

MOV DH,1

HLT

LOOP :MOV DL ,0

HLT

23.编一程序段,完成符号函数(-128≤x≤127):

1 (x.>0)

y= 0 (x=0) -1 (x<0)

假设x的值存放在DATAl中,y的值存放在DATA2中。

解答: START :MOV AL ,DATA1

AND AL,AL

JGE BIGR

MOV AL,0FFH

MOV

HLT

BIGR:JE EQUL

MOV AL,1

MOV DATA2,AL

HLT

EQUL:MOV DATA2,AL

HLT

24.设AX寄存器中有一个16位二进制数,编一程序,统计AX中“l”的个数,统计结果送CX中。

解答: START :MOV CX ,0

LOOP: SUB AX,0

JZ STP

SAL AX,1

JNC NOD

INC CX

NOD:JMP LOOP

STP:HLT

25.编一子程序利用XLAT指令把十六进制数转换成ASCII码。假设ASCII码

存放在以 DAT1为首地址的数据区中,对应的16进制数放在以DAT2为首地址的数据区中,转换结果送以DAT3为首地址的数据区中。

解答:MAIN :PUSH BX

PUSH SI

PUSH DI

PUSH CX

PUSH AL

PUSH DS

START:MOV BX,DATA1

MOV SI ,DATA2

MOV DI DATA3

MOV CX ,16

NEST:LODSB

XLAT DATA1

STOSB

LOOP NEST

POP DS

POP AL

POP CX

POP DI

POP SI

POP BX

RET

26.(略)

27.试分三种情况说明:当NUM字节单元中数据是什么情况时,TEMP字节单元分别是多少?

NUM DB XX

TEMP DB ?

MOV AL,NUM

TEST AL,99H

JNE RES

AND AL,99H

JMP END0

RES: JS NE

INC AL

JMP END0

NE: DEC AL

END0: MOV TEMP,AL

答:NUM字节单元中的数据是一个八位2进制数。当其第1、4、5、8位均为0时,将此数装入temp单元,若不满足此条件,则又分为两种情况,其最高位为1时(负数),将此数减1装入temp单元;其最高位为0时(正数),将此数加1装入temp单元。

28.试编制一程序,把CHAR1中各小写字母分别转换为对应的大写字母,并存放在 CHAR2各字节单元中:

CHAR1 DB ‘capitalize’

CHAR2 DB $-CHAR1 DUP(?)

解答:MOV CX ,0AH

MOV SI ,0

MOV AX , 1AH

LOOP1: ADD AX ,CHAR1[SI]

MOV CHAR2[SI], AX

INC SI

LOOP LOOP1

29.试编制一程序,把DA_BYl字节单元中数据分解成三个八进制数,其高位八进制数存放在DA-BY2字节单元中,最低位存放在DA_ BY2+2字节单元中。

DA_BY1 DB 6BH

DA_BY2 DB 3 DUP(0)

解答: MOV AL ,DA-BY1+1

SHR AL ,2

MOV DA-BY2 ,AL

MOV AL ,DA-BY1

AND AL ,07H ; (0,111)

MOV DA-BY2+2,AL

30.试编制一程序,找出DA数据区中带符号的最大数和最小数。

解答: MOV CX , LENGTH

MOV BX ,0000H

MOV DX ,0000H

MOV SI ,0000H

LOOP1: MOV AX , ADDRESS[SI]

CMP AX ,80H

JGE W1

CMP AX ,BX

JG W2

INC SI

LOOP LOOP1

HLT

W1: CMP AX ,DX

JGE W3

JMP LOOP1

W3: MOV DX ,AX

JMP LOOP1

W2: MOV BX ,AX

JMP LOOP1

31.试编制一程序,统计出某数组中相邻两数间符号变化的次数。

解答:MOV CX ,LENGTH

MOV SI ,0

MOV AX ,ADDRESS[SI]

AND AX ,80H

INC SI

MOV BX ,ADDRESS[SI]

AND BX ,80H

SUB BX ,AX

NEG BX

CMP BX ,80H

JG W1

LOOP LOOP1

HLT

W1 INC DX

JMP LOOP1

HLT

32.设某数据段已有N个学生的某科成绩(百分制),并按学号的次序存放在以STUD为首址各字单元的低字节中。现在要求按成绩的高低记入名次,并把名次填入成绩所在字单元的高字节中,各字单元的信息格式为:

解答:START: MOV BX , OFFSET STUD

MOV DX ,OFFSET STUD ; BX ,DX中放置成绩表的偏移地址

MOV CX , N—1 ;CX中放置的是要比较的次数

MOV SI , 0 ;名次放在SI中

LOOP1: MOV AL,[DX]

LOOP2: MOV BX , [BX+2] ;取下一个同学的成绩

CMP AL , [BX]

JA NEXT ;如果比下一个同学成绩高则到NEXT即使名次加一 DEC CX ;否则计数值减一

JNE LOOP2 ;计数不为零再循环取下一个同学成绩

MOV [DX+1] ,SI

HLT

NEXT: ADD SI , 1 ;名次加一

DEC CX

JNE LOOP2

MOV [DX+1],SI ;如果计数为零比较完毕,最后将名次放到与成绩相连的单元中去

MOV DX , [DX+2] ;取下一个成绩去和其他N—1个数比较

LOOP LOOP1

HLT

END START

33.试编制程序,分别对NUM中各数统计出有多少个20,余下有多少个5,再余下有多少个2,再余下有多少个1。统计的各数分别存放在NUM20,NUM5,NUM2,NUM1的对应位置中,程序要求用主程序子程序形式编制,而且用两种参量传递方法分别编制主程序和子程序。数据段如下:

DATA SEGMENT

NUM DW 0133H,0D5FH,1234H

COUNT EQU ($-NUM)/TYPE NUM

NUM20 DB COUNT DUP(0)

NUM5 DB COUNT DUP (0)

NUM2 DB COUNT DUP (0)

NUM1 DB COUNT DUP (0)

DATA ENDS

解答:DADA SEGMENT

NUM DW 0133H , 0D5FH,1234H

COUNT EQU ($-NUM)/TYPE NUM

NUM20 DB COUNT DUP (0)

NUM5 DB COUNT DUP(0)

NUM2 DB COUNT DUP(0)

NUM1 DB COUNT DUP(0)

CMPNUM DB 20,5,2,1

DATA ENDS

CODE SEGENT

ASSUME DS:DATA

ASSUME CS:CODE

MAIN PROC FAR

START: MOV AX,DATA

微机原理及应用试题库(附答案)

《微机原理及应用》试题库 1. 8086和8088的引脚信号中, D 为地址锁存允许信号引脚。 A.CLK B.INTR C.NMI D.ALE 2. 下面的哪项是有效标识符: B A . 4LOOP: B. DELAYIS: C. MAIN A/B: D. GAMA$1: 3. 如图所示的三态输出电路,当 A 时,V B≈V DD。 A. E(ENABLE)=1, A=1 B. E(ENABLE)=1, A=0 C. E(ENABLE)=0, A=1 D. E(ENABLE)=0, A=0 4. 设(SS)=2000H,(SP)=0100H,(AX)=2107H,则执行指令PUSH AX 后,存放数据21H的物理地址是 D 。 A. 20102H B. 20101H C. 200FEH D. 200FFH 5. 汇编语言中,为了便于对变量的访问, 它常常以变量名的形式出现在程序中, 可以认为它是存放数据存储单元的 A 。 A.符号地址B.物理地址C.偏移地址D.逻辑地址 6. 下列四个寄存器中,不能用来作为间接寻址方式的寄存器是 A 。 A. CX B. BX C. BP D. DI (C)7. 执行下列程序段: MOV AX,0 MOV BX,1 MOV CX,100 AA:ADD AX,BX INC BX LOOP AA HLT 执行后的结果:(AX)= ,(BX)= 。 A. 5050,99 B. 2500,100 C. 5050,101 D. 2550,102 8. 假设V1和V2是用DW定义的变量,下列指令中正确的是 A 。 A.MOV V1, 20H B.MOV V1, V2 C.MOV AL, V1 D.MOV 2000H, V2 9. – 49D的二进制补码为 A 。

(完整版)微机原理课后习题参考答案

第一章 2、完成下列数制之间的转换。 (1)01011100B=92D (3)135D=10000111B (5)10110010B=262Q=B2H 3、组合型BCD码和非组合型BCD码有什么区别?写出十进制数254的组合型BCD数和非组合型数。 答:组合型BCD码用高四位和低四位分别对应十进制数的个位和十位,其表示范围是0~99;非组合型BCD码用一个字节的低四位表示十进制数,高四位则任意取值,表示范围为0~9。 组合型:254=(001001010100)BCD 非组合型:254=(00000010 00000101 00000100)BCD 7、计算机为什么采用补码形式存储数据?当计算机的字长n=16,补码的数据表示范围是多少? 答:在补码运算过程中,符号位参加运算,简化了加减法规则,且能使减法运算转化为加法运算,可以简化机器的运算器电路。+32767~ -32768。 9、设计算机字长n=8,求下列各式的[X+Y]补和[X-Y]补,并验证计算结果是否正确。 (1)X=18,Y=89 [X+Y]补=00010010+01011001=01101011B=107D 正确 [X-Y]补=10111001B=00010010+10100111=(-71D)补正确 (2)X=-23,Y=-11 [X+Y]补=11101001+11110101=11011110B=(-34D)补正确[X-Y]补=11101001+00001011=11110100B=(-12D)补正确 (3)X=18,Y=-15 [X+Y]补=00010010+11110001=00000011B=(3D)补正确 [X-Y]补=00010010+00001111=00100001B=(33D)补正确 (4)X=-18,Y=120 [X+Y]补=11101110+01111000=01100110B=(102D)补正确[X-Y]补=11101110+10001000=01110110B=(123D)补由于X-Y=-138 超出了机器数范围,因此出错了。 13、微型计算机的主要性能指标有哪些? 答:CPU字长、存储器容量、运算速度、CPU内核和IO工作电压、制造工艺、扩展能力、软件配置。 第二章 2、8086标志寄存器包含哪些标志位?试说明各标志位的作用。 答:进位标志:CF;奇偶校验:PF;辅助进位:AF;零标志:ZF;符号标志:SF;溢出标志:OF。 5、逻辑地址与物理地址有什么区别?如何将逻辑地址转换为物理地址? 答:物理地址是访问存储器的实际地址,一个存储单元对应唯一的一个物理地址。逻辑地址是对应逻辑段内的一种地址表示形式,它由段基址和段内偏移地址两部分组成,通常表示为段基址:偏移地址。 物理地址=段基址*10H+偏移地址。 6、写出下列逻辑地址的段基址、偏移地址和物理地址。 (1)2314H:0035H (2)1FD0H:000AH 答:(1)段基址:2314H;偏移地址:0035H;物理地址:23175H。 (2)段基址:1FD0H;偏移地址:000AH;物理地址:1FD0AH。 8、设(CS)=2025H,(IP)=0100H,则当前将要执行指令的物理地址是多少? 答:物理地址=(CS)*10H+(IP)=20350H 9、设一个16字的数据区,它的起始地址为70A0H:DDF6H(段基址:偏移地址),求这个数据区的首字单元和末字单元的物理地址。

微机原理试题及答案

1 一、选择题(20分,在每小题的4个备选答案中选出一个正确的答案编号填写在该题空白处,每题2分) 1.指令MOV DX,[BX]的寻址方式是 D 。 (A)立即寻址(B)直接寻址(C)寄存器寻址(D)寄存器间接寻址2.若AL的内容为3FH,执行SHL AL,1指令后,AL的内容为 A 。 (A)7EH (B)1FH (C)9FH (D)7FH 解析:shl al ,1 即目的操作数各位左移一次,移动一次,相当于将目的操作数乘以2。3fh=63 63*2=126 126=7eh 故选A 3.属于在工作中需定时刷新的存储器的芯片是 B 。 (A)SRAM (B)DRAM (C)EEPROM (D)EPROM 4.某EPROM芯片上有19条地址线A 0~A 18 ,它的容量为 C 。 (A)128K (B)256K (C)512K (D)1024K 5.8086/8088CPU的SP寄存器是多少位的寄存器 B 。 (A)8位(B)16位(C)24位(D)32位 6.在STOSB指令执行的时候,隐含着寄存器的内容作为操作数的偏移地址, 该寄存器是 D 。 (A)SP (B)BX (C)SI (D)DI 解析:stos数据串存储指令功能:将累加器al或ah中的一个字或字节,传送到附加段中以di为目标指针的目的串中,同时修改di,以指向串中的下一个单元。 7.8255工作在方式0时,下面哪种说法不正确 C 。 (A)A口输入无锁存能力(B)A、B口输出有锁存能力 (C)C口输入有锁存能力(D)A、B、C三个口输出均有锁存能力 解析:对于方式0,规定输出信号可以被锁存,输入不能锁存 8.采用DMA方式来实现输入输出是因为它 A 。 (A)速度最快(B)CPU可不参与操作(C)实现起来比较容易(D)能对突发事件做出实时响应 9.工作在最小模式下,8086/8088CPU芯片中,将地址信号锁存的信号是 C 。 (A)DT/R (B)DEN (C)ALE (D)AEN 10.在LOOP指令执行的时候,隐含着对计数器减1的操作,该计数器是用寄存 器 C 。 (A)AX (B)BX (C)CX (D)DX 解析:loop:循环指令。指令执行前必须事先见重复次数放在cx寄存器中,每执行一次loop指令,cx自动减1。 二、填空题(每小题2分,共10分) 1.两个无符号数相等,该两数相减后ZF标志= 1 。解析:zf: 全零标志位。本次运算结果为0时,zf=1,否则zf=0。 2.执行LODSB后,SI的内容较该指令执行前增加1,说明DF= 0 。

微机原理习题集以及答案

第一部分 例题与习题 第1章 微型计算机基础 例 题 1.把十进制数转化为二进制数。P7 解:把十进制数转换成二进制数时,需要对一个数的整数部分和小数部分分别进行处理,得出结果后再合并。 整数部分:一般采用除2取余法 小数部分:一般采用乘2取整法 余数 低位 整数 高位 2 | 137 2 | 68 × 2 2 | 34 2 | 17 × 2 2 | 8 2 | 4 × 2 2 | 2 1 高位 低 位 (137)10=()2 10=2 所以,10=(.111)2 2.把二进制数转换为八进制数和十六进制数。P9 解:八进制、十六进制都是从二进制演变而来,三位二进制数对应一位八进制数,四位二进制数对应一位十六进制数,从二进制向八进制、十六进制转换时,把二进制数以小数点为界,对小数点前后的数分别分组进行处理,不足的位数用0补足,整数部分在高位补0,小数部分在低位补0。 (10 1)2=(010 100)2=8 (1 2=(0001 2=16 3.将八进制数转换为二进制数。P9 解:8=(010 100)2=2 4.X=,Y=-,求[X -Y]补,并判断是否有溢出P11 解:[X -Y]补=[X]补+[-Y]补 [X]补= [Y]补= [-Y]补= + -------------- 1 -------------- 0 -------------- 0 -------------- 1 -------------- 0 -------------- 0 -------------- 0 -------------- 1 ------------- 1 ------------- 1 ------------- 1

微机原理试题及答案

微机原理试题及答案 微机原理试题及答案 一、填空题(每空1分,共15分) 1、在计算机中,对带符号数的运算均采用补码。带符号负数1100 0011的补码为_10111101_。2、单片机通常采用“三总线”的应用模式,芯片内部设有单独的地址总线、数据总线_ 和控制总线。 3、当使用80C51单片机时,需要扩展外部程序存储器,此时EA应为_0__。 4、若(A)=B3H,(R0)=A8H,执行指令XRL A,R0之后,(A)=_1BH__。 5、在80C51单片机中,带借位减法SUBB指令中,差的D7需借位时,_CY_=1,差的D3需借位时,AC_=1。 6、80C51单片机中,在调用子程序前,用_PUSH__指令将子程序中所需数据压入堆栈,进入执行子程序时,再用___POP__指令从堆栈中弹出数据。 7、在十六进制数与ASCII码值的转换过程中,当十六进制数在0~9之间时,其对应的ASCII码值为该十六进制数加___30H______。 8、外部中断INT0和INT1有两种触发方式:___电平触发方式_____和__边沿触发方式__。 9、在单片机串行通信中,依发送与接收设备时钟的配置情况,串行通信可以分为 __异步通信___和__同步通信_。10、若累加器A中的数据为

0111 0010B,则PSW中的P=__0___。二、选择题(每题1分,共15分) 1、单片机是在一片集成电路芯片上集成了以下部分,除了( D ) A、微处理器 B、存储器 C、I/O接口电路 D、串口通信接口2、一个机器周期包含多少个晶振周期(D ) A、2 B、6 C、8 D、12 3、80C51单片机有21个特殊功能寄存器,其中与串行口相关的有以下几个,除了( B ) A、SBUF B、TCON C、SCON D、PCON 4、 80C51系列单片机具有4个8位的并行I/O口,其中哪个口工作时需要外接上拉电阻(A ) A、P0 B、P1 C、P2 D、P3 5、寄存器中的内容为地址,从该地址去取操作数的寻址方式称为( C ) A、寄存器寻址 B、直接寻址 C、寄存器间接寻址 D、变址寻址6、源地址为1005H。目的'地址为 0F87H。当执行指令“JC rel”时,rel为( B )。A、7EH B、80H C、82H D、84H 7、若(R0)=30H,(30H)=75H,(75H)=90H,执行指令MOV A,@R0后,(A)=__B____。A、30H B、75H C、90H D、00H 8、下列哪个语句是起始地址设置伪指令( A )。A、ORG B、END C、DW D、EQU 9、在80C51单片机中,各中断优先级最低的是( D )。A、外部中断0 B、外部中断1 C、定时器0 D、计数器1 10、80C51单片机的中断响应时间至少需要( C )个完整的机器周期。A、1 B、2 C、3 D、5 11、在80C51单片机中,

微机原理习题及答案

一、选择 1、在微型计算机中,微处理器的主要功能是进行( )。 D A、算术运算 B、逻辑运算 C、算术、逻辑运算 D、算术、逻辑运算及全机的控制 2、Pentium I属于()位CPU C A、16 B、8 C、32 D、64 3、Intel 8086属于()位CPU A A、16 B、8 C、32 D、64 4、CPU与I/O设备间传送的信号通常有( ) D A、控制信息 B、状态信息 C、数据信息 D、以上三种都有 5、存储器用来存放计算机系统工作时所需要的信息,即( )。 D A、程序 B、数据 C、技术资料 D、程序和数据 6、运算器的核心部件是( )。 D A、加法器 B、累加寄存器 C、多路开关 D、算逻运算单元 二、填空 1、内存可分为2大类:随机存储器RAM 和 2、数据总线是向的,地址总线是向的。 3、计算机的五大部件是:、、、、输出设备 4、总线可分为三类:、、 5、存储程序工作原理最先由提出 6、在计算机内部,一切信息的存取、处理和传送都是以形式进行的。 1、只读存储器ROM 2、双、单 3、运算器、控制器、存储器、输入设备 4、地址总线、数据总线、控制总线 5、冯·诺依曼 6、二进制 三、简答 1、冯·诺依曼型计算机的特点是什么 (1).以二进制表示指令和数据 (2).程序和数据存放在存储器中,从存储器中取指令并执行 (3).由运算器、控制器、存储器、输入设备、输出设备构成计算机硬件系统。 一、选择 1、在机器数______中,零的表示形式是唯一的()。BD A、原码 B、补码 C、反码 D、移码 2、计算机内部表示带符号整数通常采用()。C A、原码 B、反码 C、补码 D、移码

微机原理的答案

第二章8086/808816位微处理器习题解答 1.试说明8086/8088CPU中有哪些寄存器?各有哪些用途? 答:寄存器组有(1)数据寄存器,含AX、BX、CX、DX四个通用寄存器,用来暂时存放计算过程中所遇到的操作数,结果和其它信息。(2)指针及变址寄存器,含SP、BP、SI、DI四个十六位寄存器,它们可以像寄存器一样在运算过程中存放操作数只能以字为单位使用。还用来在段内寻址时提供偏移地址。(3)段寄存器,含CS、DS、SS、ES,用来专门存放段地址。(4)控制寄存器,包括IP和PSW两个16为寄存器。IP是指令指针寄存器,用来存放代码段中的偏移地址。 PSW为程序状态字寄存器,由条件码标志和控制标志构成。条件码标志用来纪录程序运行结果的状态信息。包括OF、SF、ZF、CF、AF、PF。控制标志位有三个寄存器DF、IF、TF组成。 2.是说明8086/8088CPU中标志位寄存器中各标志位的意义? 答:OF溢出标志,在运算过程中,如操作数超出了机器能表示的范围则置1,否则置0。SF符号标志,运算结果为负时置1,否则置0。 ZF零标志,运算结果为0置1,否则置0 。 CF进位标志,记录运算是最高有效位产生的进位。 AF辅助进位标志,记录第三位的进位情况。 PF奇偶标志位,用来为机器中传送信息时可能产生的出错情况提供检验条件,当结果操作数中的1的个数为偶时置1。 DF方向标志位,在串处理指令中控制处理信息的方向。当DF=1时,每次操作后变址寄存器减量,这样就使串处理从高地址向低地址方向处理。IF中断标志,当IF=1时,允许中断,否则间断中断。TF陷阱标志,用于单步操作方式,当TF为1时,每条指令执行完后产生陷阱,由系统控制计算机。当TF为0时,CPU正常工作不产生陷阱。 3.哪些操作只能隐含使用某个段寄存器,而不能用其它段寄存器代替?哪些操作出隐含使用某个段寄存器外,还可以使用其它段寄存器? 答:计算程序的地址隐含使用CS,正在执行的程序隐含使用SS,而数据的地址隐含使用ES和DS。4.8086/8088系列违纪在存储器中寻找存储单元时,逻辑地址由哪两个部分组成的? 答:由段地址和偏移地址两部分构成。 5.设IBM PC微机内存中某个单元的物理地址是12345H,试完成下列不同的逻辑地址表示: (1)1234H:___H (2)____H:0345H 答:(1)1234H:05H (2) 1200H:0345H 6.假设某程序执行过程中,(SS)=0950H,(SP)=64H,试问该用户程序的堆栈底部物理地址是多少?答:(SS)*10H+(SP)=09564H 7.设堆栈段寄存器(SS)=0E4BH,程序中设堆栈长度为200H个字节。试计算出堆栈底部字单元物理地址,堆栈指针SP初始值(即堆栈中没有数据时)和SP初始值指向的物理地址。 答:物理地址为:3E4B0H, SP的初始值为200H,指向的物理地址为:3E6B1H.。 8.设某用户程序(SS)=0925H,SP=30H,(AX)=1234H,(DX)=5678H,问堆栈的地址范围是多少?如现有两条进展指令: PUSH AX PUSH DS 试问两指令执行后,(SP)=? 答:寻址范围:09250H~09280H,SP减4为2CH。 9.8086CPU与 8088CPU由哪些相同之处?又有哪些区别? 答:他们内结构基本相同,不同之处仅在于8088有8条外部数据总线,因此为准16位。 8088有16条外部数据总线,两个CPU的软件完全兼容,程序的编制也完全相同。 10.8086CPU从功能上分为几部分?各部分由什么组成?各部分的功能是什么? 答:8086CPU从功能上分外两大部分,一是执行部件(EU),二是总线接口部件(BIU)。

微机原理试题及答案 (1)

学年第学期微机原理及应用(A)课程试卷 卷16 班级姓名得分任课教师 一、选择题:(每题分,共18分) 1、DMAC向CPU发出请求信号,CPU响应并交出总线控制权后将( 3)。 反复执行空操作,直到DMA操作结束 进入暂停状态, 直到DMA操作结束 进入保持状态, 直到DMA操作结束 进入等待状态, 直到DMA操作结束 2、有一个实时数据采集系统,要求10ms进行一次数据采集,然后进行数据 处理及显示输出,应采用的数据传送方式为( 3 )。 无条件传送方式查询方式 中断方式直接存储器存取方式 3、在数据传送过程中,数据由串行变并行,或由并行变串行的转换可通过 (3 )来实现。 计数器寄存器移位寄存器 D触发器 4、8088 CPU输入/输出指令可寻址外设端口的数量最大可达(4 )个。 128 256 16K 64K 5、CPU响应中断后,通过( 4)完成断点的保护。 执行开中断指令执行关中断指令 执行PUSH指令内部自动操作 6、并行接口芯片8255A具有双向数据传送功能的端口是(1 )。 PA口PB口 PC口控制口 7、8088CPU处理动作的最小时间单位是(2 )。 指令周期时钟周期机器周期总线周期8.堆栈是内存中(4 )。 先进先出的ROM区域后进先出的ROM区域 先进先出的RAM区域后进先出的RAM区域

9、计算机中广泛应用的RS-232C实质上是一种(3 )。 串行接口芯片串行通信规程(协议) 串行通信接口标准系统总线标准 5--1 10、高速缓冲存储器(CACHE)一般是由( 1 )芯片组成。 SRAM DRAM ROM EPROM 11、鼠标器是一种(3 )。 手持式的作图部件手持式的光学字符识别设备 手持式的座标定位部件手持式扫描器 12、传送速度单位“bps”的含义是( 2 )。 bytes per second bits per second baud per second billion bytes per second 二、填空题:(每空1分,共12分) 1、CPU在响应中断后,自动关中。为了能实现中断嵌套,在中断服务程序中, CPU必须在保护现场后,开放中断。 2、在计算机运行的过程中,有两股信息在流动,一股是数据,另 一股则是控制命令。 3、指令MOV BX,MASK[BP]是以 ss 作为段寄存器。 4、指令REPE CMPSB停止执行时,表示找到第一个不相等的字符 或 CX=0 。 5、设CF=0,(BX)= 7E15H,(CL)= 03H,执行指令 RCL BX,CL后, (BX) = ,(CF)=,(CL)=。0F0A9H 1 3 6、在8088 CPU中,一个总线周期是 CPU从存储器或I/O端口存取一个字 节的时间。 8253定时/计数器有 3 个独立的16位计数器,每个计数器都可按二进制或 bcd 来计数。 三、程序设计(共40分) 1.(10分)假设X和X+2单元与Y和Y+2单元中分别存放的是两个双

微机原理作业答案

创作编号:BG7531400019813488897SX 创作者:别如克* 微机原理作业 1.8086C P U由哪两部分组成?它们的主要功能是什么? 答:8086CPU由总线接口单元(BIU)和指令执行单元(EU)组成。总线接口单元(BIU)的功能是:地址形成、取指令、指令排队、读/写操作数和总线控制。指令执行单元(EU)的功能是指令译码和指令执行。 2.微型计算机系统由微处理器、存储器和I/O接口 等组成。 3.8086CPU中的指令队列可存储6个字节的指令代码,当指令 队列至少空出 2 个字节时,BIU单元便自动将指令取到指令 队列中; 4.8086系统中,1MB的存储空间分成两个存储体:偶地址存 储体和 奇地址存储体,各为512 字节。 5.8086系统中存储器采用什么结构?用什么信号来选中存储体?答:8086存储器采用分体式结构:偶地址存储体和奇地址存储体,各为512K。用AO和BHE来选择存储体。当AO=0时,访问偶地址存储体;当BHE=0时,访问奇地址存储体;当AO=0,BHE=0时,访问两个存储体。 6.在8086CPU中,指令指针寄存器是 C 。 (A) BP (B) SP (C) IP (D) DI 7.8086CPU中的SP寄存器的位数是 B 。 (A) 8位(B) 16位(C) 20位(D) 24位

8.8086CPU中指令指针寄存器(IP)中存放的是 B 。 (A)指令(B)指令偏移地址(C)操作数(D)操作数偏移地址 9.若当前SS=3500H,SP=0800H,说明堆栈段在存储器中的物理地址 (最大),若此时入栈10个字节,SP内容是什么?若再出栈6个字 节,SP为什么值?答:堆栈段的物理地址范围:35000H~357FFH 当前顶的物理地址为:35000H+0800H=35800H 入栈10个字节以后:SP=0800H-000AH=07F6H 出栈6个字节以后:SP=07F6H+0006H=07FCH 10.下列关于8086系统堆栈的论述中,正确的是 A 。 (A) 堆栈的工作方式是“先进后出”,入栈时SP减小 (B) 堆栈的工作方式是“先进后出”,入栈时SP增大 (C) 堆栈的工作方式是“先进先出”,入栈时SP减小 (D)堆栈的工作方式是“先进先出”,入栈时SP增大 11.8086CPU对内存读/写操作,需两个总线周期的读/写操作是 D 。 (A) 从偶地址读/写一个字节(B) 从奇地址读/写一个字节 (C) 从偶地址读/写一个字(D) 从奇地址读/写一个字 12.总线周期是指 C 。 (A) 执行一条指令所需要的时间; (B) BIU完成一次读和一次写I/O端口操作所需时间之和; (C) BIU完成一次访问存储器或I/O端口操作所需要的时间; (D) BIU完成一次读和一次写存储器操作所需时间之和。 13.8086CPU通过RESET引脚上的触发信号来引起系统复位和启动,复位 时代码段寄存器CS= 0FFFFH ,指令指针IP= 0000H 。 重新启动后,从物理地址为 FFFF0H 的地方开始执行指令。 14. 8086CPU数据总线信号的状态是 C 。 (A)单向双态(B)单向三态(C)双向三态(D)双向双态

微机原理考试试题及答案分析

微型计算机原理与接口技术综合测试题一 一、单项选择题(下面题只有一个答案是正确的,选择正确答案填入空白处) 1.8086CPU通过(A )控制线来区分是存储器访问,还是I/O访问,当CPU执行IN AL,DX 指令时,该信号线为(B )电平。 (1) A. M/ IO B. C. ALE D. N/ (2) A. 高 B. 低 C. ECL D. CMOS 2.n+1位有符号数x的补码表示范围为(B )。 A. -2n < x < 2n B. -2n ≤ x ≤ 2n -1 C. -2n -1 ≤ x ≤ 2n-1 D. -2n < x ≤ 2n 3.若要使寄存器AL中的高4位不变,低4位为0,所用指令为( B )。 A. AND AL, 0FH B. AND AL, 0FOH C. OR AL, 0FH D. OR AL 0FOH 4.下列MOV指令中,不正确的指令是(D )。 A. MOV AX, BX B. MOV AX, [BX] C. MOV AX, CX D. MOV AX, [CX] 5.中断指令INT 17H的中断服务程序的入口地址放在中断向量表地址(C )开始的4个存贮单元内。 A. 00017H B. 00068H C. 0005CH D. 0005EH 6.条件转移指令JNE的条件是( C )。 A. CF=0 B. CF=1 C. ZF=0 D. ZF=1 7. 在8086/8088 CPU中,一个最基本的总线读写周期由(C)时钟周期(T状态)组成,在T1状态,CPU往总线上发(B )信息。 ⑴ A. 1个 B. 2个 C. 4个 D. 6个 ⑵ A. 数据 B . 地址 C. 状态 D. 其它 8. 8086有两种工作模式, 最小模式的特点是(A),最大模式的特点是(C )。 ⑴ A. CPU提供全部控制信号 B. 由编程进行模式设定 C. 不需要8286收发器 D. 需要总线控制器8288 ⑵ A. M/ IN 引脚可直接引用 B. 由编程进行模式设定 C. 需要总线控制器8288 D. 适用于单一处理机系统 9.在8086微机系统的RAM 存储单元器0000H:002CH开始依次存放23H,0FFH,00H,和0F0H四个字节,该向量对应的中断号是( B )。 A. 0AH B. 0BH C. 0CH D. 0DH 10.真值超出机器数表示范围称为溢出,,此时标志寄存器中的( A )位被置位 A. OF B AF C PF D CF 11.8086 系统中内存储器地址空间为1M,而在进行I/O读写是,有效的地址线是( B) A . 高16位 B. 低16位 C. 高8位 D. 低8位 12.8086 CPU中段寄存器用来存放( C ) A. 存储器的物理地址 B. 存储器的逻辑地址 C. 存储器的段基值 D. 存储器的起始地址 13.8259A可编程中断控制器的中断服务寄存器ISR用于( A ) A.记忆正在处理中的中断 B. 存放从外设来的中断请求信号 C.允许向CPU发中断请求 D.禁止向CPU发中断请求 14.8253 可编程定时/计数器的计数范围是( C ) A. 0-255 B. 1-256 C. 0-65535 D. 1-65536

微机原理课后答案

1.2 课后练习题 一、填空题 1.将二进制数1011011.1转换为十六进制数为__5B.8H_____。 2.将十进制数199转换为二进制数为____ 11000111____B。 3.BCD码表示的数,加减时逢__10____进一,ASCII码用来表示数值时,是一种非压缩的BCD 码。 4.十进制数36.875转换成二进制是___100100.111____________。 5.以_微型计算机____为主体,配上系统软件和外设之后,就构成了__微型计算机系统____。6.十进制数98.45转换成二进制为__1100010.0111_B、八进制__142.3463________Q、十六进制__62.7333________H。(精确到小数点后4位) 二、选择题 1.堆栈的工作方式是__B_________。 A)先进先出B)后进先出C)随机读写D)只能读出不能写入 2.八位定点补码整数的范围是____D_________。 A)-128-+128 B)-127-+127 C)-127-+128 D)-128-+127 3.字长为16位的数可表示有符号数的范围是___B___。 A)-32767-+32768 B)-32768-+32767 C)0-65535 D)-32768-+32768 三、简答题 1.微型计算机系统的基本组成? 微型计算机,系统软件,应用软件,输入输出设备 2.简述冯.诺依曼型计算机基本思想? ●将计算过程描述为由许多条指令按一定顺序组成的程序,并放入存储器保存 ●指令按其在存储器中存放的顺序执行; ●由控制器控制整个程序和数据的存取以及程序的执行; ●以运算器为核心,所有的执行都经过运算器。 3.什么是微型计算机? 微型计算机由CPU、存储器、输入/输出接口电路和系统总线构成。 4.什么是溢出? 运算结果超出了计算机所能表示的范围。 2.2 一、填空题 1. 8086/8088的基本总线周期由___4____个时钟周期组成,若CPU主频为10MHz,则一个时钟周期的时间为___0.1μs_____。 2. 在8086CPU的时序中,为满足慢速外围芯片的需要,CPU采样___READY_________信号,若未准备好,插入___TW__________时钟周期。 3. 8086系统总线形成时,须要用_____ALE__________信号锁定地址信号。 4. 对于8086微处理器,可屏蔽中断请求输入信号加在_____INTR__________引脚。

微机原理答案共16页文档

1.8086/8088 CPU由哪两部分组成?它们的主要功能各是什么?它们之间是如何协调工作的? 微处理器(CPU)总线接口部件(BIU):负责与存储器、I/O 端口传送数据执行部件(EU):负责指令的执行协调工作过程:总线接口部件和执行部件并不是同步工作的,它们按以下流水线技术原则来协调管理: ①每当8086 的指令队列中有两个空字节,或者8088 的指令队列中有一个空字节时,总线接口部件就 ②每当执行部件准备执行一条指令时,它会从总线接口部件的指令队列前部取出指令的代码,然后用几个时钟周期去执行指令。在执行指令的过程中,如果必须访问存储器或者输入/输出设备,那么,执行部件就会请求总线接口部件进入总线周期,完成访问内存或者输入/输出端口的操作;如果此时总线接口部件正好处于空闲状态,那么,会立即响应执行部件的总线请求。但有时会遇到这样的情况,执行部件请求总线接口部件访问总线时,总线接口部件正在将某个指令字节取到指令队列中,此时总线接口部件将首先完成这个取指令的操作,然后再去响应执行部件发出的访问总线的请求。 ③当指令队列已满,而且执行部件又没有总线访问请求时,总线接口部件便进入空闲状态。 ④在执行转移指令、调用指令和返回指令时,由于程序执行的顺序发生了改变,不再是顺序执行下面一条指令,这时,指令队列中已经按顺序装入的字节就没用了。遇到这种情况,指令队列中的原有内容将被自动消除,总线接口部件会按转移位置往指令队列装入另一个程序段中的指令 2.8086/8088 CPU中有哪些寄存器?各有什么用途?标志寄存器F有哪些标志位?各在什么情况下置位? 通用寄存器:用于存放操作数和指针 段寄存器CS 控制程序区DS 控制数据区SS 控制堆栈区ES 控制数据区 标志寄存器F 的标志位:①控制标志:OF、DF、IF、TF;②状

微机原理_期末考试试题答案

微机原理与接口技术考试试卷(A) 专业学号姓名成绩 一、填空题(每空1分,共20分) 1. 完成下列程序段,从240H端口读取数据,测试其是否为20H,若不是则将241H端口清0,否则转向NEXT。 MOV DX , (1) (2) AL, DX (3) AL, 20H (4)______ MOV DX,(5) MOV AL,0 OUT DX,AL ….. NEXT: …… 2. 图1中的一个共阴极数码管通过8255A和系统ISA总线相连,请完成下列程序段,使该数码管稳定显示“8”(字型编码为7FH)。 图1 MOV DX, (6) MOV AL, (7) OUT DX, AL ;初始化82C55 MOV DX, (8) MOV AL, (9) (10) ;数码管稳定显示“8” 3..8086 CPU有条地址线,可形成的存储器地址空间,地址范围为。 4..中断类型号为24H的中断向量存放在开始的存储单元。 5..一台微机的地址总线为16条,其RAM存储器容量为16KB,首地址为2000H,且地址是连续的,则可用的最高地址是________。 6..一个数据的有效地址EA = 1234H,且DS =5678H,则该数据在内存中的物理地址是________,该数据段的首单元的物理地址是________,末单元的物理地址是________。 7.若当前堆栈指针SP指向2006H单元,则向堆栈中压入5个字的内容后,SP应指向________。8.若8086 CPU引脚状态是M/IO=1,RD=1,WR=0,则此时执行的操作是________。

二、综合题(80分) 1.(10分) 一个异步串行通信口,通过TXD发送一帧数据的字符格式如图2的实线所示: 图2 如果线路上传送的字符格式包括7位ASCII码数据,一位奇偶校验位,一位停止位。要求:(1) 写出该帧字符所传送的数据值,并说明是奇校验还是偶校验。(2) 如果波特率为600bps,请计算传送上面这一帧数据所需要的时间。(3) 若波特率系数K=16,请计算发送时钟频率TXC的频率值。 2. (10分) 图3为两级译码构成口地址译码电路,PS输出低电平为片选信号。试问 图3 图4 (1) 开关K上合,PS的寻址范围是________。(2) 开关K下合,PS的寻址范围是________。 (3) 开关K下合,A3改接B,A4改接A,则PS的寻址范围是________________。 (4) 请用二进制表示法写出图4的译码电路所决定的端口地址。 3. (20分) 某系统外接电路如图5,8255A口地址为2F0H~2F3H,请设计源程序,一次性 的测试开关的位置,当K闭合时,LED亮,K断开时LED灭(提示:C口高4位应为方式0输入,低4位为方式0输出)。 图5 CODE SEGMENT ASSUME CS:CODE BEG: ;C口初始化 ;读C口

微机原理课后习题答案

第二章 1.8086CPU由哪两部分组成?它们的主要功能是什么? 8086CPU由总线接口部件BIU和指令执行部件EU组成,BIU和EU的操作是并行的。 总线接口部件BIU的功能:地址形成、取指令、指令排队、读/写操作数和总线控制。所有与外部的操作由其完成。 指令执行部件EU的功能:指令译码,执行指令。 2.8086CPU中有哪些寄存器?各有什么用途? 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用来存放运算结果的特征,常用作后续条件转移指令的转移控制条件。 5.要完成下述运算或控制,用什么标志位判断?其值是什么? ⑴比较两数是否相等? 将两数相减,当全零标志位ZF=1时,说明两数相等,当ZF=0时,两数不等。 ⑵两数运算后结果是正数还是负数? 用符号标志位SF来判断,SF=1,为负数;SF=0,为正数。 ⑶两数相加后是否溢出? 用溢出标志位来判断,OF=1,产生溢出;OF=0,没有溢出。 ⑷采用偶校验方式。判定是否要补“1”? 用奇偶校验标志位判断,有偶数个“1”时,PF=1,不需要补“1”;有奇数个“1”时,PF=0,需要补“1”。 (5)两数相减后比较大小? ●ZF=1时,说明两数是相等的; ●ZF=0时: 无符号数时,CF=0,被减数大;CF=1,被减数小。 带符号数时,SF=OF=0或SF=OF=1,被减数大;SF=1,OF=0或SF=0,OF1,被减数小。 (6)中断信号能否允许? 用中断标志位来判断,IF=1,允许CPU响应可屏蔽中断;IF=0,不响应。 6.8086系统中存储器采用什么结构?用什么信号来选中存储体? 8086存储器采用分体式结构:偶地址存储体和奇地址存储体,各为512k。 用A0和BHE来选择存储体。当A0=0时,访问偶地址存储体;当BHE=0时,访问奇地址存储体;当A0=0,BHE=0时,访问两个存储体。 9.实模式下,段寄存器装入如下数据,写出每段的起始和结束地址 a)1000H 10000H~1FFFFH b)1234H 12340H~2233FH c)2300H 23000H~32FFFH d)E000H E0000H~EFFFFH e)AB00H AB000H~BAFFFH

微机原理试题及答案

微机原理试题及答案 Revised as of 23 November 2020

学年第学期微机原理及应用(A)课程试卷 卷16 班级姓名得分任课教师 一、选择题:(每题分,共18分) 1、DMAC向CPU发出请求信号,CPU响应并交出总线控制权后将( )。 反复执行空操作,直到DMA操作结束 进入暂停状态, 直到DMA操作结束 进入保持状态, 直到DMA操作结束 进入等待状态, 直到DMA操作结束 2、有一个实时数据采集系统,要求10ms进行一次数据采集,然后进行数据处理及显示输出,应 采用的数据传送方式为()。 无条件传送方式查询方式 中断方式直接存储器存取方式 3、在数据传送过程中,数据由串行变并行,或由并行变串行的转换可通过()来实现。 计数器寄存器移位寄存器 D触发器 4、8088 CPU输入/输出指令可寻址外设端口的数量最大可达()个。 128 256 16K 64K 5、CPU响应中断后,通过()完成断点的保护。 执行开中断指令执行关中断指令 执行PUSH指令内部自动操作 6、并行接口芯片8255A具有双向数据传送功能的端口是()。 PA口 PB口 PC口控制口 7、8088CPU处理动作的最小时间单位是()。 指令周期时钟周期机器周期总线周期

8.堆栈是内存中()。 先进先出的ROM区域后进先出的ROM区域 先进先出的RAM区域后进先出的RAM区域 9、计算机中广泛应用的RS-232C实质上是一种()。 串行接口芯片串行通信规程(协议) 串行通信接口标准系统总线标准 5--1 10、高速缓冲存储器(CACHE)一般是由()芯片组成。 SRAM DRAM ROM EPROM 11、鼠标器是一种()。 手持式的作图部件手持式的光学字符识别设备 手持式的座标定位部件手持式扫描器 12、传送速度单位“bps”的含义是()。 b ytes per second bits per second baud per second billion bytes per second 二、填空题:(每空1分,共12分) 1、CPU在响应中断后,自动关中。为了能实现中断嵌套,在中断服务程序中,CPU必须在 后,开放中断。 2、在计算机运行的过程中,有两股信息在流动,一股是,另一股则是。 3、指令MOV BX,MASK[BP]是以作为段寄存器。 4、指令REPE CMPSB停止执行时,表示找到或。 5、设CF=0,(BX)= 7E15H,(CL)= 03H,执行指令 RCL BX,CL后, (BX)= , (CF)=,(CL)=。 6、在8088 CPU中,一个总线周期是。 7、8253定时/计数器有个独立的16位计数器,每个计数器都可按二进制或 来计数。 三、程序设计(共40分)

微机原理答案 (1)

第1章微型计算机系统概述 1.1 学习指导 简要介绍了微型计算机系统的硬件组成和基本工作方法,以及微型计算机的软件和操作系统。要求了解计算机的硬件组成结构、Intel微处理器的主要成员、系统总线的概念。理解微型计算机的基本操作过程以及指令、程序等基本概念。理解操作系统的重要作用,掌握DOS基本命令的使用。 1.2 习题 1. 简述微型计算机系统的组成。 2. 简述计算机软件的分类及操作系统的作用。 3. CPU是什么?写出Intel微处理器的家族成员。 4. 写出10条以上常用的DOS操作命令。

第2章 计算机中的数制和码制 2.1 学习指导 介绍计算机中数制和码制的基础知识,主要包括各种进制数的表示法及相互转换、二进制数的运算、有符号二进制数的表示方法及运算时的溢出问题、实数的二进制表示法、BCD 编码和ASCII 字符代码等内容。要求重点掌握各种进制数的表示及相互转换、有符号数的补码表示及补码运算。 2.2 补充知识 1. 任意进制数的表示 任意一个数N 可表示成p 进制数: () ∑??==1n m i i i p p k N 其中,数N 表示成m 位小数和n 位整数。 1,,1,0?=p k i L 2. 数制之间的变换 十进制到任意进制(设为p 进制)的变换规则:(1)整数部分:N 除以p 取余数;(2)纯小数部分:N 乘以p 取整数。 任意进制(设为p 进制)到十进制的变换规则:按权展开。 3. 有符号数的补码表示 对于任意一个有符号数N,在机器字长能表示的范围内,可分两步得到补码表示:(1)取N 的绝对值,并表示成二进制数N1;(2)如果N 为负数,则对N1中的每一位(包括符号位)取反,再在最低位加1。这样得到的N1就是有符号数N 的补码表示。 4. 常用字符的ASCII 码 数字0~9:30H~39H;字母A~Z:41H~5AH;字母a~z:61H~7AH;空格:20H;回车(CR):0DH;换行(LF):0AH;换码(ESC):1BH。 2.3 习 题 1. 将下列十进制数转换成二进制数: (1)49;(2)73.8125;(3)79.75; 2. 将二进制数变换成十六进制数: (1)101101B ;(2)1101001011B ;(3)1111111111111101B ; (4)100000010101B ;(5)1111111B ;(6)10000000001B 3. 将十六进制数变换成二进制数和十进制数: (1)FAH ;(2)5BH ;(3)78A1H ;(4)FFFFH 4. 将下列十进制数转换成十六进制数: (1)39;(2)299.34375;(3)54.5625 5. 将下列二进制数转换成十进制数:

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