当前位置:文档之家› 西南科技大学--微机原理习题参考答案

西南科技大学--微机原理习题参考答案

西南科技大学--微机原理习题参考答案
西南科技大学--微机原理习题参考答案

第一章

2.计算机中存在的一个编码是00001001B,它代表什么?为什么?

·无符号数9

·原码+9,正数:与无符号数一致;负数:符号位为一,其它不变。

·反码+9,正数:与无符号数一致;负数:将对应原码按位取反,符号位与原码一致。

·补码+9. 正数:与无符号数一致;负数:将对应原码按位取反,符号位与原码一致,再加1.

9.微机的结构特点是什么?微机与通用计算机在工作原理上有什么联系和区别?

微机的显著特点是采用微处理器和总线结构。

联系:微机是最近20多年来依赖LSI、VLSI技术发展起来的通用计算机。

区别:

14 微处理器、微型计算机和微型计算机系统三者之间有什么不同?

将运算器与控制器集成在一起,称为微处理器。微处理器是微处理器的核心。

微型计算机是由微处理器、存储器、输入/输出接口电路和系统总线构成的裸机系统。

微型计算机系统是以微型计算机为主机,配上系统软件和外设之后而构成的计算机系统。

三者之间是有很大不同的,微处理器是微型计算机的一个组成部分,而微型计算机又是微型计算机系统的一个组成部分。

第二章

7.8086/8088和传统的计算机相比在执行指令方面有什么不同?这样的设计思想有什么优点? 8086CPU执行转移指令时,指令队列寄存器内容如何变化?

传统的计算机一般按照取指令、指令译码/执行指令的步骤工作。在8086/8088中,指令的提取与执行分别由总线接口部件BIU与执行部件EU完成,8086/8088可以在取指令同时又可以执行指令。

这种并行工作方式有力的提高了CPU的工作效率。

8086执行转移指令时,IP的内容变为转移指令指向的偏移地址。

注:IP存储的代码段CS的偏移地址,与CS一起构成程序计数器。程序计数器始终指向顺序存储的下一字节指令。但遇到控制程序流指令(如转移、调用、返回、循环和中断)时,改变程序计数器。

9. 将两数相加,即0100 1100B加0110 0101B,CF、PF、AF、ZF、SF、OF各为何值?

【答】0100 1100+0110 0101=10110001

CF=0,(若最高位进位或借位,则置1)

PF=1,(若有偶数个1,则置1)

AF=1,(若低4位进位或借位,则置1)

ZF=0,(若结果为0,则置1)

SF=1,(若最高位为1,则置1)

OF=0,(若有溢出,则置1)

11. 现有6个字节的数据分别为11H,22H,33H,44H,55H,66H,已知它们在存储器中的物理地址为400A5H~400AAH.若当前(DS)= 4002H,请说明它们的偏移地址值。如果要从存储器中读出这些数据,需要访问几次存储器,各读出哪些数据?

由于:物理地址=400A5H=段地址*16+偏移地址=40020H+偏移地址

偏移地址=400A5-40020=85H

从奇地址400A5H中读出:11H;从偶地址400A6H读出一个字:22H,33H;从偶地址400A8H读出一个字:44H,55H;从偶地址400AAH中读出:66H。共读4次。

2.1 8086 CPU在内部结构上由哪几部分组成?其功能是什么?

【答】8086的内部结构-成两部分:总线接口部件BIU,负责控制存储器读写。执行部件EU,EU从指令队列中取出指令并执行。

2.14 8086CPU的形成三大总线时,为什么要对部分地址线进行锁存?用什么信号控制锁存?

【答】为了确保CPU对存储器和I/O端口的正常读/写操作,要求地址和数据同时出现在地址总线和数据总线上。而在8086CPU中AD0--AD15总线是地址/数据复用的,因此需在总线周期的前一部分传送出地址信息,并存于锁存器中,而用后一部分周期传送数据。8086CPU中是通过CPU送出的ALE高电平信号来控制锁存的。

19.8086启动时有哪些特征?如何寻找8086系统的启动程序?

1.3 累加器和其他通用寄存器相比有何不同?

【答】累加器是比较特殊的通用寄存器。它在某些指令执行前,它可以保存一源操作数,还在执行后又用来保存运算结果,另外它一般也用来完成输入/输出指令。而通用寄存器则一般只用来保存参加运算的数据、运算的中间的结果以及用来保存地址。

1.3 微型计算机采用总线结构有什么优点?

【答】微型计算机的总线结构是一个独特的结构。有了总线结构以后系统中各功能部件之间的相互关系变为了各功能部件面向总线的单一关系。一个部件只要符合总线标准,就可以连接到采用这种总路线标准的系统中,使系统功能得到扩展。

1.4 控制总线传输的信号大致有哪几类?

【答】控制总线用来传输控制信号:其中包括CPU送往存储器和输入/输出接口电路的控制信号,如读信号、写信号和中断响应信号等;还包括其它部件送到CPU的信号,比如,时钟信号、中断请求和准备就绪信号。

1.5数据总线和地址总线在结构上有什么不同之处?如果一个系统的数据和地址合用一套总线【答】或者合用部分总线,那么要靠什么来区分地址和数据?

从结构上看数据总线是双向的,而地址总线从结构上看却是单向的。如果一个系统的数据总线和地址总线合用一套总线或者合用部分总线,一般可利用时钟,在总线上采用分时复用技术来区分地址和数据,例如可在总线周期的若干个时钟周期,约定某周期传输地址、在另一周期传输数据。

习题二 IA-32结构微处理器

主要内容:主要介绍8086/8088CPU内部结构。了解80X86CPU的特点。

2.1 8086 CPU在内部结构上由哪几部分组成?其功能是什么?

【答】8086的内部结构-成两部分:总线接口部件BIU,负责控制存储器读写。执行部件EU,EU从指令队列中取出指令并执行。

2.2 8086的总线接口部件有那几部分组成?

【答】8086的总线接口部件主要由下面几部分组成:4个段寄存器CS/DS/ES/SS, 一个16位的指令指针寄存器IP, 一个20位地址加法器, 6字节的指令队列,内部暂存器以及输入输出电路组成.

2.3 8086的执行部件有什么功能?由那几部分组成?

【答】8086的执行部件主要由下面几部分组成:(1)四个16位通用寄存器AX、BX、CX、DX, 通用四个16位专用寄存器,包括二个指针寄存器SP、BP, 二个变址寄存器SI、DI, 算术逻辑单元ALU,标志寄存器。

2.4 8086CPU状态标志和控制标志又何不同?程序中是怎样利用这两类标志的? 8086的状态标志和控制标志分别有哪些? 【答】标志分两类:状态标志(6位):反映刚刚完成的操作结果情况。控制标志(3位):在某些指令操作中起控制作用。

2.7 存储器的逻辑地址由哪几部分组成?存储器的物理地址是怎样形成的?一个具有20位地址线的CPU,其最大物理地址为多少?

【答】存储器的逻辑地址由段地址与段内偏移地址组成。存储器的物理地址:将16位段地址左移4位后加上16位段内偏移地址,形成20位物理地址。一个具有20位地址线的CPU,其最大物理地址为=1MB。

2.9 已知当前数据段中存有如下图所示的数据,现要求将最后两个字节改成ODH,OAH,请说明需给出的段基值和偏移地址值,并说明其写入过程。

【答】数据段段地址=150AH,偏移地址=0004H。CPU的总线接口部件根据数据段寄存器的内容150AH,左移4位,在加上偏移地址0004H,形成20位物理地址150A4H,由总线接口送出,选中物理存储单元150A4H、150A5H,数据0DH通过数据总线送入150A4H,数

据0AH通过数据总线送入150A4H。

2.10 在8088/8086中,逻辑地址FFFF∶0001, 00A2∶37F和B800∶173F的物理地址分别是多少?

2.11 在8088/8086中,从物理地址388H开始顺序存放下列三个双字节的数据,651AH, D761H和007BH,请问物理地址388H, 389H, 38AH, 38BH, 38CH和38DH 6个单元中分别是什么数据?

2.12 8086/8088内部有哪些通用寄存器?

2.13 8086/8088 内部有几个段寄存器,阐述各段寄存器的用途?

2.15 段寄存器CS=1200H,指令指针寄存器IP=4000H,此时,指令的物理地址为多少?指向这一物理地址的CS值和IP值是唯一的吗?

【答】此时,指令的物理地址为16000H;这一物理地址的CS值和IP值不是唯一的,例如:CS=1000H,IP=6000H。

(2. 80386CPU-选择教学内容)

2.14 80386最重要的技术特点是什么?

【答】①速度大大提高:时钟达12MHZ/16MHZ,②寻址空间大大扩展:4GB物理空间,64GB虚拟空间,③除了保持80286的实地址方式和保护方式外,增加了虚拟8086方式④80386设置了转换检测缓冲器,大大加快了存储器访问速度。

2.15 虚拟8086方式有什么特色?为什么要设置这种方式?

【答】①可以执行8086的应用程序。②段寄存器的用法和实地址方式时一样,即段寄存器内容左移4位加上偏移量为线性地址。③存储器寻址空间为一兆字节,然而可以使用分业方式,将一兆字节分为256个业面,每页4K字节。在80386多任务系统中,可以其中一个或几个任务使用虚拟8086方式。此时,一个任务使用的全部页面可以定位于某个物理地址空间,另一个任务的页面可以定位于其他区域,即每个虚拟8086方式下的任务可以转换到物理存储器的不同位置,这样,把存储器虚拟化了,虚拟8086方式的名称正是由此而来。④虚拟8086方式中,程序在最低特权级上运行,因此,80386指令系统中的一些特权指令不能使用。

虚拟8086方式是80386中很重要的设计特点,他可以使大量的8086软件有效的与80386保护方式下的软件并发运行。

2.16 80386的实地址方式用于什么时候?为什么说它是为建立保护方式作准备的方式?实地址工作方式有什么特点?【答】80386的实地址方式用于为80386进行初始化用的。常常在实地址方式,为80386保护方式所需要的数据结构做好各种配置和准备,因此,这是一种为建立保护方式作准备的方式。实地址工作方式的特点:1、寻址机构、存储器管理、中断处理机构均和80386一样。2、操作数默认长度为16位,但允许访问80386的32位寄存器组,在使用是,指令中要加上前缀以表示越权存取。3、不用虚拟地址的概念存储器容量最大1M字节。4、实地址方式下,存储器中保留两个固定区域,一个为初始化程序区,另一个为中断向量区。5、80386具有4个特权级,实地址方式下,程序在最高级(0级)上执行。

2.17 80386采用拿几种描述符表?这些表的设置带来什么优点?

【答】80386共设计三中描述符表即:全局描述符表,局部描述符表,中断描述浮表。采用描述符表带来如下三方面的优点:1.可以大大扩展存储空间;2.可以实现虚拟存储;3.可以实现多任务隔离。

2.18 80386在3种工作方式下,"段"的长度有什么差别?

实地址方式:段的大小固定64K字节;保护方式:段的大小是可以选择的,1字节到4千兆字节;虚拟8086方式:对程序员来说,段长度固定为64K。

2.19 Intel86系列CPU是从哪一种芯片开始采用RISC技术的?你能说说RISC技术最重要的特点和优点吗?

【答】80486是首次采用RISC技术的。80486把80386和浮点运算协处理器80387及8KB的超高速缓存器集中到一个芯片中,且支持二级Cache。80486能在一个时钟周期执行一条指令。

2.20 80486和80386相比,有什么技术特点?

【答】①80486是首次采用RISC技术的;②采用片内高速缓存和片内浮点运算协处理器;③80486采用一种突发式总线方式实现CPU和内存的高速数据交换;④80386可以模拟多个8086来实现多任务功能。

2.21 80386SL和80486SL芯片有什么特点?主要用于什么场合?

【答】①80386SL不但具有80386的三种工作方式,还增加了一种系统管理方式(SMM),在这种方式,CPU会根据不同的使用环境自动减速运行或停止运行,还可以控制其他部件停止工作,从而使微机系统的功耗最小。②80386SL采用静态CMOS工艺制造技术。80486SL和80386SL类似,采用SMI中断以减少功耗,用于便携机。

2.22 Pentium有哪些技术特点?你认为在Pentium基础上主要应从哪几个方面可再作改进?

【答】①采用超标量双流水线结构,每个流水线包含5个步级。②内部采用2个彼此独立的8KB数据高速缓存,这两个高速缓存可以同时被访问。③Pentium内部数据总线为32位,但是cpu和内存进行数据交换的外部数据总线为64位,使一个总线周期的数据传输量提高一倍。④采用36位地址总线,扩展了寻址空间。⑤对mov.push.dec.inc等常用指令不用微程序而用硬件实现;⑥采用分支预测技术提高流水线效能。⑥采用分支预测技术提高流水线效能。⑦浮点运算执行过程分为8个流水步级。pentium也存在一些缺点,如功耗大,达15w,浮点运算功能仍低于一些RISC处理器。

习题三 8086指令系统

主要内容:8086指令系统。主要介绍8086的基本数据类型、寻址方式和指令系统,重点掌握8086指令系统的寻址方式、堆栈操作指令、算术运算指令及其对标志位的影响,串操作指令,控制传送指令。

3.1 下面这些指令哪些是正确的?哪些是错误的?如是错误的,请说明原因。

XCHG CS,AX (′)

MOV [BX],[1000] (′)

PUSH CS (?)

POP CS (′)

IN BX,DX (′)

3.2 单选题:

(1)执行下面指令序列后,结果是( )。

MOV AL,82H

CBW

A、AX=0FF82H

B、AX=8082H

C、AX=0082H

D、AX=0F82H

【答】A

(2)与MOV BX,OFFSET V AR指令完全等效的指令是( )。

A、MOV BX,VAR

B、LDS BX,V AR

C、LES BX,V AR

D、LEA BX,V AR

【答】D

(3)编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令有

A、CMP

B、SUB

C、AND

D、MOV

【答】D

(4)下面指令执行后,改变AL寄存器内容的指令是( )。

A、TEST AL,02H

B、OR AL,AL

C、CMP AL,B

D、AND AL,BL

【答】D

设DH=10H,执行NEG DH指令后,正确的结果是( )

A、DH=10H CF=1

B、DH=0F0H CF=0

C、DH=10H CF=0

D、DH=0F0H CF=1

【答】D

(6)设DS=8225H,DI=3942H,指令NEG BYTE PTR[DI]操作数的物理地址是( )。

A、85B92H

B、86192H

C、BB690H

D、12169H

【答】A

(7)检查BUF的内容是否为正偶数,如是正偶数,则0TAL。下面程序段正确的是( )。

A、MOV AL,BUF

JS K1

SHR AL,1

JNC K1

MOV AL,0

K1:……

B、MOV AL,BUF

AND AL,11

JNZ K2

MOV AL,0

K2:……

C、MOV AL,BUF

TEST AL,81H

JNZ K3

MOV AL,0

K3:……

D、MOV AL,BUF

JNP K4

TEST AL,80H

JNZ K4

MOV AL,0

K4:……

【答】C

(8)下列指令中,执行速度最快的是()。

A、MOV AX,100

B、MOV AX,[BX]

C、MOV AX,BX

D、MOV AX,[BX+BP]

【答】C

3.3 已知(DS)= 091DH,(SS)= IE4AH,(AX)= 1234H,(BX)= 0024H,(CX)= 5678H,(BP)= 0024H,(SI)= 0012H,(DI)= 0032H,[09226]= 00F6H,[09228]=1E40H,

[lE4F6]=091DH,试求单独执行下列指令后的结果?

(l)MOV CL ,20H [BX][SI];

【答】由于源操作数有效地址EA=20H+0024H+0012H=0056H,

其物理地址PA=DS*16+EA=091DH*16+56H=09226H, 因此(CL)= F6H

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

【答】由于目的操作数有效地址EA= 0024H+0032H=0056H,

目的操作数物理地址PA= SS*16+EA=1E4A0H+0056H=1E4F6H, 因此[1E4F6]=5678H

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

MOV AX ,2[BX]

【答】第一条指令:源操作数物理地址PA=091D0H+(20+0024H+0012H)=09226H,因此(BX)=0056H 第二条指令:源操作数物理地址PA=091D0H+(2+0056)=09928H, 因此(AX)=1E40H

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

MOV [SI],BX

【答】第一条指令: 源操作数物理地址PA=091D0H+(0024H+0032H)=09226H

因此(SI)= 00F6H, (DS)=1E40H

第一条指令:目的操作数物理地址PA=1E400H+00F6H=1E4F6H

因此1E4F6H单元的内容为0024H, 即[1E4F6H]=0024H

(5)XCHG CX,32H[BX]

XCHG 20[BX][SI] ,AX

【答】同理可得:(CX)= 00F6H(AX)= 00F6H,[ 09226H]= 1234H

3.4 8086 CPU执行如下指令后

MOV AL,01100100B

SUB AL,58H ;(AL)=0CH,AF=1,CF=0

DAS ;(AL)=06 ,AF=1,CF=0

【答】首先用TD调试验证上面的结果;自己定义两个数据,重新验证,写出结果。

3.5 设(IP)= 3D8F H,(CS)= 4050H,(SP)= 0F17C H,当执行CALL 2000:0094H后,试求出IP、CS、SP、[SP]、[SP+1][SP+2]和[SP+3]的内容?

【答】(IP)=0094H ,( CS)=2000H ,(SP)=F178H

[SP]=8FH , [SP+1]=3DH , [SP+2]=50H, [SP+3]=40H

3.6 设(DS)= 2000H,(BX)= 1256H,(SI)= 528FH,TABLE的偏移量= 20A1H,[232F7H]=3280H,[ 264E5H] = 2450H,执行下述指令

(1)JMP BX ;IP= 1256H

(2)JMP TABLE[BX];IP= 3280H

(3)JMP [BX][SI] ;IP= 2450H

3.7 分别用一条语句实现下述指明的功能

(1)栈顶内容弹出送字变量DI。(POP DI)

(2)双字变量AYD存放的地址指针送ES和SI。(LES SI ,AYD )

(3)不允许中断即关中断。(CLI)

(4)子程序返回调用程序。(RET)

(5)AX的内容加1,要求不影响CF。(INC AX )

(6)BX的内容加1,要求影响所有标志位。(ADD BX, 1)

(7)若操作结果为零转向标号GOON。(JZ GOON)

3.8 8086/8088用什么途径来更新CS和IP的值?

【答】执行CALL、JMP、INT指令,可以改变CS和IP中的值,即改变程序走向。

3.9 字节扩展指令和字扩展指令用在什么场合?举例说明。

【答】需要对带符号数字节扩展为字时,要预先执行CBW指令。需要对带符号数字扩展为双字时,要预先执行CWD。【答】例:求-503/267=?,将商存1000H单元.

MOV AX,-503

MOV BX,267

CWD

IDIV

MOV [1000H],AX

HLT

3.10 设DS=2100H,SS=5200H,BX=1400H,BP=6200H,说明下面两条指令所进行的具体操作:

MOV WORD PTR [BP], 2000

MOV WORD PTR [BX], 2000

3.11 以下是格雷码的编码表

0——0000 ,1——0001 ,2——0011,3——0010,4——0110

5——0111 ,6——0101,7——0100,8——1100,9——1101

请用换码指令和其他指令设计一个程序段,实现格雷码往ASCII的转换。

TABLE SEGMENT

TAB_DA DB 30H,31H,33H,32H,37H,36H,34H,35H,0,0

DB 0,0,38H,39H

GRA DB 05H

ASCII_DA DB ?

TABLE ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:TABLE

START: MOV AX,TABLE

MOV DS,AX

MOV BX,OFFSET TAB_DA

MOV AL,GRA

XLAT

MOV ASCII_DA,AL

CODE ENDS

END START

3.12 8086状态标志寄存器中,作为控制用的标志位有(3 )个,其中,不可用指令操作的是(DF、IF、TF)

3.13 设当前的SP=1000H,执行PUSHF指令后,SP=(0FFE H),若改为执行INT 20H指令后,则SP=(0FFA H)。

【答】执行PUSHF指令后,SP=(0FFE H)。执行INT 20H指令后,则SP=(0FFA H)。

3.14 设当前SS=2010H,SP=FE00H,BX=3457H,计算当前栈顶的地址为多少?当执行PUSH BX 指令后,栈顶地址和栈顶2个字节的内容分别是什么?

【答】当前栈顶指针(SP)=2FF00H,物理地址=20100H+FE00H=2FF00H

当执行PUSH BX 指令后,栈顶指针(SP)=FE00-2=FDFEH,栈顶物理地址=2FDFEH,栈顶2个字节的内容分别57H,34H。

3.15 HLT指令用在什么场合?如CPU 在执行HLT 指令时遇到硬件中断并返回后,以下应执行哪条指令?

【答】HLT用在使CPU处于暂停状态而等待硬件中断的场合。

在执行HLT指令遇到硬件中断并返回后将执行HLT后面的一条指令。

3.16 为什么用増量指令或减量指令设计程序时,在这类指令后面不用进位标志作为判断依据?

【答】増量指令或减量指令不影响进位标志CF。

3.17 用普通运算指令执行BCD码运算时,为什么要进行十进制调整?具体讲,在进行BCD码的加、减、乘、除运算时,程序段的什么位置必须加上十进制调整指令?

【答】在BCD码中,采用4位二进制数对一个十进制数的编码,只允许0-9这10个数字出现,但CPU运算结果一般会超过此范围,因此要进行十进制调整。进行加、减法或乘法运算时,调整指令必须紧跟在算术指令后面,在进行除法运算时,调整指令放在除法指令之前。

3.18 中断指令执行时,堆栈的内容有什么变化?中断处理子程序的人口地址是怎样得到的?

【答】中断指令执行时,堆栈内容变化如下:标志寄存器被推入堆栈,且SP减2,然后CPU将主程序的下一条指令地址即断点地址推入堆栈,即段值CS推入堆栈且SP减2,偏移量推入堆栈,且SP减2。中断处理子程序的入口地址即中断向量,对应的中断类型号的4倍即为中断向量地址,在该地址处的4个字节内容,高地址单元两个字节为中断入口地址的段地址,低地址单元两个字节为中断入口地址的偏移地址。

3.19 中断返回指令IRET和普通子程序返回指令RET 在执行时,具体操作内容什么不同?

【答】IRET从堆栈中依次弹出断点处指令指针IP、代码段CS内容与标志寄存器的值,而RET从堆栈中依次弹出断点处

指令指针IP值、代码段CS内容,不需要弹出标志寄存器的值。

3.20 将存放在0A00H单元和0A02H单元的两个无符号数相乘,结果存放在地址为0A04H开始的单元中。【答】参考程序:

MOV AL,[0A00H]

MOV BL,[0A02H]

MUL BL

MOV [0A04],AX

3.21 编程序将AX中数,最高位保持不变,其余全部左移4位。

【答】参考程序:

MOV BX, AX

AND BX , 8000H

MOV CL, 4

SHL AX, CL

AND AX,7FFFH

OR AX, BX

3.22 将0400H单元中的数,低4位置零,高4位保持不变。

【答】参考程序:

MOV AL, [0400H]

AND AL, 0F0H

MOV [0400H], AL

3.23 将BX中的数,对高位字节求反,低位字节保持不变。

【答】参考程序:NOT BH

3.24 检测Bx中第13位(D13),为0时,把AL置0,为1时,把AL置1。

【答】参考程序:

TEST BX,0010 0000 0000 0000B

JZ ZERO

MOV AL,01H

HLT

ZERO: MOV AL,0

HLT

3.25 利用字串操作指令,将1000H~10FFH单元全部清零。

【答】参考程序:

CLD

MOV DI,1000H

MOV CX,100H

MOV AL,0

REP STOSB

3.26 从1000H开始,存放有200个字节,要查出字符#(ASCII码为23H), 把存放第一个#的单元地址送入BX中。【答】参考程序:

CLD

MOV DI,1000H

MOV CX,200

MOV DX,CX

MOV AL,23H

REPNZ SCASB

JZ FIND

JMP NOFOUND

FOUND: DEC DI

MOV BX,DI

NOFOUND: HLT

3.27 编程计算((X+Y)*10)+Z)/X,X、Y、Z都是16位无符号数,结果存在RESULT开始的单元。

【答】参考程序:

MOV AX,X

ADD AX,Y

