计算机原理及应用习题16章.docx

上传人:b****6 文档编号:3880326 上传时间:2022-11-26 格式:DOCX 页数:19 大小:34.70KB
下载 相关 举报
计算机原理及应用习题16章.docx_第1页
第1页 / 共19页
计算机原理及应用习题16章.docx_第2页
第2页 / 共19页
计算机原理及应用习题16章.docx_第3页
第3页 / 共19页
计算机原理及应用习题16章.docx_第4页
第4页 / 共19页
计算机原理及应用习题16章.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

计算机原理及应用习题16章.docx

《计算机原理及应用习题16章.docx》由会员分享,可在线阅读,更多相关《计算机原理及应用习题16章.docx(19页珍藏版)》请在冰豆网上搜索。

计算机原理及应用习题16章.docx

计算机原理及应用习题16章

第1章微机系统导论

1.2微处理器、微型计算机和微型计算机系统之间有何联系与区别?

答:

微处理器是微型计算机的中央处理器,微型计算机是微型计算机系统硬件部分的核心部件。

微处理器是指由一片或几片大规模集成电路组成的具有运算器和控制器功能的中央处理器部件。

微型计算机又称主机,是指以微处理器为核心,配上存储器、输入/输出接口电路及系统总线所组成的计算机。

微型计算机系统是指以微型计算机为中心,配以相应的外围设备(如硬盘、显示器、键盘、鼠标等)、电源和辅助电路(统称硬件)以及指挥微型计算机工作的软件系统(如系统软件、应用软件)所构成的系统。

1.3一个基本的微机硬件系统的组成部分包括哪几部分?

实际微机硬件系统一般都由哪些部件组成?

答:

一个基本的微机硬件系统的组成包括微处理器芯片、存储器芯片与输入输出接口芯片。

微处理器芯片是微机的运算和控制中心,存储器芯片(内存)用来存储程序和数据,输入输出接口芯片是微机与外设之间的接口。

主流微机硬件系统一般由主机(包括CPU、主存储器RAM、CPU外围芯片组和总线插槽)、外设接口卡、外部设备(如显示器、键盘、鼠标)及电源等部件组成。

1.6一个最基本的微处理器由哪几部分组成?

它们各自的主要功能是什么?

答:

一个最基本的微处理器由运算器、控制器和内部寄存器阵列3个部分组成。

运算器又称为算术逻辑单元(ALU),用来进行算术或逻辑运算以及位移循环等操作;控制器包括指令寄存器(IR)、指令译码器(ID)、可编程逻辑阵列(PLA),三者共同作用完成取指控制、执指控制等操作;内部寄存器的数量和类型视具体的微处理器类型而定,一般包括累加器、数据寄存器、程序计数器、地址寄存器和标志寄存器等,用以存放对应的数据,供控制器和运算器使用。

1.7试说明程序计数器PC在程序执行过程中的具体作用与功能特点。

答:

PC中存放着正待取出的指令的地址。

根据PC中的指令地址,CPU准备从存储器中取出将要执行的指令。

通常程序按顺序逐条执行。

任何时刻PC都指示要取的下一个字节或下一条指令(对单字节指令而言)所在的地址。

因此,PC具有自动加1功能。

1.8试说明标志寄存器F的基本功能是什么?

它在程序执行过程中有何作用?

答:

标志寄存器F用来寄存CPU执行指令时所产生的结果或状态的标志信号。

如进行算术或逻辑运算时是否产生进位、半进位、溢出、结果等于零、奇偶性等状态的变化,通常需要将标志寄存器中这些运算后的结果或状态作为一种条件,用于判断程序是否转移。

不同型号的微处理器对应的标志位的具体设置与功能也不同。

1.9存储器的基本功能是什么?

程序和数据是以何种代码形式来存储信息的?

答:

存储器是计算机的存储和记忆部件,用来存放数据(包括原始数据、中间结果与最终结果)和程序。

程序和数据在计算机内部都是用0、1二进制代码的形式来表示的,每一个0或1就叫做1位信息。

1.10试说明位、字节、字长的基本概念及三者之间的关系。

答:

位(bit)是用0或1表示的一个二进制信息最基本单位;字节(Byte)是由8位二进制代码表示的一个叫做位组的基本信息单位;字(Word)是指由2个字节组成的16位信息单位。

