东南大学微机原理习题练习综述Word文件下载.docx
《东南大学微机原理习题练习综述Word文件下载.docx》由会员分享,可在线阅读,更多相关《东南大学微机原理习题练习综述Word文件下载.docx(20页珍藏版)》请在冰豆网上搜索。
20.8086/8088内部有哪些通用寄存器?
21.8086/8088内部有几个段寄存器,阐述各段寄存器的用途?
22.8086/8088内部标志寄存器中,哪几位属于状态标志,哪几位属于控制标志?
其含义分别的什么?
23.8086/8088CPU有40条引脚,请按功能对它们进行分类?
24.8086/8088有两种工作方式,它们是通过什么方法来实现?
在最大方式下其控制信号怎样产生?
25.MPU与存储器之间的控制信号有哪些,各起什么作用?
26.MPU与I/O之间的控制信号有哪些,各起什么作用?
27.存储器的逻辑地址由哪几部分组成?
28.存储器的物理地址是怎样形成的?
一个具有20位地址线的CPU,其最大物理地址为多少?
29.分析8086/8088CPU最大方式下的读操作时序。
30.8086/8088I/O的读/写周期时序与M读/写周期的主要差异是什么?
31.8086/8088CPU在响应外界中断请求后,需要进入中断响应周期,分析该周期有什么特点?
32.在8088最大方式系统中,20位地址用74LS373锁存器锁存,8位数据线用74LS245总线收发器缓冲,
再配上总线控制器8288,画出系统配置图。
※第二8086/88系统指令与汇编程序设计
8086指令系统(4个学时)。
主要讲解8086的基本数据类型、寻址方式和指令系统,重点掌握8086指令系统的寻址方式、堆栈操作指令、算术运算指令及其对标志位的影响,串操作指令,控制传送指令。
汇编语言程序设计(6个学时)主要讲解汇编语言程序的设计技巧和编程原理,重点掌握算术运算程序、字符串处理程序、码制转换程序、子程序设计程序、常用DOS和BIOS功能调用程序、汇编语言常用伪指令以及汇编语言和高级语言间的接口。
实验内容:
熟悉汇编语言程序设计全过程;
用汇编语言进行程序设计;
熟悉BIOS与DOS功能调用方法。
1.假定DS=2000H,ES=2100H,SS=1500H,SI=00A0H,BX=0100H,BP=0010H,数据变量VAL的偏移地址为0050H,请指出下列指令源操作数是什么寻址方式?
其物理地址是多少?
(1)MOVAX,0ABH
(2)MOVAX,[100H]
(3)MOVAX,VAL(4)MOVBX,[SI]
(5)MOVAL,VAL[BX](6)MOVCL,[BX][SI]
(7)MOVVAL[SI],BX(8)MOV[BP][SI],100
2.已知SS=0FFA0H,SP=00B0H,先执行两条把8057H和0F79H分别进栈的PUSH指令,再执行一条POP指令,试画出堆栈区和SP内容变化的过程示意图。
(标出存储的地址)
3.设有关寄存器及存储的内容如下:
DS=2000H,BX=0100H,AX=1200H,SI=0002H,[20100H]=12H,[20101H]=34H,[20102H]=56H,[20103]=78H,[21200]=2AH,[21201H]=4CH,[21202H]=0B7H,[21203H]=65H。
试说明下列各条指令单独执行后相关寄存器或存储的内容。
(1)MOVAX,1800H
(2)MOVAX,BX
(3)MOVBX,[1200H](4)MOVDX,1100[BX]
(5)MOV[BX][SI],AL(6)MOVAX,1100[BX][SI]
4.写出实现下列计算的指令序列。
(假定X、Y、Z、W、R都为字变量)
(1)Z=W+(Z+X)
(2)Z=W-(X+6)-(R+9)
5.若在数据段中从字节变量TABLE相应的开始存放了0~15的平方值,试写出包含有XLAT指令的指令序列查找N(0~15)中的某个数的平方。
(设N的值存放在CL中)
6.写出实现下列计算的指令序列。
(1)Z=(W*X)/(R+6)
(2)Z=((W-X)/5*Y)*2
7.假定DX=1100100110111001B,CL=3,CF=1,试确定下列各条指令单独执行后DX的值。
(1)SHRDX,1
(2)SHLDL,1
(3)SALDH,1(4)SARDX,CL
(5)RORDX,CL(6)ROLDL,CL
(7)RCRDL,1(8)RCLDX,CL
8.试分析下列程序完成什么功能?
MOVCL,4
SHLDX,CL
MOVBL,AH
SHLBL,CL
SHRBL,CL
ORDL,BL
9.已知程序段如下:
MOVAX,1234H
ROLAX,CL
DECAX
MOVCX,4
MULCX
INT20H
试问:
(1)每条指令执行后,AX寄存器的内容是什么?
(2)每条指令执行后,CF,SF及ZF的值分别是什么?
(3)程序运行结束时,AX及DX寄存器的值为多少?
10.试分析下列程序段:
ADDAX,BX
JNCL2
SUBAX,BX
JNCL3
JMPSHORTL5
如果AX、BX的内容给定如下:
AXBX
(1)14C6H80DCH
(2)B568H54B7H
问该程序在上述情况下执行后,程序转向何处?
11.编写一段程序,比较两个5字节的字符串OLDS和NEWS,如果OLDS字符串不同于NEWS字符串,则执行NEW_LESS,否则顺序执行。
12.下列语句在存储器中分别为变量分配多少字节空间?
并画出存储空间的分配图。
VAR1DB10,2
VAR2DW5DUP(?
),0
VAR3DB‘HOWAREYOU?
'
,‘$'
VAR4DD-1,1,0
13.假定VAR1和VAR2为字变量,LAB为标号,试指出下列指令的错误之处。
(1)ADDVAR1,VAR2
(2)SUBAL,VAR1
(3)JMPLAB[SI](4)JNZVAR1
14.对于下面的符号定义,指出下列指令的错误。
A1DB?
A2DB10
K1EQU1024
(1)MOVK1,AX
(2)MOVA1,AX
(3)CMPA1,A2(4)K1EQU2048
15.数据定义语句如下所示:
FIRSTDB90H,5FH,6EH,69H
SECONDDB5DUP(?
)
THIRDDB5DUP(?
FORTHDB5DUP(?
自FIRST开始存放的是一个四字节的十六进制数(低位字节在前),要求:
(1)编一段程序将这个数左移两位、右移两位后存放到自SECOND开始的(注意保留移出部分。
(2)编一段程序将这个数求补以后存放到自FORTH开始的。
16.试编程序将内存从40000H到4BFFFH的每个中均写入55H,并再逐个读出比较,看写入的与读出的是否一致。
若全对,则将AL置7EH;
只要有错,则将AL置81H。
17.在当前数据段4000H开始的128个中存放一组数据,试编程序将它们顺序搬移到A000H开始的顺序128个中,并将两个数据块逐个进行此较;
若有错将BL置00H;
全对则将BL置FFH,试编程序。
18.设变量A、B、C存放有三个数,若三个数都不为零,则求三个数的和,存放在D中;
若有一个为零,则将其余两个也清零,试编写程序。
19.有一个100个字节的数据表,表内元素已按从大到小的顺序排列好,现给定一元素,试编程序在表内查找,若表内已有此元素,则结束;
否则,按顺序将此元素插入表中适当的位置,并修改表长。
20.内存中以FIRST和SECOND开始的中分别存放着两个16位组合的十进制(BCD码)数,低位在前。
编程序求这两个数的组合的十进制和,并存到以THIRD开始的。
21.编写一段程序,接收从键盘输入的10个数,输入回车符表示结束,然后将这些数加密后存于BUFF缓冲区中。
加密表为:
输入数字:
0,1,2,3,4,5,6,7,8,9;
密码数字:
7,5,9,1,3,6,8,0,2,4
22.试编程序,统计由40000H开始的16K个中所存放的字符“A“的个数,并将结果存放在DX中。
23.在当前数据段(DS),偏移地址为DATAB开始的顺序80个中,存放着某班80个同学某门考试成绩。
按要求编写程序:
①编写程序统计≥90分;
80分~89分;
70分~79分;
60分~69分,<60分的人数各为多少,并将结果放在同一数据段、偏移地址为BTRX开始的顺序中。
②试编程序,求该班这门课的平均成绩为多少,并放在该数据段的AVER中。
24.编写一个子程序,对AL中的数据进行偶校验,并将经过校验的结果放回AL中。
25.利用上题的予程序,对80000H开始的256个的数据加上偶校验,试编程序。
25分析执行下列指令后的结果:
MOVAL,0B2H
A.CBW
B.CWD
26分析执行下列指令序列后的结果:
A.MOVAX,1234H
MOVBX00FFH
ANDAX,BX
B.MOVAL01010101B
ANDAL00011111B
ORAL11000000B
XORAL,00001111B
NOTAL
C.MOVDL,05H
MOVAX,0A00H
MOVDS,AX
MOVSI,0H
MOVCX,0FH
AGAIN:
INCSI
CMP[SI],DL
LOOPNEAGAIN
HLT
D.MOVAX,DSEGADDR
MOVES,AX
MOVSI,OFFSETB1ADDR
MOVDI,OFFSETB2ADDR
MOVCX,N
CLD
NXTPT:
MOVSB
LOOPNXTPT
E.MOVAX,0H
MOVDS,AX
MOVES,AX
MOVAL,05H
MOVDI,0A000H
SCASB
27.阅读程序
A.CLD
LEADI,[0100H]
MOVCX,0080H
XORAX,AX
REPSTOSW
B.MOVAL,08H
SALAL,01H
MOVBL,AL
MOVCL,02H
SALAL,CL
ADDAL,BL
执行B中6条指令后,AL的内容是多少,本程序实现了什么功能?
27.以下为某个数据段,试问各个变量分别占多少字节,该数据段共占多少字节?
DATASEGMENT
VAR1DW9
VAR2DD10DUP(?
),2
VAR3DB2DUP(?
,10DUP(?
))
VAR4DB‘HOWAREYOU'
DATAENDS
28.设DS=2000H,SS=3000H,BP=4000H,SI=1000H,Count=0100H,BX=0200H,说明下列4条指令的原操作数寻址方式,分别执行一条指令后,AX的内容是什么?
A.MOVAX,[2000H]
B.MOVAX,[SI]
C.MOVAX,[BP]
D.MOVAX,COUNT[BX][SI]
29.A、B二组执行后的结果,有无差别?
A.MOVAX,[SI],MOV[DI],AX
B.MOVAX,[SI],MOVDI,AX
30.若BX=0100H,BP=0200H,SI=1000H,位移量=0300H,DS=2000H,SS=3000H,计算由这些寄存器和下列寻址方式产生的有效地址和物理地址
1)直接寻址;
2)寄存器(设寄存器为BX)间接寻址;
3)基址寻址(设寄存器为BP);
4)变址寻址;
5)基址变址寻址(设寄存器为BX)。
31.写出ADDBX,CX的两种指令编码格式,已知指令操作码OPCODE部分为000000B。
32.指令MOVDS:
[ALPHA],BX.设ALPHA=8A2EH,CS=8A00H,IP=0058H,DS=2000H,BX=537CH,指令操作码OPCODE部分为100010B。
A.该指令是什么寻址方式?
B.该指令4个字节的内容是什么、
C.这些字节的内容存放在哪些存储中?
D.BX的内容送到哪些存储中?
注:
C.D两题用图解表示结果,即在相应的内存中添上正确的内容。
33.写出口地址为20H和3F8H的输入/输出指令。
34.解释下列指令的含义:
LEAAX,[2344H]
LDSDI,[2344H]
35.如何判断一个算术运算结果的正确性。
36.分析SUB与CMP指令的异同点,指出它们使用的场合。
37.串操作指令的两个特点是什么?
38.请给出下面指令:
A.MOVAL,[BP+100H]的源操作数地址;
B.PUSH[DX+100H]的目的操作数据地址。
※第三存储器
存储器的基本概念和半导体存储器的分类,重点掌握RAM、ROM和Flash的结构和存储器在微机系统中的连接与扩充方法。
1.试说明存储器系统的主要性能指标。
2.存储器的哪一部分用来存储程序指令及像常数和查找表一类的固定不变的信息?
哪一部分用来存储经常改变的数据?
3.术语“非易失性存储器”是什么意思?
PROM和EPROM分别代表什么意思?
4.微型计算机中常用的存储器有哪些类型?
它们各有何特点?
分别适用于哪些场合?
5.试比较静态RAM和动态RAM的优缺点,并说明有何种方法可解决掉电时动态RAM?
6.计算机的电源掉电后再接电时(系统中无掉电保护装置),存储在各类存储器中的信息是否仍能保存?
试从各类存储器的基本原理上来分析说明。
7.“ROM是只读存储器”这种说法正确吗?
正确的说法应该怎样?
8.试从ROM器件的发展过程,说明读、写之间的辩证关系。
9.试画出容量为2K*8的RAM连接图(CPU用8088,RAM用2114,RAM地址区为0800H~0FFFH)。
10.试画出容量为8K*8的ROM连接图(CPU用8086,EPROM用2716,ROM地址区从4000H开始)。
11.一台8位微机系统(CPU为8088)需扩展内存16K,其中ROM为8K,RAM为8K。
ROM选用EPROM2716,RAM选用2114,地址空间从0000H开始,要求ROM在低地址,RAM在高地址。
试画出存储器组构图,并写出各芯片的存储分配范围。
12.设计一个外设端口译码器,使CPU能寻址四个地址范围:
①0280~0287H,②0288~028FH,③0290~0297H,④0298~029FH。
13.什么是高速缓冲存储器?
在微机系统中使用高速缓冲存储器的作用是什么?
14.什么是存储器访问的局部性?
研究和讨论这一现象有什么意义?
15.试说明直接映像、全相联映像、组相联映像等地址映像方式的基本工作原理。
16.存储器体系为什么采用分级结构,主要用于解决存储器中存在的哪些问题?
17.什么是虚拟存储器?
它的作用是什么?
※第四基本输入输出技术
*输入输出中的主要问题;
简单输入输出方法;
*中断处理方法;
8259A中断控制器。
DMA技术的基本原理、8237的工作原理和应用。
PC机中中断、DMA的设置和应用。
简单输入输出(键盘与LED显示)和中断,DMA接口。
1.CPU与外设之间的数据传输控制方式有哪几种?
何谓程序控制方式?
它有哪两种基本方式?
请分别用流程图的形式描述出来。
2.试从程序转移的角度比较中断控制与子程序调用这两种处理过程,它们有哪些根本区别?
又有哪些相似之处?
3.用查询式将DATA开始的存贮区的100个字节数据在FCH端口输出,完成程序,状态端口地址为:
FFH。
4.什么是接口?
什么是端口?
在8086/8088微机系统中,CPU是如何实现端口寻址的?
5.简述链式中断优先级排队电路的工作过程?
6.中断处理的主要步骤有哪些?
试说明每一步的主要动作。
7.何谓中断优先级,它对于实时控制有什么意义?
8086/8088CPU系统中,NMI与INTR哪个优先级高?
8.试结合8086/8088的INTR中断响应过程,说明向量中断的基本概念和处理方法。
9.在中断响应总线周期中,第一个INTA\脉冲向外部电路说明什么?
第二个脉冲呢?
10.中断向量表的功能是什么?
已知中断类型码分别是84H和FAH,它们的中断向量应放在中断向量表的什么位置?
11.试说明8259A芯片的可编程序性?
8259A芯片的编程有哪两种类型?
12.8259A芯片是如何实现对8级中断进行管理的?
又是如何级联实现对64级中断管理的?
13.在8259A级联工作的情况下,主片的CAS0~CAS2与从片的CAS0~CAS2的作用有何不同?
14.试结合8086/8088的INTR中断响应过程,说明向量中断的基本概念和处理方法。
15.在采用8259A作为中断控制器的系统中,由IRi输入的外部中断请求,能够获得CPU响应的基本条件是什么?
16.中断向量表的功能是什么?
17.如果8259A按如下配置则ICW1的值为多少?
不需要ICW4,单片以及边缘触发。
如要求产生的中断类型码在70H~77H之间,则ICW2的值是多少?
18.如果8259A用在80386DX系统中,用一般的EOI,缓冲模式主片,特殊全嵌套方式,则ICW4的值是什么?
19.如果OCW2等于67H,则允许何种优先级策略?
为什么?
20.某系统有五个中断源,它们分别从中断控制器8259A的IR0~IR4以脉冲方式引如系统,中断类型码分别为48H~4CH,中断入口的偏移地址分别为2500H,4080H,4C05H,5540H和6FFFH,段地址均是2000H,允许它们以全嵌套方式工作,请编写相应的初始化程序,使CPU响应任一级中断时,都能进入各自的中断服务子程序。
21.某系统中设置三片8259A级联使用,两片从片分别接至主片的IR2和IR6,同时,三片芯片的IR3上还分别连接了一个中断源,已知它们的中断入口均在同一段,段基址为4000H,偏移地址分别为1100H,40B0H,A000H,要求电平触发,普通EOI结束。
画出它们的硬件连接图,编写全部的初始化程序。
22.若用CS:
IP来规定一个中断服务程度的入口地址,则在此入口地址中存放的中断服务程序执行什么中断功能?
23.请计算出存放中断类型40的CS、IP内容的内存单位地址。
24.在第二个中断响应周期中,外部设备通过哪条总线向8088CPU发送中断向量?
25.当8259A的配置为:
不需ICW4,单片8259A,边沿触发,此时ICW1应为何值?
26.当8259A的OCW1=67H时,请问哪些中断申请被屏蔽?
27.画出8259A的主/从硬件连接图。
假设主8259A的IR3端带有一个从片,主片和从片均工作在非缓冲方式。
28.在一个8086系统中,使用多个8259A,在主8259A上的IR0,IR3输出是直接由外部设备提供,而IR4,IR7与从8259A的INT输出连接。
外部输入用电平触发,中断向量字为0F0H,采用特殊全嵌套缓冲一般中断结束方式工作。
主8259A的地址为2F0H,2F1H,请写出主8259A的初始化命令字,并输入到相应的口地址中。
对于从8259A,初始化命令字与主8259A有什么不同。
※第五常用数字接口芯片
*8255A并行接口;
*8253定时/计数接口;
串行通信的基本原理以及8251可编程通信接口芯片;
掌握同步通信和异步通信的特点、RS232C串行通信接口的原理、20ma电流环及其他串行通迅标准。
8255A;
8253;
串行通信;
1.接口电路的主要作用是什么?
它的基本结构如何?
2.说明接口电路中控制寄存器与状态寄存器的功能,通常它们可共用一个端口地址码,为什么?
3.CPU寻址外设端口的方式通常有哪两种?
试说明它们的优缺点。
4.在CPU与外部设备接口电路的连接中,通过数据总线可传输哪几种信息?
在这里地址译码器起什么作用?
5.试分析8255A方式0、方式1和方式2的主要区别,并分别说明它们适合于什么应用场合。
6.当8255A的A口工作在方式2时,其端口B适合于什么样的功能?
写出此时各种不同组合情况的控制字。
7.若8255A的端口A定义为方式0,输入;
端口B定义为方式1,输出;
端口C的上半部定义为方式0,输出。
试编写初始化程序。
(口地址为80H~83H)
8.假设一片8255A的使用情况如下:
A口为方式0输入,B口为方式0输出。
此时连接的CPU为8086,地址线的A1、A2分别接至8255A的A0、A1,而芯片的CS\来自A3A4A5A6A7=00101,试完成8255A的端口地址和初始化程序。
9.一825