MOV BX,0AH

MUL BX

ADD AX,Z

ADC DX,0H

MOV BX,X

DIV BX

MOV RESULT,AX

MOV RESULT+2,DX

HLT

3.28 用简单指令编程求-3/2=?,将商存DL,余数存DH单元。用TD调试后,写出DL,DH的内容。

【答】参考程序:

MOV AL,-3

CBW

MOV BL,2

IDIV BL

MOV DL,AL

MOV DH,AH

HLT

习题四汇编语言程序设计

主要内容:汇编语言程序设计。主要介绍汇编语言程序的设计方法与编程原理,重点掌握算术运算程序、字符串处理程序、码制转换程序、子程序设计程序、常用DOS和BIOS功能调用程序、汇编语言常用伪指令。

4.1 分析执行下列指令序列后的结果:

1)MOV AX,1234H

MOV BX,00FFH

AND AX,BX

【答】(AX)=0034H

2)MOV AL,01010101B

AND AL,00011111B ;(AL)=00010101B

OR AL,11000000B ;(AL)=11010101B

XOR AL,00001111B ;(AL)=11011010B

NOT AL

【答】(AL)=00100101B

3)MOV DL,05H

MOV AX,0A00H

MOV DS,AX

MOV SI,0H

MOV CX,0FH

AGAIN: INC SI

CMP [SI],DL

LOOPNE AGAIN

HLT

本程序实现了什么功能?

【答】在以0A001H开始的15个单元中查找05H。

4)MOV AX,DSEGADDR

MOV DS, AX

MOV ES,AX

MOV SI, OFFSET B1ADDR

MOV DI,OFFSET B2ADDR

MOV CX,N

CLD

REP MOVSB

HLT

本程序实现了什么功能?

【答】将B1ADDR中N个字节数据传送到B2ADDR开始的15个存储单元。

5)MOV AX, 0H

MOV DS,AX

MOV ES, AX

MOV AL,05H

MOV DI,0A000H

MOV CX,0FH

CLD

AGAIN: SCASB

LOOPNE AGAIN

HLT

本程序实现了什么功能?

【答】从地址0A000H开始的15个单元中查找字节型数据05H,用条件循环LOOPNZ,控制数据05H的查找。

4.2 阅读程序:

1). CLD

LEA DI,[0100H]

MOV CX, 0080H

XOR AX, AX

REP STOSW

本程序实现了什么功能?

【答】将DS中起始地址为0100H的128个字节单元清零。

2).MOV AL, 08H

SAL AL,01H ;(AL)=00010000H

MOV BL, AL

MOV CL ,02H

SAL AL,CL ;(AL)=01000000H

ADD AL,BL ;(AL)=01010000H

本程序实现了什么功能?

【答】将AL中的内容乘以10。

4.3 试分析下列程序完成什么功能?

MOV DX,3F08H

MOV AH,0A2H

MOV CL,4

SHL DX,CL ;(DX)=F080H

MOV BL,AH

SHL BL,CL ;(BL)=20H

SHR BL,CL ;(BL)=02H

OR DL,BL ;(DL)=82H

【答】将DX中的低4位数据8H分离出来,将AH中的低4位数据2H分离出来,合并为82H存放在DL。

4.4 已知程序段如下:

MOV AX,1234H

MOV CL,4

ROL AX,CL

DEC AX

MOV CX,4

MUL CX

试问:(1)每条指令执行后,AX寄存器的内容是什么?(2)每条指令执行后,CF,SF及ZF的值分别是什么?(3)程序运行结束时,AX及DX寄存器的值为多少?

【答】MOV AX,1234H ; (AX)=1234H, CF=SF=ZF=0

MOV CL,4

ROL AX,CL ; (AX)=2341H ,CF=1,SF=ZF=0

DEC AX ; (AX)=2340H, CF=1,SF=ZF=0

MOV CX,4 ;

MUL CX ;(AX)= 8000H ,CF=ZF=0,SF=1,DX=0

4.5 试分析下列程序段:

ADD AX,BX

JNC L2

SUB AX,BX

JNC L3

JMP SHORTL5

如果AX、BX的内容给定如下:

AX BX

(1)14C6H 80DCH (程序转向L2)

(2)B568H 54B7H (程序转向SHORTL5 )

问该程序在上述情况下执行后,程序转向何处?

【答】(1) 程序转向L2。(2) 程序转向SHORTL5。

4.6 以下为某个数据段,试问各个变量分别占多少字节,该数据段共占多少字节?

DATA SEGMENT

V AR1 DW 9 ;2字节

V AR2 DD 10 DUP(?),2 ;44字节

V AR3 DB 2 DUP(?,10 DUP(?)) ;22字节

V AR4 DB ‘HOW ARE YOU' ;11字节

DATA ENDS

【答】该数据段共占79字节。

4.7 下列语句在存储器中分别为变量分配多少字节空间?并画出存储空间的分配图。

V AR1 DB 10,2 ;2字节

V AR2 DW 5DUP(?),0 ;12字节

V AR3 DB ‘HOW ARE YOU?',‘$' ;13字节

V AR4 DD -1,1,0 ;2字节

4.8 编写一段程序,比较两个5字节的字符串OLDS和NEWS,若相同,在RESULT置0,否则置0FFH。【答】参考程序:

OLDS DB 1,2,3,4,5

NEWS DB 1,2,3,4,5

RESULT DB ?

MOV SI,OFFSET OLDS

MOV DI,OFFSET NEWS

MOV CX,10

CLD

REP CMPSB

JNZ NOEQU ;串不相等转

MOV AL,0

JMP OUTPT

NOEQU: MOV AL,0FFH

OUTPT: MOV RESULT,AL

STOP: JMP STOP

4.9 编程求和Y=A1 + A2 + …. + A100 。其中Ai为字节变量。

【答】

DA TA SEGMENT

TABLE DW 12,3,45,..

Y AL DW ?

Y AH DW ?

DA TA ENDS

………

MIAN PROC FAR

PUSH DS

MOV AX, 0

PUSH AX

MOV AX, DATA

MOV DS, AX

MOV DX,0

XOR AX, AX ;清AX

MOV BX, OFFSET TABLE

MOV CX, 4

CLC

LP: ADD AX, [BX] ;求和

JNC DON

INC DX

CLC

DON: INC BX

INC BX ;指向下一个数

LOOP LP ;未加完,继续

MOV YAL,AX ;存和

MOV YAH,DX

MAIN ENDP

CODE ENDS

END START

4.10 内存中以FIRST和SECOND开始的单元中分别存放着两个16位组合的十进制(BCD码)数,低位在前。编程序求这两个数的组合的十进制和,并存到以THIRD开始的单元。

【答】参考程序:1325+9839=?

DA TA SEGMENT

FIRST DB 05H,02H,03H,01H ;

SECOND DB 09H,03H, 08H,09H;

THIRD DB 20 DUP (?)

DA TA ENDS

STACK SEGMENT

ST1 DB 100 DUP (‘SA’)

TOP1 EQU LENGTH ST1

STACK ENDS

CODE SEGMENT

ASUMME CS:CODE,DS:DA TA,SS:STACK

MAIN PROC FAR

START: MOV AX, DAT ;初始化数据段

MOV DS, AX

MOV AX, STACK ;初始化堆栈段

MOV SS, AX

MOV AX, TOP1

MOV SP, AX

MOV CX, 4 ;计算4次

MOV SI , OFFSET DAT2 ;取数据地址

MOV DI , OFFSET SUM ;取结果地址

MOV AH, 00H ;将暂存标志的AH清0

DON1: MOV AL, [BX] ;取第一个数

SAHF ;将AH中的标志送标志寄存器

ADC AL, [DI] ;与第二个数带进位加

AAA ;十进制校正

LAHF ;将标志寄存器内容送AH

OR AL, 30H ;计算值拼成ASCII码

MOV [DI], AL ;存结果的ASCII码

INC BX ;指向第一个数的下一位

INC SI ;指向第二个数的下一位

INC DI ;指向结果单元的下一位

LOOP DON1 ;未计算完,继续

AND AH, 01H ;将最高位的进位标志送AH

OR AH, 30H ;最高位的进位位拼成ASCII码

MOV [DI], AH ;存结果的最高位

MOV AH, 02H ;调用DOS的02H功能显示

