微型计算机原理与接口技术第三版课后练习答案Word格式文档下载.docx
《微型计算机原理与接口技术第三版课后练习答案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《微型计算机原理与接口技术第三版课后练习答案Word格式文档下载.docx(40页珍藏版)》请在冰豆网上搜索。
![微型计算机原理与接口技术第三版课后练习答案Word格式文档下载.docx](https://file1.bdocx.com/fileroot1/2023-1/25/c756d820-3c08-47df-9d37-d9509b6a5e8f/c756d820-3c08-47df-9d37-d9509b6a5e8f1.gif)
3.计算机地址总线的宽度决定了内存容量的大小。
4.计算机键盘输入的各类符号在计算机内部均表示为ASCII码。
(键盘与计算机通信采用ASCII码)
四、简答题
1.微处理器和微型计算机的发展经历了哪些阶段?
各典型芯片具备哪些特点?
P2~3
2.微型计算机硬件结构由哪些部分组成?
各部分的主要功能和特点是什么?
P8~11
3.微型计算机系统软件的主要特点是什么?
包括哪些内容?
P11~12
4.计算机中常用的数制有哪些?
如何进行数制之间的转换?
P13~15
5.ASCII码和BCD码有哪些特点?
其应用场合是什么?
P19~20
五、数制转换题
1.将下列十进制数分别转换为二进制数、十六进制数和压缩BCD码。
(1)25.8211001.1101B;
19.DH;
00100101.10000010BCD
(2)412.15110011100.0010B;
19C.2H;
040000010010.00010101BCD
(3)513.461000000001.0111;
201.7H;
010100010011.01000110BCD
(4)69.13601000101.0010;
45.2H;
01011001.000100110110BCD
2.将下列二进制数分别转换为十进制数和十六进制数。
(1)111001.10157.625D;
39.AH
(2)110010.110150.8125D;
32.DH
(3)1011.1101111.84375D;
B.D8H
(4)101101.011145.4375D;
2D.7H
3.将下列十六进制数分别转换为二进制数、十进制数和BCD码。
(1)7B.211111011.00100001B;
123.12890625D;
123.12890625BCD
(2)127.1C100100111.000111B;
295.06640625D;
295.06640625BCD
(3)6A1.4110110100001.01000001B;
1697.25390625D;
1697.25390625BCD
(4)2DF3.410110111110011.01B;
11763.25D;
11763.25BCD
4.写出下列十进制数的原码、反码、补码表示(采用8位二进制数)。
(1)96[96]原=01100000;
[96]反=01100000;
[96]补=01100000
(2)31[31]原=00011111;
[31]反=00011111;
[31]补=00011111
(3)-42[-42]原=10101010;
[-42]反=11010101;
[-42]补=11010110
(4)-115[-115]原=11110011;
[-115]反=10001100;
[-115]补=10001101
5.已知下列补码,求其原值的十进制表示。
(1)92H-110D
(2)8DH-115D
(3)B2H-78D
(4)4C26H+19494D
6.按照字符所对应的ASCII码表示,查表写出如下字符的ASCII码:
a、K、G、+、DEL、SP、CR、$。
61H4BH47H2BH7FH20H0DH24H
2思考与练习题
1.在EU中起数据加工与处理作用的功能部件是()。
A.ALUB.数据暂存器C.数据寄存器D.EU控制电路
2.以下不属于BIU中的功能部件是()。
A.地址加法器B.地址寄存器C.段寄存器D.指令队列缓冲器
3.堆栈操作中用于指示栈顶地址的寄存器是()。
A.SSB.SPC.BPD.CS
4.指令指针寄存器(IP)中存放的内容是()。
A.指令B.指令地址C.操作数D.操作数地址
5.8086系统可访问的内存空间范围是()。
A.0000H~FFFFHB.00000H~FFFFFH
C.0~216D.0~220
6.8086的I/O地址空间采用16位数寻址时,可访问的端门数容量为()。
A.16KBB.32KBC.64KBD.1MB
7.8086最大和最小工作方式的主要差别是()。
D
A.数据总线的位数不同B.地址总线的位数不同
C.I/O端口数的不同D.单处理器与多处理器的不同
1.8086的内部结构由_EU_和_BIU_组成,前者功能是_执行指令_,后者功能是_总线操作_。
P24P26
2.8086取指令时,会选取_CS_作为段基值,再加上由_IP_提供的偏移地址形成20位物理地址。
3.8086有两种外部中断请求线,它们分别是_INTR_和_NMI_。
P32
4.8086的标志寄存器共有_9_个标志位,分为_6_个_状态_标志位和_3_个_控制_标志位。
P28
5.8086为访问1MB内存空间,将存储器进行_分段_管理;
其_物理_地址是唯一的;
偏移地址是指_相对段基地址的偏移量_;
逻辑地址常用于_程序中_。
P29P20P34P35
6.逻辑地址为1000H:
0230H时,其物理地址是_10230H_,段地址是_1000H_,偏移量是_0230H_。
7.时钟周期是指_CPU基本时间计量单位_,总线周期是指_一次总线操作时间_,总线操作是指_CPU经外部总线对存储器或I/O端口进行一次信息输入和输出的过程_。
P37
8.8086工作在最大方式时CPU引脚MN/-MX应接_地_;
最大和最小工作方式的应用场合分别是_多处理器和单处理器系统_。
P38P39
1.IP中存放的是正在执行的指令偏移地址。
2.从内存单元偶地址开始存放的数据称为规则字。
3.EU执行算术和逻辑运算后的结果特征可由控制标志位反映出来。
4.指令执行中插入TI,和TW是为了解决CPU与外设之间的速度差异。
5.总线操作中第1个时钟周期通常是取指周期。
6.8086系统复位后重新启动时从内存地址FFFF0H处开始执行。
1.8086微处理器中的指令队列起什么作用(EU从指令队列取指令的缓冲作用),其长度是多少字节(6个字节)?
P26
2.什么是逻辑地址(无符号32位二进制数),它由哪两部分组成(段地址和偏移地址)?
8086的物理地址是如何形成的(物理地址=段地址*10H+偏移地址)?
P35
3.8086微机系统中存储器为什么要分段(8086系统内的地址寄存器均是16位,只能寻址64KB;
将1MB存储器分成逻辑段,每段不超过64KB空间,以便CPU操作。
),各逻辑段之间的关系如何(可重叠、交叉、紧密连接和分离)?
P34
4.I/O端口有哪两种编址方式(统一编址和独立编址),8086的最大I/O寻址空间是多少(64KB)?
P36
5.8086的最大工作模式(8086、8087和8089通过总线控制器8288产生对总线的控制信号)和最小工作方式(8086直接产生总线控制信号)的主要区别是什么?
他们分别应用在何种场合(多处理器和单处理器系统)?
P39
6.简述实地址方式(由段地址和偏移地址计算产生物理地址,其物理地址可以超过20位)和虚拟8086方式(由段地址和偏移地址计算产生的有效物理地址为20位)的区别。
P41
7.简述Pentium微处理器的主要特性。
P44
五、分析题
1.有一个由10个字组成的数据区,其起始地址为1200H:
0120H。
试写出该数据区的首末存储单元的实际地址(12120H~12120H+10*2-1=12133H)。
2.若一个程序段开始执行之前,(CS)=33AOH,(IP)=0130H,试问该程序段启动执行指令的实际地址是什么(33A00H+0130H=33B30H)?
3.有两个16位的字31DAH和5E7FH,它们在8086系统存储器中的地址分别为00130H和00134H,试画出它们的存储示意图。
地址
存储空间
00130H
0DAH
00131H
31H
00134H
7FH
00135H
5EH
4.将字符串“Good!
”的ASCII码依次存人从01250H开始的字节单元中,画出它们存放的内存单元示意图。
01250H
‘G’
01251H
‘o’
01252H
01253H
‘d’
01254H
‘!
’
5.8086微处理器读/写总线周期各包含多少个时钟周期(4个时钟周期)?
什么情况下需要插入TW等待周期(当T3上升沿检测到READY=0时,在T3与T4之间插入TW)?
应插入多少个TW,取决于什么因素(READY=0持续的时间长短)?
什么情况下会出现空闲状态TI(BIU不执行总线操作的时钟周期。
例如:
8086执行MUL、DIV指令长指令时,BIU有段时间不执行总线操作;
因此,插入TI)?
P38
3思考与练习题
1.寄存器间接寻址方式中,要寻找的操作数位于()中。
A.通用寄存器B.内存单元C.段寄存器D.堆栈
2.下列指令中正确的是()。
A.MOVAL,BXB.MOVCS,AXC.MOVAL,CLD.MOV[BX],[SI]
3.下列指令中错误的是()。
A.MOVAX,1234HB.INCBXC.SRLAX,2D.PUSHDX
4.设(SP)=1010H,执行POPAX后,SP中的内容为()。
A.1011HB.1012HC.1OOEHD.100FH
5.给定(AL)=80H,(CL)=02H,指令SHRAL,CL执行后的结果是()。
A.(AL)=40HB.(AL)=20HC.(AL)=C0HD.(AL)=E0H
6.将AX清零并使CF位清零,下面指令错误的是()。
A.SUBAX,BXB.XORAX,AXC.MOVAX,0(不影响FR)D.ANDAX,0OOOH
1.计算机指令通常由_操作码字段_和_操作数字段_两部分组成;
指令对数据操作时.按照数据的存放位置可分为_立即数、寄存器操作数、存储器操作数_。
2.寻址的含义是指_寻找操作数的过程_;
8086指令系统的寻址方式按照大类可分为_与操作数有关的寻址方式、与I/O端口有关的寻址方式_;
其中寻址速度最快的是_立即数寻址_。
P54~P57
3.指令MOVAX,ES:
[BX+O1OOH]中,源操作数位于_物理地址为ES*10H+BX+0100H的存储单元_;
读取的是_附加数据ES_段的存储单元内容。
4.堆栈是一个特殊的_存储器区域_,其操作是以_2字节单元_为单位按照__先进后出_原则来处理;
采用_SP_指向栈顶地址,入栈时地址变化为_SP<
=(SP)-2_。
P57
5.I/O端口的寻址有_直接端口寻址和间接端口寻址_两种方式;
采用8位数端口地址(直接端口寻址)时,可访问的端口地址为_0~255_;
采用16位数端口地址(间接端口寻址)时,可访问的端口地址为_0~65535_。
P57~P58
三、分析计算题
1.指出如下指令中源操作数和目的操作数的寻址方式:
(1)MOVAX,100H
(2)MOVCX,AX
(3)ADD[SI],1000(4)SUBBX,[SI+100]
(5)MOV[BX+300],AX(6)ANDBP,[DI]
源操作数目的操作数
(1)MOVAX,100H立即数寄存器
(2)MOVCX,AX寄存器寄存器
(3)ADD[SI],1000立即数寄存器间接
(4)SUBBX,[SI+100]变址寄存器
(5)MOV[BX+300],AX寄存器变址
(6)ANDBP,[DI]寄存器间接寄存器
2.分析如下指令的正误,对错误指令说明出错误原因并加以收正:
(1)MOV[1200],23H
(2)MOV1020H,CX
(3)MOV[1000H],[2000H](4)MOVIP,O00H
(5)PUSHAL(6)OUTCX,AL
(7)INAL,[80H](8)MOVCL,3300H
(1)MOV[1200],23H;
未指明数据类型MOVBYTEPTR[1200],23H
(2)MOV1020H,CX;
立即数不能作为目标操作数MOV[1020H],CX
(3)MOV[1000H],[2000H];
两操作数不能均是内存单元MOVBYTEPTR[1000H],2000H
(4)MOVIP,000H;
IP不能在MOV指令中出现JMP000H
(5)PUSHAL;
操作数必须是16位PUSHAX
(6)OUTCX,AL;
CX不能作为端口地址的间接访问寄存器OUTDX,AL
(7)INAL,[80H];
直接端口地址写法错误INAL,80H
(8)MOVCL,3300H;
两操作数的数据类型不一致MOVCX,3300H
3.给定(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100H)=12H,(2010lH)=34H,(20102H)=56H,(20103H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=B7H,(21203H)=65H。
试分析如下指令执行后,AX寄存器中的内容:
(1)MOVAX,12O0H
(2)MOVAX,BX
(3)MOVAX,[1200H](4)MOVAX,[BX]
(5)MOVAX,1100H[BX](6)MOVAX,[BX+SI]
(7)MOVAX,[11OOH+BX+SI]
(1)MOVAX,1200H;
(AX)=1200H
(2)MOVAX,BX;
(AX)=0100H
(3)MOVAX,[1200H];
(AX)=4C2AH
(4)MOVAX,[BX];
(AX)=3412H
(5)MOVAX,1100H[BX];
(6)MOVAX,[BX+SI];
(AX)=7856H
(7)MOVAX,[1100H+BX+SI];
(AX)=65B7H
4.已知(AX)=75A4H,CF=1,分别写出如下指令执行后的结果:
(1)ADDAX,08FFH
(2)INCAX
(3)SUBAX,4455H(4)ANDAX,OFFFH
(5)ORAX,0101H(6)SARAX,1
(7)RORAX,1(8)ADCAX,5
(1)ADDAX,08FFH;
(AX)=7EA3HCF=0
(2)INCAX;
(AX)=75A5HCF=1
(3)SUBAX,4455H;
(AX)=314FHCF=0
(4)ANDAX,0FFFH;
(AX)=05A4HCF=0
(5)ORAX,0101H;
(AX)=75A5HCF=0
(6)SARAX,1;
(AX)=3AD2HCF=0
(7)RORAX,1;
(8)ADCAX,5;
(AX)=75AAHCF=0
5.给定(SS)=8000H,(SP)=2000H,(AX)=7A6CH,(DX)=3158H。
执行如下程序段,画出每条指令执行后寄存器的内容和堆栈存储内容的变化情况:
PUSHAX
PUSHDX
POPBX
POPCX
PUSHAX;
(AX)=7A6CH,(SP)=1FFEH,(81FFEH)=7A6CH
PUSHDX;
(DX)=3158H,(SP)=1FFCH,(81FFCH)=3158H
POPBX;
(BX)=3158H,(SP)=1FFEH
POPCX;
(CX)=7A6CH,(SP)=2000H
6.试分析如下程序段执行完后,BX的内容:
817FH
MOVBX,1030H;
(BX)=1030H
MOVCL,3;
(CL)=3
SHLBX,CL;
(BX)=8180H
DECBX;
(BX)=817FH
四、设计题
1.现有两个双倍精度字数据1234FEDCH和11238765H,分别存放在数据段中从1000H和2000H开始的存储单元中,低位在前,高位在后。
要求两数相加之后所得的和放在从1000H开始的内存单元中,设计该程序段。
;
3_4_1.ASM
MOVSI,2000H;
SI指向2000H
MOVDI,1000H;
DI指向1000H
CLC;
CF=0
MOVCX,4;
CX=4,循环相加4次
LL:
MOVAL,[SI];
取数
ADCAL,[DI];
相加
MOV[DI],AL;
保存
INCSI;
SI增1
INCDI;
DI增1
LOOPLL;
CX减1,不为0,转LL
MOVAX,0
ADCAX,0
MOV[DI],AX
2.设AX、BX中保存有带符号数,CX、DX中保仔无符号数,请写出实现以下功能的指令或程序段。
(1)若(CX)<
(DX),则转移到NEXT1。
CMPCX,DX
JBNEXT1
(2)若(AX)>
(BX),则转移到NEXT2。
CMPAX,BX
JGNEXT2
(3)若(CX)=0,则转移到NEXT3。
CMPCX,0或JCXZNEXT3
JENEXT3
(4)若AX中内容为负,则转移到NEXT4。
TESTAX,8000H或ADDAX,0
JNZNEXT4或JSNEXT4
3.设堆栈寄存器(SS)=2250H。
堆栈指示器(SP)=0140H,若在堆栈中存入5个字数据,则SS、SP的内容各是多少?
[(SS)=2250H、(SP)=0136H]如果又取出2个字数据,SS、SP的内容各是多少?
[(SS)=2250H、(SP)=013AH]
4思考与练习题
1.汇编语言程序中可执行的指令位于()中。
A.数据段B.堆栈段C.代码段D.附加数据段
2.以下内容不是标号和变量属性的是()。
A.段属性B.地址属性C.偏移属性D.类型属性
3.DOS功能调用中采用屏幕显示单个字符,其值保存在()寄存器。
A.ALB.AHC.DLD.DH
4.DOS功能调用中,从键盘读取一个字符并回显的是()。
A.01HB.02HC.09HD.0AH
5.循环程序设计中,要考虑的核心问题是()。
A.循环的控制B.选择循环结构C.设置循环参数初始值D.修改循环控制参数
6.对于宏指令和子程序,下列说法不正确的是()。
A.宏指令不能简化目标程序
B.子程序可以简化目标程序,但执行时间长
C.子程序在执行过程中由CPU处理
D.宏指令在执行时要保护和恢复现场
1.汇编语言是一种面向_CPU指令系统_的程序设计语言,采用_指令助记符_表示操作码和操作数,用_符号地址_表示操作数地址。
P82
2.汇编语言的语句可由_名字、操作符、操作数、注释_四部分组成;
其中_操作符_是必须具备的。
P83
3.机器指令是指_发送给CPU的命令_,在运行时由_CPU_执行;
伪指令是_发送给汇编程序的命令_,在汇编过程中由_汇编程序_进行处理;
宏指令是指_代表一段源程序_,通常用于_经常用到的一个程序段_场合。
P87、P107
4.子程序的基本结构包括_子程序说明、现场保护及恢复、子程序体、子程序返回_等几个部分;
子程序的参数传递有_寄存器、堆栈、存储器_等方法。
P104、P105
5.DOS功能调用可完成对_完成对文件、设备、内存_的管理;
BIOS的主要功能是_外设的控制;
如系统加电自检、引导装入及对键盘、磁盘、显示器、打印机、异步串行通信口等的控制_。
6.给定如下程序段,在每条指令的右边写出指令的含义和操作功能,指出该程序段完成的功能及运行结果:
MOVAX,0;
AX<
=0
MOVBX,1;
BX<
=1
MOVCX,5;
CX<
=5
LP:
ADDAX,BX;
=AX+BX
ADDBX,2;
=BX+2
LOOPLP;
=CX-1;
若CX≠0,转LP
HLT;
停机
(1)该程序段完成的功能是_
_。
(2)程序运行后:
(AX)=_36_;
(BX)=_11_;
(CX)=_0_。
1.伪指令是在汇编中用于管理和控制计算机相关功能的指令。
2.程序中的“$”可指向下一个所能分配存储单元的偏移地址。