字长是指计算机内部CPU一次可以处理二进制数字的位数,它通常是字节的整数倍。

第2章微机运算基础

2.2在进位记数制中,“基数”和“位权(或权)”的含义是什么?

一个以b为基数的任意进制数N,它按位权展开式求值的一般通式是如何描述的?

答:

基数就是表示该进位制所用字符或数码的个数;数制每一位所具有的值称为位权或简称权。

数N的按位权展开式的一般通式为

式中,ki为第i位的数码;b为基数;bi为第i位的权;n为整数的总位数;m为小数的总位数。

2.3将下列十进制数分别转换为二进制数。

(1)147

(2)4095(3)0.625(4)0.l5625

答:

方法1:

整数部分:

除2取余;小数部分:

乘2取整

方法2:

用特殊数字

(1)147=128+16+2+1=27+24+21+20=10010011B

(2)4095=4096-1=212-20=111111111111B

(3)0.625=0.5+0.125=2-1+2-3=0.101B

(4)0.l5625=0.00101B

2.4将下列二进制数分别转换为BCD数。

(1)1011

(2)0.01(3)10101.101(4)11011.001

答:

方法:

先转换为十进制数,再转换为BCD数

(1)1011B=11D=00010001BCD

(2)0.01B=0.25D=0.00100101BCD

(3)10101.101B=21.625D=00100001.011000100101BCD

(4)11011.001B=27.125D=00100111.000100100101BCD

2.5将下列二进制数分别转换为八进制数、十六进制数。

(1)B

(2)11B

(3)0.01101011B(4).0011B

答:

方法:

二进制数转换为八进制数:

3位变1位;

二进制数转换为十六进制数:

4位变1位。

(1)B=253Q=0ABH

(2)11B=1363Q=2F3H

(3)0.01101011B=0.326Q=0.6BH

(4).0011B=352.14Q=0EA.3H

2.6选取字长n为8位和16位两种情况,求下列十进制数的原码。

(1)X=+63

(2)Y=-63(3)Z=+118(4)W=-118

答:

方法:

最高位(D7或D15)为符号位,其余位是数值部分的二进制形式。

(1)8位:

[X]原=00111111B,16位:

[X]原=0000000000111111B

(2)8位:

[Y]原=10111111B,16位:

[Y]原=1000000000111111B

(3)8位:

[Z]原=01110110B,16位:

[Z]原=0000000001110110B

(4)8位:

[W]原=11110110B,16位:

[W]原=1000000001110110B

2.7选取字长n为8位和16位两种情况,求下列十进制数的补码。

(1)X=+65

(2)Y=-65(3)Z=+127(4)W=-128

答:

方法:

最高位(D7或D15)为符号位,若为正数,则其余位是数值部分的二进制形式;若为负数,则其余位是数值部分的二进制形式按位取反后末位加1。

(1)8位:

[X]补=01000001B,16位:

[X]补=0000000001000001B

(2)8位:

[Y]补=10111111B,16位:

[Y]补=1111111110111111B

(3)8位:

[Z]补=01111111B,16位:

[Z]补=0000000001111111B

(4)8位:

[W]补=10000000B,16位:

[W]补=1111111110000000B

2.8已知数的补码表示形式如下,分别求出数的真值与原码。

(1)[X]补=78H

(2)[Y]补=87H

(3)[Z]补=FFFH(4)[W]补=800H

答:

正数的原码与补码相同,负数的原码是补码的符号位不变,其余位按位取反后末位加1。

(1)[X]原=01111000B=78H,X=7×16+8=120

(2)[Y]原=11111001B=0F9H,Y=-(7×16+9)=-121

(3)[Z]原=0000111111111111B=0FFFH,Z=4095

(4)[W]原=0000100000000000B=0800H,W=2048

2.12设X=87H,Y=78H,在下述两种情况下比较两数的大小。

(1)均为无符号数

(2)均为带符号数(设均为补码)

答:

(1)若均为无符号数,则X>Y

(2)若均为带符号数,则最高位(符号位)为1的数为负数,最高位(符号位)为0的数为正数数,所以X

2.13选取字长n为8位,已知数的原码表示如下,求出其补码。

(1)[X]原=01010101

(2)[Y]原=

(3)[Z]原=(4)[W]原=

答:

正数的补码与原码相同,负数的补码是原码的符号位不变,其余位按位取反后末位加1。

(1)[X]补=01010101B

(2)[Y]补=B

(3)[Z]补=B(4)[W]补=B

2.15阐述微型计算机在算术运算时,所产生的“进位”与“溢出”二者之间的区别。

答:

溢出是指带符号数的补码运算溢出,溢出及其判断方法:

OF=D7C⊕D6C。

进位是指运算结果的最高位向更高位的进位D7C。

进位和溢出是两个不同性质的概念,不能混淆,两者没有必然的联系。

2.16选字长n为8位,用补码列出竖式计算下列各式,并且回答是否有溢出。

若有溢出,则是正溢出还是负溢出?

(1)01111001+01110000

(2)—01111001—01110001

(3)01111100—01111111(4)—01010001+01110001

答:

(1)正溢出

(2)负溢出(3)无溢出(4)无溢出

第3章8086/8088微处理器及其系统

3.28086CPU有多少根数据线和地址线?

它能寻址多少内存地址单元和I/O端口?

8088CPU有多少根数据线和地址线?

为什么要设计8088CPU?

答:

8086CPU有16根数据线和20根地址线,可以寻址1MB的内存地址单元和64KB的I/O端口。

8088CPU有16根数据线和20根地址线,但是8088的BIU通过总线控制电路与外部交换数据的总线宽度是8位,总线控制电路与专用寄存器之间的数据总线宽度也是8位。

设计8088CPU的目的是为了与Intel原有的8位外围接口芯片直接兼容。

3.6逻辑地址和物理地址有何区别?

为什么8086微处理器要引入“段加偏移”的技术思想?

段加偏移的基本含义又是什么?

试举例说明。

答:

逻辑地址是指未定位之前在程序和指令中表示的一种地址,它包括两部分:

段地址和偏移地址;物理地址又称为实际地址,它是指CPU对存储器进行访问时实际寻址所使用的地址。

对8086CPU而言,逻辑地址为16位,物理地址为20位,一个物理地址可对应多个逻辑地址。

“段加偏移”寻址机制允许重定位,极大地保证了系统兼容性。

CPU在处理数据时寻址的是20位的物理地址,限于8086/8088微处理器内部寄存器都是16位的,所以微处理器的地址加法器会自动地把16位段寄存器中的16位段地址左移4位,形成20位的段基址(段起始地址),然后同16位的偏移地址相加,才能形成20位的物理地址。

这种方法称为段加偏移。

例如,若段地址为1123H,偏移地址为15H,将1123H左移4位,即11230H,则物理地址为PA=11230H+15H=11245H。

3.14IP寄存器的用途是什么?

它提供的是什么信息?

答:

IP是指令指针寄存器,在程序正常运行过程中,它用来存放BIU要取的下一条指令的偏移地址。

IP在程序运行中能自动进行加1修正,使之总是指向要执行的下一条指令(字节)。

IP与代码段寄存器CS组合构成指令的物理地址,以实现对代码段指令的自动跟踪。

有些指令(调用子程序、中断等)能改变IP值或把IP值压入堆栈暂时保存,或者由堆栈弹出到IP以恢复指令指针的原值。

3.20微处理器在什么情况下才执行总线周期?

一个基本的总线周期由几个状态组成?

在什么情况下需要插入等待状态?

答:

当微处理器需要对存储器或I/O端口进行取指令或传送数据时,都需要它的总线接口单元BIU执行一个总线周期。

一个基本的总线周期由4个状态组成:

T1~T4。

当存储器或外设的速度较慢,不能及时地跟上CPU的速度时,存储器或外设就会通过“READY”信号线在T3状态启动之前向CPU发一“数据未准备好”信号,这样,CPU会在T3之后自动插入一个或多个等待状态TW,以等待存储器或外设准备好要传送的数据。

3.30什么是寻址方式?

8086/8088微处理器有哪几种主要的寻址方式?

答:

寻址方式是指CPU根据指令功能所规定的操作码如何自动寻找相应的操作数或操作数所在地址的方式。

8086/8088的操作数可位于寄存器、存储器或I/O端口中,CPU对其进行操作时就会涉及操作数的寻址方式。

8086/8088微处理器的主要寻址方式有:

固定寻址、立即数寻址、寄存器寻址、存储器寻址等,其中存储器寻址又可分为:

直接寻址和间接寻址,间接寻址又可分为:

(相对)基址寻址、(相对)变址寻址、(相对)基址加变址寻址。

3.31试写出寻址存储器操作数时计算有效地址EA的通式。

3.32指出8086/8088下列指令源操作数的寻址方式。

(1)MOVAX,1200H;立即数寻址

(2)MOVBX,[1200H];直接寻址

(3)MOVBX,[SI];变址寻址

(4)MOVBX,[SI+1200H];相对变址寻址

(5)MOV[BX+SI],AL;寄存器寻址

(6)ADDAX,[BX+DI+20H];相对基址加变址寻址

(7)MULBL;寄存器寻址

(8)JMPBX;基址寻址(寄存器间接寻址)

(9)INAL,DX;间接端口寻址

(10)INCWORDPTR[BP+50H];相对基址寻址

3.33指出8086/8088下列指令中存储器操作数物理地址的计算表达式。

(1)MOVAL,[DI];PA=DS×10H+DI

(2)MOVAX,[BX+SI];PA=DS×10H+BX+SI

(3)MOVAL,8[BX+DI];PA=DS×10H+BX+DI+8

(4)ADDAL,ES:

[BX];PA=ES×10H+BX

(5)SUBAX,[2400H];PA=DS×10H+2400H

(6)ADCAX,[BX+DI+1200H];PA=DS×10H+BX+DI+1200H

(7)MOVCX,[BP+SI];PA=SS×10H+BP+SI

(8)INCBYTEPTR[DI];PA=DS×10H+DI

3.34指出8086/8088下列指令的错误何在?

(1)MOV[SI],IP

(2)MOVCS,AX

(3)MOVBL,SI+2(4)MOV60H,AL

(5)PUSH2400H(6)INC[BX]

(7)MUL-60H(8)ADD[2400H],2AH

(9)MOV[BX],[DI](10)MOVSI,AL

(1)指令指针IP不能传送。

(2)CS段寄存器不能做操作数。

(3)传送类型不匹配,BL为8位,SI+2为16位。

(4)目的操作数不能为立即数。

(5)PUSH指令中操作数不能为立即数。

(6)应在指令前加伪指令BYTEPTR或WORDPTR表明是对字节进行加1操作还是对字进行加1操作。

(7)乘数不能为立即数。

(8)[2400H]前应加伪指令BYTEPTR或WORDPTR进行类型说明。

(9)两个操作数不能同为存储器操作数。

(10)类型不匹配,SI为16位寄存器,而AL为8位寄存器。

3.36阅读下列程序段,指出每条指令执行后有关寄存器的内容是多少?

MOVAX,0ABCH;AX←0ABCH

DECAX;AX←0ABBH

ANDAX,00FFH;AX←00BBH(高8位屏蔽)

MOVCL,4;CL←4

SALAL,1;AL←76H

MOVCL,AL;CL←76H

ADDCL,78H;CL←0EEH

PUSHAX;AX←0076H

POPBX;BX←0076H

3.37指出RET和IRET两条指令的区别,并说明各用在什么场合?

(1)RET和IRET是两条返回主程序的指令,但RET是与过程(子程序)调用指令CALL对应使用的过程返回指令,而IRET是与中断指令INTn对应使用的中断返回指令。

(2)RET指令应安排在子程序的出口,即子程序的最后一条指令处,它的功能是从堆栈顶部弹出由CALL指令压入的断点地址值IP或CS、IP,迫使CPU返回到调用程序的断点去继续执行。

(3)IRET指令总是安排在中断服务程序的出口处,由它控制从堆栈中弹出程序断点送回CS和IP中,弹出标志寄存器内容送回F中,迫使CPU返回到断点继续执行后续程序。

3.38说明MOVBX,DATA和MOVBX,OFFSTEDATA指令之间的区别。

答:

MOVBX,DATA是直接将DATA的值赋给BX寄存器;

MOVBX,OFFSTEDATA是将DATA在段内的偏移量赋给BX寄存器。

(注:

DATA为变量名,它指内存中的一个数据区的名字,它可以作为指令中的存储器操作数来使用。

变量仅对应于数据区中的第一个数据项,若需对数据区中其它数据项进行操作,必须用地址表达式指出哪个数据项是指令中的操作数。

3.39给定DS=1100H,BX=0200H,LIST=0250H,SI=0500H。

试确定下面各条指令寻址存储器的地址。

(1)MOVLIST[SI],DX;相对变址寻址

(2)MOVCL,LIST[BX+SI];相对基址加变址寻址

(3)MOVCH,[BX+SI];基址加变址寻址

(4)MOVDL,[BX+100H];相对基址寻址

答:

(1)PA=DS×10H+SI+LIST=11000H+0500H+0250H=11750H

(2)PA=DS×10H+BX+SI+LIST

=11000H+0200+0500H+0250H=11950H

(3)PA=DS×10H+BX+SI=11000H+0200H+0500H=11700H

(4)PA=DS×10H+BX+100H=11000H+0200H+100H=11300H

3.40假定PC机存储器低地址区有关单元的内容如下:

(20H)=3CH,(21H)=00H,(22H)=86H,(23H)=0EH且CS=2000H,IP=0010H,SS=1000H,SP=0100H,FLAGS=0240H,这时若执行INT8指令,试问:

(1)程序转向从何处执行(用物理地址回答)?

(2)栈顶6个存储单元的地址(用逻辑地址回答)及内容分别是什么?

答:

(1)CS=0E86H,IP=003CH

PA=CS×10H+IP=0E860H+003CH=0E89CH

(2)1000H:

00FAH10H(12H)

1000H:

00FBH00H

1000H:

00FCH00H

1000H:

00FDH20H

1000H:

00FEH40H

1000H:

00FFH02H

3.41设SP=2000H,AX=3000H,BX=5000H,执行下列片段程序后,问SP=?

AX=?

BX=?

PUSHAX;SP←SP-2=1FFEH,AX=3000H

PUSHBX;SP←SP-2=1FFCH,BX=5000H

POPAX;SP←SP+2=1FFEH,AX=5000H

答:

SP=1FFEH,AX=5000H,BX=5000H

3.43若AX=5555H,BX=FF00H,试问在下列程序段执行后,AX=?

BX=?

CF=?

ANDAX,BX;AX=5500,BX=FF00H

XORAX,AX;AX=0000H

NOTBX;BX=00FFH

答:

AX=0000H,BX=00FFH

由于AND、OR、XOR指令的运算结果使CF=0,NOT指令的运算结果不影响CF位,所以CF=0。

3.44若CS=E000H,说明代码段可寻址物理存储地址空间的范围。

答:

首地址为:

CS×10H+0000H=E0000H

末地址为:

CS×10H+FFFFH=EFFFFH

故代码段可寻址物理存储地址空间的范围为E0000H~EFFFFH,共64KB。

3.45若DS=3000H,BX=2000H,SI=0100H,ES=4000H,计算出下述各条指令中存储器操作数的物理地址。

(1)MOV[BX],AH

(2)ADDAL,[BX+SI+1000H]

(3)MOVAL,[BX+SI](4)SUBAL,ES:

[BX]

答:

(1)PA=DS×10H+BX=30000H+2000H=32000H

(2)PA=DS×10H+BX+SI+1000H

=30000H+2000H+0100H+1000H=33100H

(3)PA=DS×10H+BX+SI=30000H+2000H+0100H=32100H

(4)PA=ES×10H+BX=40000H+2000H=42000H

3.46试比较SUBAL,09H与CMPAL,09H这两条指令的异同,若AL=08H,分别执行上述两条指令后,SF=?

CF=?

OF=?

ZF=?

答:

SUBAL,09H;AL←AL-09H

结果返回AL寄存器,且根据结果置标志位。

CMPAL,09H;AL-09H

只根据结果置标志位,结果不返回AL寄存器。

执行SUBAL,09H指令后,AL=FFH,SF=1,CF=1,OF=0,ZF=0;

执行CMPAL,09H指令后,AL=08H,SF=1,CF=1,OF=0,ZF=0。

3.47选用最少的指令,实现下述要求的功能。

(1)AH的高4位清零;

(2)AL的高4位取反;

(3)AL的高4位移到低4位,高4位清零。

(4)AH的低4位移到高4位,低4位清零。

答:

(1)ANDAH,0FH

(2)XORAL,0F0H

(3)MO

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 艺术创意

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1