MOV CX, 05H ;显示数据的位数

DON2: MOV DL,[DI] ;显示数据送DL

INT 21H ;显示

DEC DI ;显示数据所在存储单元加一

LOOP DON2 ;未显示完,继续

MOV AH, 4CH ;返回DOS

INT 21H

RET

MAIN ENDP

CODE ENDS

END START

4.11 试编程序,统计由40000H开始的16K个单元中所存放的字符“A“的个数,并将结果存放在DX中。【答】参考程序

DA TA SEGMENT

DA TA1 DB 'DFASFAAAFDFAAFFFA'

COUNT EQU $-DATA1

DA TA ENDS

STACK SEGMENT

STA DB 100 DUP (?)

TOP EQU LENGTH STA

STACK ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DA TA,SS:STACK

BEGIN: MOV AX,DATA

MOV DS,AX

MOV AX,STACK

MOV SS,AX

MOV AX,TOP

MOV SP,AX

MOV CX,COUNT

MOV DX,0

LEA SI,DATA1

MOV BL,'A'

NEXT : CMP [SI],BL

JNZ OTHER

INC DX

OTHER: INC SI

LOOP NEXT

CODE ENDS

END BEGIN

4.12 统计数据块中正数与负数的个数,并将正数与负数分别送到两个缓冲区。

【答】

BLOCK DB -1,-3,5,6,-2,0,20,10

PLUS_D DB 8 DUP(?) ;正数缓冲区

MINUS_D DB 8 DUP(?) ;负数缓冲区

PLUS DB 0

MINUS DB 0

MOV SI,OFFSET BLOCK

MOV DI,OFFSET PLUS_D

MOV BX,OFFSET MINUS_D

MOV CX, 8 ;数据个数送X

GOON: LODSB ;AL←[SI]

TEST AX, 80H

JNZ JMIUS ;为负数,转

INC PLUS ;正数个数加一

STOSB ;[DI] ←AL,传正数

JMP AGAIN

JMIUS: INC MINUS ;负数个数加一

XCHG BX, DI

STOSB ;送负数到缓冲区

XCHG BX, DI

AGAIN: DEC CX

JNZ GOON

4.13 编写一个子程序将AX中的十六进制数,转换成ASCII码, 存于ADR开始的四个单元中。

提示:1)、AX中的数从左到右,转换成ASCII码,用循环左移ROL和AND指令,把提出的一个十六进制数置BL中;

2)、0 ~ 9 的ASCII码:30 ~ 39H,A ~ F 的ASCII码:41H ~ 46H。

(先把每个数加30H,判断是否为数字0 ~ 9?若是A ~ F,再加07H,得字母的ASCII码。)

【答】参考程序:

DA TA SEGMENT

ADR DB 4 DUP(?)

DA TA ENDS

CODE SEGMENT

MAIN PROC FAR

ASSUME CS:CODE,DS:DATA

START: MOV AX,7EC3H ;假设ax中存放7ec3h

LEA SI,ADR

MOV DL,4

AGAIN:

MOV BX,AX

AND BX,000FH

ADD BL,30H

CMP BL,'9'

JG ADUST

JMP STORE

ADUST: ADD BL ,07H

STORE: MOV [SI],BL

INC SI

MOV CL,4

ROL AX,CL

DEC DL

JNZ AGAIN

MAIN ENDP

CODE ENDS

END START

4.14 编写一个子程序将AX中的2进制数,转换成10进制ASCII码, 存于ADR开始的五个单元中。

【答】参考程序:

BIN EQU 5555H;假设二进制数为5555H

DA TA SEGMENT

ADR DB 4 DUP(?)

DA TA ENDS

STACK SEGMENT

STA DB 100 DUP (?)

TOP EQU LENGTH STA

STACK ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DA TA,SS:STACK

START: MOV AX,DA TA

MOV DS,AX

MOV AX,STACK

MOV SS,AX

MOV AX,TOP

MOV SP,AX

MOV AX,BIN

LEA BX,ADR

MOV CX,10000D

CALL BINTODEC

MOV CX,1000D

CALL BINTODEC

MOV CX,100D

CALL BINTODEC

MOV CX,10D

CALL BINTODEC

MOV CX,01D

CALL BINTODEC

MOV AX,04CH ;返回DOS

INT 21H

MAIN ENDP

;十进制转二进制,完成一位运算,十进制存于ax中,结果存于bx所指向的地址中

BINTODEC PROC NEAR

MOV DX,0

DIV CX

ADD AL,30H

MOV [BX],AL

MOV AX,DX

INC BX

RET

BINTODEC ENDP

CODE ENDS

END START

4.15 编写一个子程序,对AL中的数据进行偶校验,并将经过校验的结果放回AL中。

【答】参考程序:

JIAOY AN PROC FAR

MOV AL,1001110B

OR AL, AL

JNP NEXT

MOV AL,0

JMP DONE

NEXT: MOV AL,1

DONE: MOV AH,04CH

INT 21H

JIAOY AN ENDP

4.16 从2000H单元开始的区域,存放100个字节的字符串,其中有几个$符号(ASCII 码为24),找出第一个$符号,送AL 中,地址送BX。

【答】参考程序:

SEARCH PROC FAR

MOV DI,2000H

MOV CX,100

MOV AL,24H

CLD

REPNZ SCASB

JNZ STOP

DEC DI

MOV BX,DI

MOV AL,[DI]

STOP: RET

SEARCH ENDP

4.17 用串操作指令实现:先将100H个数从2170H单元处搬到1000H单元处,然后从中检索等于AL中字符的单元,并将此单元换成空格字符。

【答】参考程序:

MOV AL,24H

MOV SI,2170H

MOV DI,1000H

MOV CX,100H

CLD

DO: REP MOVSB

MOV DI,1000H

MOV CX,100H

CLD

REPNZ SCASB

DEC DI

MOV [DI],20H

INC DI

CMP CX,0

JNZ DO

HLT

4.18 从60H个元素中寻找一个最大的值,并放到AL中,假设这60个元素放在DATA1开始的单元中。

【答】参考程序:

DA TA SEGMENT

DA TA1 DB 0,1,2,3,4,5,6,7,8,9 ;

DA TA ENDS

STACK SEGMENT

STA DB 20 DUP (?)

TOP EQU LENGTH STA

STACK ENDS

CODE SEGMENT

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

START: MOV AX,DATA

MOV DS,AX

MOV AX,STACK

MOV SS,AX

MOV AX,TOP

MOV SP,AX

MOV CX,10

MOV AL,0

LEA BX,DATA1

AGAIN: CMP AL,[BX]

JGE NEXT ;大于等于转移

MOV AL,[BX]

NEXT : INC BX

LOOP AGAIN

MOV AH,4CH

INT 21H

CODE ENDS

END START

4.19 排序程序设计: 把表中元素按值的大小升序排列。要求显示排序前和排序后的数据。【答】参考程序:

DA TA SEGMENT

TAB DB '8095554'

N=$-TAB

OK DB 0DH,0AH,'OK!$'

DA TA ENDS

STACK SEGMENT

STA DB 20 DUP(?)

TOP EQU LENGTH STA

STAC ENDS

CODE SEGMENT

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

STAR: MOV AX,DATA

MOV DS,AX ;初始化数据段

MOV AX,STACK

MOV SS,AX

MOV AX,TOP

MOV SP,AX

CALL ARRAY

DO: MOV AH,4CH

INT 21H ;返回DOS

ARRAY PROC NEAR

PUSH AX

PUSH BX

PUSH CX

PUSH DX

MOV DL,N-1 ;置外循环次数

MOV DH,1 ;设有交换标志

XOR BX, BX

UPPER: OR DH,DH ;

JZ DISP ;无交换,已排好序,退出

MOV DH,0 ;无交换

MOV CX,N-1

SUB CX,BX ;CX=CX-I内循环次数

MOV SI,0 ;指向表首

INNER: MOV AL,TAB[SI] ;字符送AL

INC SI ;指向下个字符

CMP AL,TAB[SI] ;比较表中相邻字符

JBE DON ;小于

XCHG AL,TAB[SI] ;否则交换,大字符下

MOV TAB[SI-1],AL ;小字符上浮

MOV DH,1 ;有交换,DH=1

DON: LOOP INNER ;内循环结束?CX-1

INC BX ;一次内循环完成,加一

DEC DL ;外循环次数减一

CMP DL,0

JNZ UPPER ;外循环次数非零,继续

DISP: MOV DX,OFFSET TAB

MOV AH,09H

INT 21H ;显示排好序的字符

POP DX

POP CX

POP BX

POP AX

RET

ARRAY ENDP

CODE ENDS

END STAR

4.20 编写一段程序,接收从键盘输入的10个数,输入回车符表示结束,然后将这些数加密后存于BUFF缓冲区中。加密表为:输入数字:0,1,2,3,4,5,6,7,8,9;密码数字:7,5,9,1,3,6,8,0,2,4。

【答】参考程序:

DA TA SEGMENT

TABLE DB 7,5,9,1,3,6,8,0,2,4;密码表

BUFF DB 10 DUP(?) ,'$'存放转换数字的缓冲区

DA TA ENDS

STACK SEGMENT

STA DB 20 DUP(?)

TOP EQU LENGTH STA

STACK ENDS

CODE SEGMENT

MOV AX,STACK

MOV SS,AX

MOV DI , OFFSET BUFF

LEA BX , TABLE

MOV CX,0DH

RE1: MOV AH , 1 ;从键盘输入

INT 21H

CMP AL,0DH

JZ DONE

SUB AL,30H

XLAT

ADD AL,30H

MOV [DI] , AL

INC DI

LOOP RE1

DONE: MOV DX , OFFSET BUFF

MOV AH , 09H

INT 21H

MOV AH,4CH

INT 21H

CODE ENDS

4.21 编程序从键盘接收一个4位16进制数,转换为10进制数后,送显示。

【答】算法:先将输入的十六进制数保存到BX中,BX中的数范围在+32767~-32768之间,先检查BX中的符号位,以决定输出“+”还是“-”;若是负数,应先求补,得到原码后即可与正数作统一处理。转换方法为将被转换的二进制数先除;以10000,商即为万位数,再将余数除以1000,商为千位数,依此类推,求出百、十位数,剩的为个位数。最后,将各个数加上30H,即成为对应字符。

DA TA SEGMENT

OUT_ASC_SUM db 6 dup(?),'$'

DA TA ENDS

STACK SEGMENT

STA DB 20 DUP(?)

TOP EQU LENGTH STA

STACK ENDS

CODE SEGMENT

ASSUME CS :CODE,DS:DA TA,SS:STACK

START: MOV AX,DATA

MOV DS,AX

MOV AX,STACK

MOV SS,AX

MOV AX,TOP

MOV SP,AX

MOV CX , 4 ;输入4次

MOV DX , CX ;转换4次

MOV BX , 0 ;用BX保存输入数

RE1: MOV AH , 1 ;从键盘输入

INT 21H

CALL ZH ;通过子程序转换

SHL BX , CL ;组合成十六进制数

ADD BL , AL

DEC DX

JNZ RE1 ;循环输入四个数

MOV AX,BX

MOV OUT_ASC_SUM , '+'

CMP AX , 0

JGE L4 ;不是负数,转移

NEG AX

MOV OUT_ASC_SUM , '-'

L4: CWD

MOV BX , 10000

DIV BX

ADD AL , 30H ;将万位转换为数字(商应在AX内,但因为商不大于9,所以有效部分在al内)

MOV OUT_ASC_SUM+1 , AL ;保存万位数字

MOV AX , DX ;将余数置入AX内,以便当作被除数

CWD

MOV BX , 1000

DIV BX

ADD AL , 30H

微机原理试题及答案

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 。

微机原理课后作业答案第五版

第一章 6、[+42]原=00101010B=[+42]反=[+42]补 [-42]原 [-42]反 [-42]补 [+85]原=01010101B=[+85]反=[+85]补 [-85]原 [-85]反 [-85]补 10、微型计算机基本结构框图 微处理器通过一组总线(Bus)与存储器和I/O接口相连,根据指令的控制,选中并控制它们。微处理器的工作:控制它与存储器或I/O设备间的数据交换;进行算术和逻辑运算等操作;判定和控制程序流向。 存储器用来存放数据和指令,其内容以二进制表示。每个单元可存8位(1字节)二进制信息。 输入——将原始数据和程序传送到计算机。 输出——将计算机处理好的数据以各种形式(数字、字母、文字、图形、图像和声音等)送到外部。 接口电路是主机和外设间的桥梁,提供数据缓冲驱动、信号电平转换、信息转换、地址译码、定时控制等各种功能。 总线:从CPU和各I/O接口芯片的内部各功能电路的连接,到计算机系统内部的各部件间的数据传送和通信,乃至计算机主板与适配器卡的连接,以及计算机与外部设备间的连接,都要通过总线(Bus)来实现。 13、8086有20根地址线A19~A0,最大可寻址220=1048576字节单元,即1MB;80386有32根地址线,可寻址232=4GB。8086有16根数据线,80386有32根数据线。

1、8086外部有16根数据总线,可并行传送16位数据; 具有20根地址总线,能直接寻址220=1MB的内存空间; 用低16位地址线访问I/O端口,可访问216=64K个I/O端口。 另外,8088只有8根数据总线 2、8086 CPU由两部分组成:总线接口单元(Bus Interface Unit,BIU) BIU负责CPU与内存和I/O端口间的数据交换: BIU先从指定内存单元中取出指令,送到指令队列中排队,等待执行。 执行指令时所需的操作数,也可由BIU从指定的内存单元或I/O端口中获取,再送到EU去执行。 执行完指令后,可通过BIU将数据传送到内存或I/O端口中。 指令执行单元(Execution Unit,EU) EU负责执行指令: 它先从BIU的指令队列中取出指令,送到EU控制器,经译码分析后执行指令。EU的算术逻辑单元(Arithmetic Logic Unit,ALU)完成各种运算。 6、见书P28-29。 7.(1) 1200:3500H=1200H×16+3500H=15500H (2) FF00:0458H=FF00H×16+0458H=FF458H (3) 3A60:0100H=3A80H×16+0100H=3A700H 8、(1)段起始地址 1200H×16=12000H,结束地址 1200H×16+FFFFH=21FFFH (2)段起始地址 3F05H×16=3F050H,结束地址 3F05H×16+FFFFH=4F04FH (3)段起始地址 0FFEH×16=0FFE0H,结束地址 0FFEH×16+FFFFH=1FFD0H 9、3456H×16+0210H=34770H 11、堆栈地址范围:2000:0000H~2000H(0300H-1),即20000H~202FFH。执行 两条PUSH指令后,SS:SP=2000:02FCH,再执行1条PUSH指令后,SS: SP=2000:02FAH。 12、(2000H)=3AH, (2001H)=28H, (2002H)=56H, (2003H)=4FH 从2000H单元取出一个字数据需要1次操作,数据是 283AH; 从2001H单元取出一个字数据需要2次操作,数据是 5628H; 17、CPU读写一次存储器或I/O端口的时间叫总线周期。1个总线周期需要4个系统时钟周期(T1~T4)。8086-2的时钟频率为8MHz,则一个T周期为125ns,一个总线周期为500ns,则CPU每秒最多可以执行200万条指令。

微机原理课后练习题-答案

1、 2、B 3、十,非压缩的BCD码 4、 5、微型计算机、微型计算机系统 6、,, 二、 B D B 三、 1、微型计算机系统的基本组成。 答案:以微型计算机为主体,配上相应的系统软件、应用软件和外部设备之后,组成微型计算机系统。 2、简述冯.诺依曼型计算机基本组成。 答案:冯.诺依曼型计算机是由运算器,控制器,存储器,输入设备和输出设备组成的。其中,运算器是对信息进行加工和运算的部件;控制器是整个计算机的控制中心,所以数值计算和信息的输入,输出都有是在控制器的统一指挥下进行的;存储器是用来存放数据和程序的部件,它由许多存储单元组成,每一个存储单元可以存放一个字节;输入设备是把人们编写好的程序和数据送入到计算机内部;输出设备是把运算结果告知用户。 3、什么是微型计算机 答案:微型计算机由CPU、存储器、输入/输出接口电路和系统总线构成。 4、什么是溢出 答案:在两个有符号数进行家减运算时,如果运算结果超出了该符号数可表示的范围,就会发生溢出,使计算出错。

