微机原理复习题.docx
《微机原理复习题.docx》由会员分享,可在线阅读,更多相关《微机原理复习题.docx(18页珍藏版)》请在冰豆网上搜索。
![微机原理复习题.docx](https://file1.bdocx.com/fileroot1/2023-2/1/4c3acd18-0d2b-419c-9b7b-2d54dc602c77/4c3acd18-0d2b-419c-9b7b-2d54dc602c771.gif)
微机原理复习题
习题1
1.将以下十进制数转换成二进制数、八进制数、十六进制数。
①〔4.75〕10=
②〔2.25〕10=
③〔1.875〕10=
2.将以下二进制数转换成十进制数。
①〔1011.011〕2=
②〔1101.01011〕2=
③〔111.001〕2=
3.将以下十进制数转换成8421BCD码。
①2006=
②123.456=
4.求以下带符号十进制数的8位基2码补码。
①[+127]补=01111111
②[-1]补=11111111
③[-128]补=10000000
④[+1]补=00000001
5.求以下带符号十进制数的16位基2码补码。
①[+655]补=
②[-1]补=
③[-3212]补=
④[+100]补=
习题2
1.8086CPU在内部结构上由哪几局部组成?
各局部的功能是什么?
答:
8086CPU内部由两大独立功能部件构成,分别是执行部件EU和总线接口部件BIU。
执行部件负责进行所有指令的解释和执行,同时管理有关的存放器。
总线接口部件是CPU在存储器和I/O设备之间的接口部件,负责对全部引脚的操作。
2.简述8086CPU的存放器组织。
答:
8086CPU内部共有14个16位存放器,按用途可分为数据存放器,段存放器,地址指针与变址存放器和控制存放器。
数据存放器包括累加器,基址存放器,计数器,和数据存放器。
段存放器用来存放各分段的逻辑段基值,并指示当前正在使用的4个逻辑段。
地址指针与变址存放器一般用来存放主存地址的段内偏移地址,用于参与地址运算。
控制存放器包括指令存放器和标识存放器。
3.试述8086CPU标志存放器各位的含义与作用。
答:
标志存放器是16位的存放器,但实际上8086只用到9位,其中的6位是状态标识位,3位是控制标识位。
状态标志位分别是CF,PF,AF,ZF,SF,和OF。
CF:
进位标志位。
算数运算指令执行后,假设运算结果的最高位产生进位或借位,那么CF=1,否那么CF=0。
PF:
奇偶标志位。
反响计算结果中1的个数是偶数还是奇数。
假设运算结果的低8位中含有偶数个1,那么PF=1;否那么PF=0.
AF:
辅助进位标志。
算数运算指令执行后,假设运算结果的低4位向高4位产生进位或借位,那么AF=1;否那么AF=0.
ZF:
零标志位。
假设指令运算结果为0,那么ZF=1;否那么ZF=0。
SF:
符号标志位。
它与运算结果最高位相同。
OF:
溢出标志位。
当补码运算有溢出时,OF=1;否那么OF=0。
4.8086CPU状态标志和控制标志有何不同?
程序中是怎样利用这两类标识的?
8086的状态标志和控制标识分别有哪些?
答:
状态标志位反响了当前运算和操作结果的状态条件,可作为程序控制转移与否的依据。
它们分别是CF,PF,AF,ZF,SF,和OF。
控制标志位用来控制CPU的操作,由指令进行置位和复位,控制标志位包括DF,IF,TF。
5.将10011100和11100101相加后,标识存放器中CF,PF,AF,ZF,SF,OF各为何值?
6.段存放器CS=1200H,指令指针存放器IP=4000H,此时,指令的物理地址为多少?
指向这一地址的CS指和IP值是唯一的吗?
7.在8086系统中,逻辑地址FFFF:
0001,00A2:
37F和B800:
173F的物理地址分别是多少?
8.在8086系统中,从物理地址388H开始顺序存放以下3个双字节的数据651AH,D761H和007BH,请问物理地址388H,389H,38AH,38BH,38CH和38DH6个单元中分别是什么数据?
习题3
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,(20210H)=12H,(20211H)=34H,(20212H)=56H,(20213H)=78H,(21200H)=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]
5.假设在数据段中从字节变量TABLE相应的单元开始存放了0~15的平方值,试写出包含XLAT指令的指令序列查找N〔0~15〕中的某个平方数。
答:
LEABX,TABLE
MOVAL,CL
XLAT
7.假定,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.程序段如下:
MOVAX,1234H
MOVCL,4
ROLAX,CL
DECAX
MOVCX,4
MULCX
INT20H
试问:
〔1〕每条指令执行后,AX存放器的内容是什么?
〔2〕每条指令执行后,CF,SF及ZF的值分别是什么?
〔3〕程序运行结束后,AX及DX存放器的值为多少?
9.试分析以下程序段:
ADDAX,BX
JNCL2
SUBAX,BX
JNCL3
JMPSHORTL5
如果AX,BX的内容给定如下:
AXBX
(1)14C6H80DCH
(2)B568H54B7H
问该程序在上述情况下执行后,程序转向何处。
习题4
2.假定VAR1和VAR2为字变量,LAB为标号,试指出以下指令的错误之处。
〔1〕ADDVAR1,VAR2〔2〕SUBAL,VAR1
〔3〕JMPLAB[CX]〔4〕JNZVAR1
〔5〕MOV[1000H],100〔6〕SHLAL,4
3.对于下面的符号定义,指出以下指令的错误。
A1DB?
A2DB10
K1EQU1024
〔1〕MOVK1,AX〔2〕MOVA1,AX
〔3〕CMPA1,A2〔4〕K1EQU2048
7.设变量单元A、B、C存放有3个数,假设3个数都不为零,那么求3个数的和,存放在D中;假设有一个为零,那么将其余两个也清零,试编写程序。
答:
8.有一个100个字节的数据表,表内元素已按从大到小的顺序排列好,现给定一元素,试编程序在表内查找,假设表内已有此元素,那么结束;否那么,按顺序将此元素插入表中适当的位置,并修改表长。
答:
9.内存中以FIRST和SECOND开始的单元中分别存放着两个16位组合的十进制(BCD码)数,低位在前。
编程序求这两个数的组合的十进制和,并存到以THIRD开始的单元。
答:
10.编写一段程序,接收从键盘输入的10个数,输入回车符表示结束,然后将这些数加密后存于BUFF缓冲区中。
加密表如下:
输入数字:
0,1,2,3,4,5,6,7,8,9;密码数字:
7,5,9,1,3,6,8,0,2,4。
答:
11.试编程序,统计由40000H开始的16K个单元中所存放的字符“A〞的个数,并将结果存放在DX中。
答:
DATASEGMENT
DA1DB'A'
BUFFDB4000HDUP(?
)
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,4000H
MOVDS,AX
MOVBX,0
MOVCX,4000H
FIND:
MOVAL,[BX]
MOVBL,DA1
CMPAL,BL
JNZNEXT
INCDX
NEXT:
INCSI
LOOPFIND
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
12.在当前数据段(DS),偏移地址为DATAB开始的顺序80个单元中,存放着某班80个同学某门考试成绩。
按如下要求编写程序:
(1)编写程序统计≥90分;80分~89分;70分~79分;60分~69分,<60分的人数各为多少,并将结果放在同一数据段、偏移地址为BTRX开始的顺序单元中。
(2)试编程序,求该班这门课的平均成绩为多少,并放在该数据段的AVER单元中。
答:
13.编写一个子程序,对AL中的数据进行偶校验,并将经过校验的结果放回AL中。
习题5
1.试述DRAM的工作特点;与SRAM相比有什么长处和缺乏之处;说明它的使用场合。
答:
DRAM,动态随机存取存储器,需要不断的刷新,才能保存数据。
而且是行列地址复用的,许多都有页模式。
SRAM,静态的随机存取存储器,加电情况下,不需要刷新,数据不会丧失,而且一般不是行列地址复用的。
与SRAM相比,DRAM价格廉价、速度慢、容量大,主要用来做主存储器,存储程序和数据;而SRAM主要用在Cache等对速度要求高的情况。
2.试述DRAM刷新过程和正常读/写过程的区别。
答:
刷新是以行为单位进行,且刷新过程中不能进行读写操作。
3.设有一个具有20位地址和32位字长的存储器,问:
(1)该存储器能存储多少个字节的信息?
(2)如果存储器由512K*8位SRAM芯片组成,需要多少片?
(3)需要多少位作芯片选择?
4.对于8K×8位RAM组成的存储器系统,假设某组的起始地址为08000H,那么其末地址为多少?
5.在8088最大方式系统总线上扩充设计4K字节的SRAM存储器电路。
SRAM芯片选用Intel2114,起始地址从0000H。
试画出此存储器电路与系统总线的连接图。
6.在8088系统总线上扩充设计8K的字节的SRAM存储器电路。
SRAM芯片选用Intel6264,起始地址从04000H开始,译码器电路74LS138.
(1)计算此RAM存储区的最高地址是多少。
(2)画出此存储器电路与系统总线的连接图。
(3)编写程序实现对此存储区域进行自检。
答:
7.在8086最小方式系统总线上扩充设计16K字节的SRAM存储器电路,SRAM芯片选用Intel6264,起始地址从04000H开始,译码器电路采用74LS138.
(1)计算此RAM存储区域的最高地址是多少
(2)画出此存储器与总线的连接图。
答:
(1)
(2)
习题6
1.什么是接口?
接口的功能是什么?
答:
位于主机与外设之间,用来协助完成数据传送和控制任务的逻辑电路称为接口电路,接口电路对输入/输出过程起缓冲和联络作用。
接口的功能有:
数据缓冲功能,联络功能,寻址功能,预处理功能,中断管理功能。
2.计算机对I/O端口编址时通常采用哪两种方法?
在8086系统中,用哪种方法进行编址?
答:
I/O端口和存储器统一编址;I/O端口单独编址。
8086系统采用I/O端口单独编址方式。
8.什么叫中断向量?
它放在哪里?
对于1CH的中断向量在哪里?
如果1CH的中断程序从5110H开始:
2030H开始,那么中断向量应该怎样存放?
答:
中断向量即用来提供中断入口地址的一个指针。
9.类型号为20H的中断效劳程序入口符号地址为INT-5,试写出中断向量的装入程序片段。
答:
MOVAX,0
MOVDS,AX
MOVSF,20H*4
LEAAX,IMS
MOV[IS],AX
MOVAX,SEQ,INTS
MOV[SI+2],AX
习题7
3.假定8255的端口地址分别为0060H,0063H,编写出以下各情况的初始化程序:
(1)将A口,B口设置方式0,端口A和C作为输入口,B作为输出口
(2)将A口设置成方式1,输入口,PC6,PC7作为输出端,B口设置成方式1,输入口
答:
2.设8253计数器0~2和控制字I/O地址依次F8H~FBH,说明如下程序的作用。
MOVAL,33H
OUT0FBH,AL
MOVAL,80H
OUT0F8H,AL
MOVAL,50H
OUT0F8H,AL
答:
7.试按如下要求分别编写8253的初始化程序,8253的计数器0~2和控制字I/O地址依次为04H~07H
〔1〕计数器1工作在方式0,仅用8位二进制计数器,计数初值为128
〔2〕计数器0工作在方式1,按BCD码计算,计数值为3000
〔3〕计数器工作在方式2,计数值为02F0H
答:
8.设一个8253的计数器0产生20ms的定时信号,试对它进行初始化编程。
9.让一个计数器3工作在单稳态方式,让它产生15ms的脉冲宽度。
10.请把一个8253与8086CPU相连,地址为2FF0~2FF3H。
芯片容量计算题:
1.设有一个具有13位地址和8位字长的存储器问
1)存储器能存储多少字节信息?
2〕如果存储器由1K*4bRAM芯片组成,共需要多少片?
3〕需要哪几位做片选译码来产生片选信号?
汇编语言编程题:
芯片初始化程序: