微机原理习题参考答案总结概要.docx
- 文档编号:25085194
- 上传时间:2023-06-04
- 格式:DOCX
- 页数:43
- 大小:254.38KB
微机原理习题参考答案总结概要.docx
《微机原理习题参考答案总结概要.docx》由会员分享,可在线阅读,更多相关《微机原理习题参考答案总结概要.docx(43页珍藏版)》请在冰豆网上搜索。
微机原理习题参考答案总结概要
第1章习题答案
1.答:
计算机硬件的基本组成部分有:
运算器、控制器、存储器、输入设备和输出设备五大组成部分;
运算器功能:
完成各种算术运算或逻辑运算;
控制器功能:
发出各种控制信息,使计算机各部件协调工作;
存储器功能:
存储程序和数据;
输入设备:
将程序和数据输入的部件;
输出设备:
将结果数据输出的部件。
2.答:
以微型计算机为核心,配以鼠标、键盘等外围设备、电源、接口电路,以及控制计算机工作的软件构成微型计算机系统。
3.答:
主板与外部设备之间的数据传输必须通过系统总线,所以系统总线包含的信号线必须满足下列各种输入/输出操作的需要:
①访问分布于主板之外的存储器;②访问I/O接口;③适应外部中断方式;④适应存储器直接与外部设备交换信息。
总线控制逻辑的任务就是产生和接受这些操作所需要的信号。
4.答:
计算机有运算器、控制器、存储器、输入设备和输出设备五大部分组成,计算机内部采用二进制数据的格式表示数据和指令。
程序将事先保存在内存储器中,计算机在工作时,不需要操作人员干预,自动逐条取出指令并执行。
5.答:
CPU首先执行主板上BIOS中的自检程序;执行引导装入程序,依次搜寻硬盘、光盘等;读出引导记录,装入引导程序;由引导程序将操作系统装入内存;执行操作系统。
6.答:
BIOS是BasicInputOutputSystem的缩写,指的是基本输入输出系统"。
它是一组固化到计算机ROM芯片上的程序,保存着计算机最重要的基本输入输出的程序、系统设置信息、开机后自检程序和系统自启动程序。
7.答:
略。
第3章习题答案
1.
(1)答:
物理地址:
物理地址(PA)是20位无符号二进制数,是CPU访问存储器的实际地址。
每个存储单元对应一个物理地址。
8086存储空间的物理地址范围是:
00000H~FFFFFH。
逻辑地址:
采用分段结构的存储器中,把通过段地址和偏移地址来表示的存储单元的地址称为逻辑地址,记为:
段地址:
偏移地址。
段地址:
8086规定各逻辑段从节的整数边界开始,即段首地址二进制值的低4位是0000,把段首地址的高16位称为段基址或段地址。
偏移地址:
把某一存储单元相对于段地址的段内偏移量称为偏移地址(也称有效地址EA)。
段地址和偏移地址都是是16位无符号二进制数。
(2)答:
时钟周期:
计算机的“时钟”是由振荡源产生的、幅度和周期不变的节拍脉冲,每个脉冲周期称为时钟周期,又称为T状态或T周期,时钟周期是微机系统工作的最小时间单元。
总线周期:
当CPU访问存储器或输入/输出端口时,需要通过总线进行读或写操作,这个过程称为总线周期(BusCycle)。
总线周期是利用总线完成一次读/写所需要的时间。
指令周期:
执行一条指令所需要的时间称为指令周期(InstructionCycle)。
指令周期由1个或多个总线周期组成。
(3)答:
最小模式:
也称为单处理器模式,是指系统中只有一片8086微处理器,所连接的存储器容量不大、片子不多,所要连接的I/O端口也不多,系统的控制总线就直接由CPU的控制线供给,从而使得系统中的总线控制电路减到最少。
最小模式适用于较小规模的系统。
最大模式:
相对于最小模式而言,适用于中、大型规模的系统。
系统中有多个微处理器,其中一个是主处理器8086,其他的处理器称为协处理器,承担某方面专门的工作。
需要增加一片8288来对8086CPU发出的控制信号进行变换和组合,以得到对存储器或I/O端口的读/写信号和对锁存器、总线收发器的控制信号。
2.答:
EU:
负责指令的执行,即从总线接口部件BIU的指令队列取指令,指令执行后向BIU送回运算结果,同时把运算结果的状态特征保存到标志寄存器中。
BIU:
负责CPU与存储器、I/O设备之间的数据传送。
BIU完成以下操作:
取指令送给指令队列、配合执行部件从指定的内存单元或者外设端口中取数据、将数据传送给执行部件或者把执行部件的操作结果传送到指定的内存单元或外设端口中。
8086的BIU和EU在很多时候可以并行工作,使得取指令、指令译码和执行指令这些操作构成操作流水线。
①当指令队列中有两个空字节,且EU没有访问存储器和I/O接口的要求时,BIU会自动把指令取到指令队列中。
②当EU准备执行一条指令时,它会从指令队列前部取出指令执行。
在执行指令的过程中,如果需要访问存储器或者I/O设备,那么EU会向BIU发出访问总线的请求,以完成访问存储器或者I/O接口的操作。
如果此时BIU正好处于空闲状态,那么,会立即响应EU的总线请求;但如果BIU正在将某个指令字节取到指令队列中,那么,BIU将首先完成这个取指令操作,然后再去响应EU发出的访问总线的请求。
③当指令队列已满,而且EU又没有总线访问时,BIU便进入空闲状态。
④在执行转移指令、调用指令和返回指令时,下面要执行的指令就不是在程序中紧接
着的那条指令了,而BIU往指令队列装入指令时,总是按顺序进行的。
在这种情况下,指
令队列中已经装入的指令就没有用了,会被自动消除。
随后,BIU会往指令队列中装入另一个程序段中的指令。
3.答:
地址信号是CPU发送给内存或I/O设备的,所以地址线是单向的;
数据信号可以从CPU发送给内存或I/O设备,也可以从内存或I/O设备发送给CPU,
故而数据线是双向的。
4.答:
8086CPU中有14个寄存器。
它们是:
4个16位的通用寄存器:
AX、BX、CX、DX和
8个8位的通用寄存器:
AH、AL、BH、BL、CH、CL、DH、DL;指针和变址寄存器SP、
BP、SI、DI;4个16位的段寄存器CS、DS、SS和ES;标志寄存器FR;指令指针寄存器
IP。
功能略。
5.答:
(1)加法运算的结果为:
CEACH;CF=0,PF=1,AF=0,ZF=0,SF=1,OF=1;
(2)加法运算的结果为:
68ACH;CF=0,PF=1,AF=0,ZF=0,SF=0,OF=0;
(3)加法运算的结果为:
DDDDH;CF=0,PF=1,AF=0,ZF=0,SF=1,OF=0。
6.答:
8086CPU可寻址的存储器地址范围是00000H~FFFFFH;
可寻址的I/O端口地址范围是0000H~FFFFH。
7.答:
由于8086CPU提供20位地址,但8086中可用来存放地址的寄存器,如IP、SP、BX、
SI等都是16位的,只能直接寻址64KB。
为了寻址1MB存储空间,8086CPU采用了典型的
存储器分段技术,即将整个存储器空间分为许多逻辑段,每个逻辑段的容量小于或等于64KB。
分段后,对存储器的寻址操作不再直接用20位的物理地址,而是采用段地址加段内偏移地
址的二级寻址方式。
8.答:
将AH的内容送存储单元的操作过程中:
M/IO=1,WR=0,RD=1,DT/R=1;
将I/O端口的内容送AL的操作过程中:
M/IO=0,WR=1,RD=0,DT/R=0。
9.答:
BHEA0有效的数据引脚操作
00
AD15~AD0(一个总线周期同时访问奇体和偶
体,从奇地址单元读/写字数据的高8位,从偶地
址单元读/写字数据的低8位)
从偶地址读/写一个字
10AD7~AD0
从偶地址读/写一个字节
01AD15~AD8
从奇地址读/写一个
字节0110
AD15~AD8(第一个总线周期从奇字数据的低8
位)
AD7~AD0(第二个总线周期从偶地址单元读/写
字数据的高8位)
从奇地址读/写一个字
10.答:
8086系统复位后,指令指针(IP)为0000H;CS寄存器为FFFFH,其他寄存器为0000H;
指令队列清空。
11.答:
8086的A19/S6~A16/S3和AD15~AD0是复用信号,需要地址锁存器将地址信息保存
起来,为外接存储器或外设提供地址信息。
需要锁存的信号是:
地址信号及BHE信号。
12.答:
8086CPU一个基本的总线周期包含4个时钟周期:
T1、T2、T3和T4。
在T1状态,M/IO有效,指示CPU访问的是存储器还是外设,之后CPU往多路复用
总线上发出地址信息,以指出要寻址的存储单元或外设端口的地址。
在T1状态,CPU还必
须在ALE引脚上输出一个正脉冲作为地址锁存信号。
BHE信号也在T1状态送出,它用来
表示数据传送的字宽。
在T2状态,CPU从总线上撤销地址,使总线的低16位浮空,置成高阻状态,为传输
数据作准备。
总线的最高4位(A19~A16)用来输出本总线周期的状态信息。
读信号RD或
写信号WR在T2状态变为有效,指示CPU将进行哪种操作(读或写)。
在T3状态,多路总线的高4位继续提供状态信息,而多路总线的低16位上出现由CPU
读出的数据或者CPU从存储器或端口写入的数据。
在T4状态和前一个状态的交界处,CPU对数据总线进行采样,获得数据,总线周期结
束。
13.答:
在有些情况下,外设或存储器速度较慢,不能及时地配合CPU传送数据。
这时,外设
或存储器会通过“READY”信号线在T3状态启动之前向CPU发一个“数据未准备好”信
号,于是CPU会在T3之后插入1个或多个附加的时钟周期TW。
取决与外设或存储器速度。
14.答:
两种操作时序的不同之处发生在T1和T2状态。
①在T1状态,读周期:
DT/R应输出低电平;写周期:
DT/R应输出高电平。
②在T2状态,读周期:
RD有效,而WR无效,AD15~AD0为高阻态;写周期:
RD
变为无效,而写信号WR变为有效,AD15~AD0在地址撤销之后立即送出要写入存储器或
外设端口的数据。
15.答:
在最小模式下,读信号RD、ALE和DT/R、DEN等信号直接由CPU给出;
在最大模式下,总线控制器8288根据
S2,S1和S0状态信号产生读信号MRDC和IORC,
ALE和DT/R、DEN也是由8288发出的,而且DEN信号的极性与CPU在最小模式下发
出的DEN信号正好相反。
第4章习题答案
1.答:
指令中关于如何求出操作数有效地址的方法称为寻址方式。
8086CPU支持多种寻址方式,根据操作数的类型及来源大致分为3类:
数据寻址、转移地址寻址和I/O寻址。
2.答:
8086汇编指令可以采用7种基本的数据寻址方式:
①立即寻址;②寄存器寻址;③直接寻址;④寄存器间接寻址;⑤寄存器相对寻址;⑥基址变址寻址;⑦相对基址变址寻址。
与存储器寻址方式(后5种)相比,寄存器寻址方式最快。
3.答:
如果指令中没有用前缀说明操作数存放在哪个段,则操作数默认存放在数据段。
8086系统允许操作数存放在代码段、堆栈段或附加段。
此时,就需要在指令中利用前缀指明段超越。
例如:
MOVES:
[1225H],AX
4.答:
(1)寄存器寻址方式
(2)寄存器间接寻址方式,PA=10300H
(3)寄存器间接寻址方式,PA=20200H
(4)直接寻址方式,PA=10060H
(5)基址变址寻址方式,PA=10500H
(6)相对基址变址寻址方式,PA=12300H
(7)直接寻址方式,PA=11000H
(8)寄存器相对寻址方式,PA=10306H
(9)直接寻址方式,PA=10065H
5.答:
(1)×××√×√××√××
6.答:
(1)源操作数的寻址方式不同。
MOVAX,3000H指令的源操作数采用的是立即数寻址方式,MOVAX,[3000H]指令的源操作数采用的是直接寻址方式。
(2)指令执行后,AX的值不同。
MOVAX,MEM指令执行后,AX得到的是MEM单元的内容,而MOVAX,OFFSETMEM指令执行后,AX得到的是MEM单元的地址。
(3)指令不同。
MOVAX,MEMMOVAX,MEM指令执行后,AX得到的是MEM单元的内容,而LEAAX,MEM指令执行后,AX得到的是MEM单元的地址。
(4)转移的类型不同。
JMPSHORTL1指令实现的是段内转移,而JMPNEARPTRL1指令实现的是段间转移。
(5)指令的执行结果不同。
CMPDX,CX指令执行后,DX的值不变,而SUBDX,CX指令执行后,DX的值是两寄存器值的差。
(6)操作数所在段不同。
MOV[BP][SI],CL指令访问的是堆栈段的存储单元,而MOVDS:
[BP][SI],CL指令访问的是数据段的存储单元。
7.答:
(1)MOVBYTEPTR[BP],200指令执行后,(58200H)=200H
(2)MOVWORDPTR[BX],2000指令执行后,(22400H)=2000H
8.答:
当前栈顶地址是:
FE00H:
2010H;
执行PUSHBX指令后,栈顶地址变为:
FE00H:
200EH,栈顶2字节内容是:
3457H。
9.答:
(1)(DX)=3C62H,CF=1
(2)(DX)=03C6H,CF=0
(3)(DX)=18A0H,CF=1
(4)(DX)=2BC6H,CF=0
(5)(DX)=18B7H,CF=1
(6)(DX)=BCC5H,CF=0
10.答:
(AX)CFZFOFSFPF
(1)134EH00001
(2)0821H00001
(3)F142H10011
(4)0A6910011
(5)F596-----
(6)0A6900001
11.答:
(1)CMPCX,DXJANEXT
(2)CMPAX,BXJNANEXT
(3)CMPDX,0JZNEXT
(4)CMPCX,DXJBENEXT
12.答:
(1)程序转向L1。
(2)程序转向L1。
(3)程序转向L2。
(4)程序转向L5。
(5)程序转向L5。
13.答:
因为普通运算指令执行的是二进制数的运算,而BCD码是十进制数,所以,需要对运算结果进行十进制调整。
在做BCD码的加、减和乘法运算时,十进制调整指令放在运算指令之后;而作BCD码的除法运算时,在运算指令之前用十进制调整指令对被除数进行调整。
14.答:
MOVCl,3
10
SHRbx,cl
15.答:
(略)
16.答:
17.答:
DATASEGMENT
COUNT=100H
ORG1000H
D_DATADBCOUNTDUP(?
)
ORG2170H
S_DATADBCOUNT/5DUP(1,2,3,4,5)
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,ES:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVES,AX
LEASI,S_DATA
LEADI,D_DATA
MOVCX,COUNT
REPMOVSB
MOVAL,1
MOVCX,COUNT
LEADI,D_DATA
AGAIN:
CMPBYTEPTR[DI],AL
JNZNEXT
MOVBYTEPTR[DI],''
NEXT:
INCDI
LOOPAGAIN
EXIT:
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
11
18.答:
19.答:
CODESEGMENT
ASSUMECS:
CODE
START:
MOVAX,5678H
MOVDX,1234H
NOTAX
NOTDX
ADDAX,1
ADCDX,0
EXIT:
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
;本程序未考虑溢出的情况。
DATASEGMENT
A1DW5050H
A2DW?
;存A1的反码
A3DW?
;存A1的补码
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVAX,A1
NOTAX
MOVA2,AX
INCAX
MOVA3,AX
EXIT:
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
12
20.答:
21.答:
DATASEGMENT;AT5000H
ORG3481H
DATDB12H
DB?
?
?
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVAL,DAT
NEGAL
MOVDAT+1,AL
MOVAL,DAT
XORAL,00001111B
MOVDAT+2,AL
MOVAL,DAT
ORAL,11110000B
MOVDAT+3,AL
EXIT:
MOVAH,4CH0
INT21H
CODEENDS
ENDSTART
COUNT=1000
DATASEGMENT
ORG1000H
DATDB10DUP(12H,-5,-3,0,-128,56H,98H,4,128,200)
ORG2000H
MINDATDB?
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
LEASI,DAT
MOVCX,COUNT
DECCX
MOVAL,[SI]
NEXT:
INCSI
CMPAL,[SI]
JLEISMIN
MOVAL,[SI]
ISMIN:
LOOPNEXT
MOVMINDAT,AL
EXIT:
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
13
22.答:
DATASEGMENT
STRING1DB'hELLO!
'
COUNT1=$-STRING1
STRING2DB'hEL1O!
'
COUNT2=$-STRING2
IMDB'MATCH$'
NMDB'NOTMATCH$'
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
LEASI,STRING1
LEADI,STRING2
MOVCX,COUNT1
MOVBX,COUNT2
CMPCX,BX
JNZDISPNOTMATCH
NEXT:
MOVAL,[SI]
MOVAH,[DI]
CMPAL,AH
JNZDISPNOTMATCH
INCSI
INCDI
LOOPNEXT
ISMATCH:
MOVDX,OFFSETIM
MOVAH,9
INT21H
JMPEXIT
DISPNOTMATCH:
MOVDX,OFFSETNM
MOVAH,9
INT21H
EXIT:
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
14
23.答:
24.答:
DSEGSEGMENT
DATADB5,6,7,8
DW?
DATA2DB1,10,100,20
DSEGENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DSEG
START:
MOVAX,DSEG
MOVDS,AX
MOVDX,0
MOVCX,4
LEASI,DATA
LEADI,DATA2
NEXT:
MOVAL,[DI]
MOVBL,[SI]
CALLDOMUL
ADDDX,AX
INCDI
INCSI
LOOPNEXT
MOVWORDPTRDATA+4,DX
EXIT:
MOVAH,4CH
INT21H
DOMULPROC
MULBL
RET
DOMULENDP
CODEENDS
ENDSTART
MOVCX,100
MOVAX,SEGLIST
MOVDS,AX
MOVAX,SEGBLK
MOVES,AX
LEASI,LIST
ADDSI,CX
LEADI,BLK
ADDDI,CX
STD
REPMOVSB
15
25.答:
JMPSHORTLAB指令是一条双字节指令。
这条指令取出后,(IP)=0102H,转移目标的偏移地址=(IP)+位移量。
所以,转移目标的物理地址=(CS)╳16+(IP)+位移量。
(1)转移目标的物理地址=(CS)╳16+0158H
(2)转移目标的物理地址=(CS)╳16+0182H
(3)转移目标的物理地址=(CS)╳16+017AH
(4)转移目标的物理地址=(CS)╳16+01E2H
26.答:
DSEGSEGMENT
BUFFERDW8
DB'12345678'
DSEGENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DSEG
START:
MOVAX,DSEG
MOVDS,AX
MOVCX,BUFFER
SARCX,1
LEASI,BUFFER
MOVDI,SI
ADDDI,2
AGAIN:
ADDSI,2
MOVAL,[SI]
ANDAL,0FH
SALBYTEPTR[SI+1],1
SALBYTEPTR[SI+1],1
SALBYTEPTR[SI+1],1
SALBYTEPTR[SI+1],1
ORAL,BYTEPTR[SI+1]
MOV[DI],AL
INCDI
LOOPAGAIN
EXIT:
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
DSEGSEGMENT
ORG10H
DATDB10
DB?
DSEGENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DSEG
START:
MOVAX,DSEG
MOVDS,AX
MOVAL,DAT
MOVBL,AL
SALBL,1
ADDAL,BL
MOVCL,2
SALBL,CL
ADDAL,BL
MOVDAT+1,AL
EXIT:
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
16
27.答:
28.答:
29.答:
DSEGSEGMENT
ORG10H
DATDB10H,20H
DB?
?
DSEGENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DSEG
START:
MOVAX,DSEG
MOVDS,AX
MOVAL,DAT
MOVAH,DAT+1
MOVCL,3
SARAX,CL
MOVDAT+2,AL
MOVDAT+3,AH
EXIT:
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 习题 参考答案 总结 概要
![提示](https://static.bdocx.com/images/bang_tan.gif)