1、4、100ns 2、Ready ,Tw(等待) 3、ALE 4、INTR 5、85010H 6、存储器或I/O接口未准备好 7、非屏蔽中断 8、指令周期 9、4 二、 1、在内部结构上,微处理器主要有那些功能部件组成 答案:1) 算术逻辑部件2) 累加器和通用寄存器组 3) 程序计数器4) 时序和控制部件 2、微处理器一般应具有那些基本功能 答案:1.可以进行算术和逻辑运算2.可保存少量数据 3.能对指令进行译码并完成规定的操作4.能和存储器、外部设备交换数据 5.提供整个系统所需的定时和控制6.可以响应其他部件发来的中断请求 3、什么是总线周期 答案:CPU通过外部总线对存储器或I/O端口进行一次读/写操作的过程;一个基本的总线周期包含4个T状态,分别称为T1、T2、T3、T4。 三、×、×、×、×、×、√、√

微机原理试题及答案

微机原理试题及答案 微机原理试题及答案 一、填空题(每空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. 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, V1D. MOV2000H, V2 9. –49D 的二进制补码为A。

最新微机原理习题与答案

微机原理习题与答案

微机原理习题与答案 第一章微机基础 1-1微处理器、微机与微机系统三者之间有什么不同? 答: 微处理器一般也称为CPU,它本身具有运算能力和控制功能。微型计算机是由CPU、存储器、输入/输出接口电路和系统总线构成的裸机系统。微型计算机系统是以微型计算机为主机,配上系统软件和外设之后而构成的计算机系统。微处理器是微型计算机的一组成部分,而微型计算机又是微型计算机系统的一组成部分。 1-2 CPU在内部结构上由那几部分组成? 答:8位CPU在内部结构上由寄存器阵列、算术逻辑运算单元ALU、控制器和内部总线及缓冲器等部分组成。 1-3总线接口部件有哪些功能? 8086的执行部件有什么功能? 答:总线接口部件的功能是负责与存储器、I/O端口传送数据。 执行部件的功能是负责指令的执行。 1-4 8086/8088的状态标志和控制标志分别有哪些? 答:8086/8088的状态标志有6个:CF、AF、SF、PF、OF、ZF,控制标志有3个:TF、DF、IF。 1-5 8086/8088和传统的8位计算机相比在执行指令方面有什么不同?这样的设计思想有什么优点? 答:8位饥是取一条指令,执行一条,再取,再执行; 8088执行时,取指与执行几乎是同时进行的。

1-6 8086/088微处理器中有哪些寄存器?通用寄存器中哪些可以作地址指针用? 答:8086/8088各有14个寄存器,它们可分为3组: (1)四个通用寄存器和四个变址和指针寄存器,即AX,BX,CX,DX,SP,BP,SI,DI。 (2)四个段寄存器,即CS,DS,SS,ES。 (3)两个控制寄存器,即IP,FR。 1-7 8086/8088 20位物理地址是怎么样形成的?当CS=2000H, IP=0100H,其指向的物理地址等于多少? 答:物理地址=段地址×16+段内偏移地址。 20100 2-1 试述8088微处理器的各种寻址方式,并写出各种寻址方式的传送指令1~~2条(源操作数寻址与目的操作数寻址) 答:立即寻址,寄存器寻址,直接寻址,寄存器间接寻址,变址寻址,基址加变址寻址。 第三章汇编语言程序设计 3-2指令AND AX,X AND Y中X和Y是两个已赋值的常量,问:两个AND操作分别在什么时间进行?功能上有何区别? 答:指令中的X AND Y操作在程序汇编时进行,该操作完成后得到一个数,即为指令中的第二操作数。由此得到“AND AX,立即数”这样形式的一条指令,由汇编器将其翻译为机器码。该指令中的AND操作由CPU在执行指令时完成,结果存于AX中,并影响F寄存器。 3-3指出以下三条指令的区别(NUM为数据段一个变量名)。

微机原理习题解答

第一章微型计算机的基础知识 1-1 将下列十进制数转换为二进制数、十六进制数。 (1)110 (2)1 039 (3)0.75 (4)0.156 25 1-2 将下列十进制数转换为BCD 码。 (1)129 (2)5 678 (3)0.984 (4)93.745 1-3 将下列二进制数转换为十进制数、十六进制数。 (1)10101010 (2)10000000 (3)11000011.01 (4)01111110 1-4 将下列十六进制数转换为二进制数、十进制数。 (1)8E6H (2)0A42H (3)7E.C5H (4) 0F19.1DH 1-5 将下列二进制数转换为BCD 码。 (1)1011011.101 (2)1010110.001 1-6 将下列BCD 码转换为二进制数。 (1)(0010 0111 0011) BCD (2)(1001 0111.0010 0101) BCD 1-7 完成下列二进制数的运算。 (1)1001.11+11.11 (2)1101.01-0110.11 (3)1000.011-1001.101 (4)1111+1101 1-8 完成下列十六进制数的运算。 (1)6AH+0A6H (2)0AB1FH+0EFCH (3)12ADH-1DEH (4)117H-0ABH 1-9 已知X=01H,Y=0FFH ,在下面的情况下比较两数的大小。 (1)无符号数 (2)符号数 (均为补码) 1-10 计算下列各表达式。 (1)101+‘A’+01101001B+0D5H+57Q (2)127.8125+10111101.101+375.63Q+1FC.8AH 1-11 写出下列字符串的ASCII 码。 (1)HELLO (2)A8=

微机原理习题集以及答案

第一部分 例题与习题 第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、在微型计算机中,微处理器的主要功能是进行( )。 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、移码

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

第一章 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)

学年第学期微机原理及应用(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单元中分别存放的是两个双

《微机原理》复习题及解答

微机原理》复习题解答 1、在8086/8088系统中,存储器是怎样组织的?整个存储空间有多大?最大逻辑长度为多大?至少可将存储器分为多少个段?段起始于什么位置?偏移地址是什么?怎样计算20位物理地址? ①分段组织②1兆字节③64K字节④至少分成16段⑤起始于最后四位二进制数都为0的位置⑥偏移地址是相当于段起始位置的偏移量⑦段地址×16+偏移地址 2、系统总线分为哪几组?各自传送的方向如何? ①分成3组:数据部线、地址总线、控制总线②数据总线和控制总线都是双向的,地址总线始终由CPU发出 3、8086微处理器分为哪几个部分?它们之间采用什么工作方式?其中状态寄存器由几类标志组成?与中断有关的是哪一位? ①分成2部分:总线接口部件、执行部件②并行工作方式③2类:状态标志、控制标志④IF 位,IF置1,响应外部可屏蔽中断 4、怎样将8086设置为最小或最大模式?分别应配置哪些外围器件?作用怎样?最大模式与最小模式的配置相比多了什么器件?作用是什么? ①引脚接高电平则设置为最小模式,如接低电平则设置为最大模式②最小模式下:1片8248A,作为时钟发生器;3片8282或74LS373,用来作为地址锁存器;2片8286/8287作为总线收发器。最大模式下:1片8284A,3片8282,2片8286,1片8288总线控制器,1片8259A及有关电路③8284A除了提供频率恒定的时钟信号外,还对准备发(READY)和(RESET)信号进行同步。8282:地址/数据总线是复用的,而和S7也是复用的,所以在总路线周期前一部分时间中输出地址信号和信号的引脚,在总线周期的后一部分时间中改变了含义。因为有了锁存器对地址和进行锁存,所以在总线周期的后半部分,地址和数据同时出现在系统的地址总线和数据总线上;同样,此时也在锁存器输出端呈现有效电平,于是确保了CPU对存储器和I/O端口的正常读/写操作。8286/8287:当系统中所连的存储器和外设较多时,需要增加数据总线的驱动能力。④多了1片8288。作用:对CPU 发出的S0,S1,S2控制信号进行变换和组合,以得到对存储器和I/O端口的读/写信号和对锁存器8282及对总线收发器8286的控制信号。 5、8086/8088系统中为什么将数据与地址总线复用? 因为数据线与地址线传送时间不一样,在总线周期T1传送地址,其他时刻传送数据,传送数据和地址时间是分离的,所以8086/8088系统中能将数据线与地址线复用。 6、CPU从奇地址或偶地址读写一个字(或字节)时,和A0是什么电平?分别用几个总线周期? A0 操作总线周期 0 0 从偶地址开始读/写一个字1个 1 0 从偶地址单元或端口读/写一个字节1 个 0 1 从奇地址单元或端口读/写一个字节1个 1 1 0 从奇地址开始读/写一个字2个(在第一总线周期,将低8位数据送到AD15—AD8,在第二个总线周期,将高8位数据送到AD7—AD0) 7、CPU的READY和RESET信号有什么作用?

微机原理习题答案6

微机原理习题答案6 6.1 为什么外设与计算机的连接不能象存储器那样直接挂到总线上? 答:因为外设的种类繁多,信号的形式和时序也各式各样,一般都不能与总线匹配,因此,不能象存储器那样直接挂到总线上。而存储器的信号和时序与CPU总线匹配,可以直接挂到总线上。 6.2 接口电路的信息分为哪几类?接口电路的基本结构有哪些特点? 答:接口电路与外设交互的信息可分为数据信息、状态信息和控制信息共计三类。 接口电路的基本结构的特点参见教材P202,图6.2。 6.3 CPU与外设交换数据的传送方式可分为哪几种?试简要说明它们各自的特点。 答:CPU与外设交换数据的传送方式可分为:无条件方式、查询方式、中断方式和DMA方式等四种。 各种传送方式的特点:略 6.4 在CPU与外设之间的数据接口上一般加有三态缓冲器,其作用如何? 答:CPU三总线是多个总线设备(部件)分时共用的,每个总线设备占用总线的时间以总线周期为单位,很短!!!而外设输入的信号变化比较慢,使用三态缓冲器可以把外设输入的低速信号与高速总线隔离开来。只有在CPU访问该外设的总线周期间打开三态缓冲器,让外设输入的信号驱动总线、输入数据,而其它时间三态缓冲器则处于高阻状态,不干扰总线的运行。 6.8 CPU响应中断有哪些条件?为什么需要这些条件? 答:CPU响应中断条件: 1)IF=1,CPU允许中断 2)当前指令执行完毕。 为什么需要这些条件, 1)CPU采样到INTR信号后,是否响应它,还要由IFF触发器的状态控制,只有当 IFF=1时,才能响应中断,所以需要CPU开放中断。 2)指令是程序的最小单位,不可能被中断和拆散,所以必须等当前指令执行完毕。 6.10用方框图形式说明查询式输入和查询式输出的程序流程。 6.13 什么是中断向量?

微机原理试题和答案

微机原理试题 一、单项选择题(每小题1分,共20分) 1.8086CPU由两个独立的工作单元组成,它们是执行单元EU和( ). A)总线控制逻辑器B)内部通信寄存器 C)指令寄存器D)总线接口单元 2.8086系统若用256KB*1动态存储器芯片可望构成有效存储系统的最小容量是( ). A)256KB B)512KB C)640KB D)1MB 3.Intel8255A使用了()个端口地址。 A)1 B)2 C)3 D)4 4.PC机中为使工作于一般全嵌套方式的8259A中断控制器能接受下一个中断请求,在中断服务程序结束处就( ). A)发送OCW2指令B)发送OCW3指令C)执行IRET指令D)执行POP指令5.RAM是随机存储器,它分为( )两种. A)ROM和SRAM B)DRAM和SRAM C)ROM和DRAM D)ROM和CD-ROM 6.在程序运行过程中,确定下一条指令的物理地址的计算表达式是() A)CS×16+IP B)DS×16+SI C)SS×16+SP D)ES×16+DI 7.( )是以CPU为核心,加上存储器,I/O接口和系统总线构成的. A)微处理器B)微型计算机C)微型计算机系统D)计算机 8.对于掉电,8086/8088CPU是通过( )来处理的. A)软件中断B)可屏蔽中断C)非屏蔽中断D)DMA 9.计算机的存储器采用分级存储体系的主要目的是()。 A)便于读写数据B)减小机箱的体积 C)便于系统升级D)解决存储容量、价格和存取速度之间的矛盾 10.8259A的OCW1----中断屏蔽字( )设置. A)在ICW之前B)只允许一次C)可允许多次D)仅屏蔽某中断源时11.将十六进制数163.5B转换成二进制数是)( ) A)1101010101.1111001 B)110101010.11001011 C)1110101011.1101011 D)101100011.01011011 12.Intel 8086/8088微处理器有()地址线,直接寻址内存空间的范围是()。A)10条,64KB B)20条,64KB C)16条,1M D)20条,1M 13.Intel 8086/8088微处理器的标志寄存器中,作为记录指令操作结果的标志是()。 A)CF,OF,PF,AF,SF,ZF B) CF,PF,ZF,SF C) OF,DF,IF,SF,ZF,CF D) IF,DF,OF,CF 14.下述对标志寄存器中标志位不产生影响的指令是()。 A)JMP NEXT B) TEST AL,80H C) SHL AL,1 D) INC SI 15.简单的汇编语言程序可以通过()来建立、修改和执行。 A)连接程序B) 调试程序C) 汇编程序D) 编辑程序 16.累加器AL中的内容是74H,执行CMP AL,47H指令后,累加器AL中的内容是()A)2DH B)0D3H C)00H D)74H 17.LINK程序执行后可以生成一个以()为扩展名的文件。 A).COM B).EXE C).OBJ D).LST 18.在8086/8088汇编语言源程序中,两个有符号的整数A和B比较后为了判断A是否大

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

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

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

微机原理习题集以及答案

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

微机原理(第三版)课后练习答案

1 思考与练习题 一、选择题 1.计算机硬件中最核心的部件是( )。C A.运算器 B.主存储器 C.CPU D.输入/输出设备 2.微机的性能主要取决于( )。 A (B——计算机数据处理能力的一个重要指标) A.CPU B.主存储器 C.硬盘 D.显示器 3.计算机中带符号数的表示通常采用( )。C A.原码 B.反码 C.补码 D.BCD码 4.采用补码表示的8位二进制数真值范围是( )。C A.-127~+127 B.-1 27~+128 C.-128~+127 D.-128~+128 5.大写字母“B”的ASCII码是( )。B A.41H B.42H C.61H D.62H 6.某数在计算机中用压缩BCD码表示为10010011,其真值为( )。C A.10010011B B.93H C.93 D.147 二、填空题 1.微处理器是指_CPU_;微型计算机以_CPU_为核心,配置_内存和I/O接口_构成;其特点是_(1)功能强 (2)可靠性高 (3)价格低 (4)适应性强 (5)体积小 (6)维护方便_。P8 P5 2.主存容量是指_RAM和ROM总和_;它是衡量微型计算机_计算机数据处理_能力的一个重要指标;构成主存的器件通常采用_DRAM和PROM半导体器件_。P5 P9 3.系统总线是_CPU与其他部件之间传送数据、地址和控制信息_的公共通道;根据传送内容的不同可分成_数据、地址、控制_3种总线。P9 4.计算机中的数据可分为_数值型和非数值型_两类,前者的作用是_表示数值大小,进行算术运算等处理操作_;后者的作用是_表示字符编码,在计算机中描述某种特定的信息_。P12 5.机器数是指_数及其符号在机器中加以表示的数值化_;机器数的表示应考虑_机器数的范围、机器数的符号、机器数中小数点位置_3个因素。P15 P16 6.ASCII码可以表示_128_种字符,其中起控制作用的称为_功能码_;供书写程序和描述命令使用的称为_信息码_。P18 P19 三、判断题 1.计算机中带符号数采用补码表示的目的是为了简化机器数的运算。( )√ 2.计算机中数据的表示范围不受计算机字长的限制。( )× 3.计算机地址总线的宽度决定了内存容量的大小。( )√ 4.计算机键盘输入的各类符号在计算机内部均表示为ASCII码。( )× (键盘与计算机通信采用ASCII码) 2 思考与练习题 一、选择题 1.在EU中起数据加工与处理作用的功能部件是( )。A A.ALU B.数据暂存器 C.数据寄存器 D.EU控制电路 2.以下不属于BIU中的功能部件是( )。 B A.地址加法器 B.地址寄存器 C.段寄存器 D.指令队列缓冲器

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