现代微机原理及接口技术课后习题答案111章赵树升赵雪梅.docx

上传人:b****3 文档编号:3689038 上传时间:2022-11-24 格式:DOCX 页数:23 大小:65.76KB
下载 相关 举报
现代微机原理及接口技术课后习题答案111章赵树升赵雪梅.docx_第1页
第1页 / 共23页
现代微机原理及接口技术课后习题答案111章赵树升赵雪梅.docx_第2页
第2页 / 共23页
现代微机原理及接口技术课后习题答案111章赵树升赵雪梅.docx_第3页
第3页 / 共23页
现代微机原理及接口技术课后习题答案111章赵树升赵雪梅.docx_第4页
第4页 / 共23页
现代微机原理及接口技术课后习题答案111章赵树升赵雪梅.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

现代微机原理及接口技术课后习题答案111章赵树升赵雪梅.docx

《现代微机原理及接口技术课后习题答案111章赵树升赵雪梅.docx》由会员分享,可在线阅读,更多相关《现代微机原理及接口技术课后习题答案111章赵树升赵雪梅.docx(23页珍藏版)》请在冰豆网上搜索。

现代微机原理及接口技术课后习题答案111章赵树升赵雪梅.docx

现代微机原理及接口技术课后习题答案111章赵树升赵雪梅

第1章习题参考答案

1.答:

微处理器MPU也常称为微处理机,它是微型计算机的核心部件,微处理器的发展过程就是微型计算机的发展过程。

以Intel公司的微处理器为例,微处理器的发展历程经历了以下六代。

1)第一代微处理器

1971~1973年为4位或低档8位微处理器和微型计算机的时代。

这一时期的典型产品是Intel4004和Intel8008。

第一代微处理器的基本特点是:

采用PMOS工艺,集成度低(1200~2000晶体管/片),系统结构和指令都比较简单,仅能进行串行十进制运算,且速度慢,基本指令执行时间为10~20µs,它采用机器语言编程,主要用于家用电器和简单控制场合。

2)第二代微处理器

1974~1977年为8位中档微处理器和微型计算机时代。

这一时期的典型CPU产品有Intel8080、Intel8085。

第二代微处理器的显著特点是:

采用了NMOS工艺,集成度提高约4倍(5000~9000晶体管/片),时钟频率为2~4MHz,平均指令执行时间为1~2s,速度提高了10~15倍,基本指令执行时间为1~2µs,指令系统较为完善。

这一时期推出的微型计算机在系统结构上已具有典型的计算机体系结构以及中断、DMA等控制功能,软件方面除汇编语言外,还可使用如Basic、Fortran等高级语言,在系统设计上考虑了机器兼容性、接口标志化和通用性,且外围配套电路种类齐全、功能完善,因此这种系统广泛应用于电子仪器、现金出纳机和打印机等设备中。

3)第三代微处理器

1978~1984年为16位微处理器和微型计算机时代。

这一时期的CPU产品有Intel8086、Intel8088。

第三代微处理器的主要特点是:

采用了HMOS工艺,时钟频率为5~40MHz,集成度达20000~70000晶体管/片,基本指令执行时间为0.5µs,比8位微处理器提高了一个数量级,数据总线宽度为16位,地址线为20位,最大可寻址空间为1MB,具有丰富的指令系统,且CPU的内部结构有很大改进,体系结构与指令更为完善利丰富,采用了多级中断、多种寻址方式、段式寄存器等结构。

4)第四代微处理器

1985~到1992年为32位微处理器和微型计算机时代。

这一时期的典型CPU产品是Intel80386、Intel80486。

第四代微处理器的主要特点是:

大多采用了HMOS或CMOS工艺,集成度每个芯片高达100万个晶体管,基本指令执行速度一般在25Mips,为微型计算机带来了小型机的性能。

拥有32条地址线,内存寻址范围为4GB,使用二级存储器管理方式,支持带有存储器保护的虚拟存储机制,虚拟存储空间高达264GB。

Intel80386时钟主频在16MHz以上,80486工作主频提高到了50MHz以上。

5)第五代微处理器

这一时期的CPU产品有1993年Intel公司推出的Pentium微处理器,使微处理器的技术发展到了一个崭新的阶段,标志着微处理器完成从CISC向RISC时代的过渡,Pentium采用亚微米(0.8µm)CMOS工艺技术,集成度为330万个晶体管/片,内部采用4级超标量结构,数据线64位,地址线36位。

工作频率为60/66MHz,处理速度达110Mips。

在1994年3月,Intel推出了第二代Pentium,它采用0.6µm工艺和3.3V电源,功耗仅为4W,而且可在不需要时自动关闭浮点单元,散热问题基本得以解决,它的主时钟频率为100MHz和90MHz两种。

6)第六代微处理器

1995年,Intel公司正式公布的PentiumPro是一种64位CPU。

该处理器采用0.35µm工艺,集成度是550万个晶体管/片,地址线为36位,寻址范围为64GB,其主频提高到133MHz以上,具有两倍Pentium的性能。

其余典型产品有称为“具有MMX技术的Pentium和PentiumPro”,其型号分别为P55C和PentiumⅡ,64位的PentiumIII,Pentium4系列、PentiumD处理器系列、Pentium双核处理器系列和Pentium处理器至尊版系列。

2.答:

利用大规模集成电路工艺将微型计算机的CPU、内存和I/O接口电路集成在一片硅片上,这就是单片机(Single-ChipComputer)。

若将微型计算机的CPU、内存、I/O接口电路安装在一块印制电路板上就组成了单板机。

3.答:

微型计算机的硬件主要由运算器、存储器、控制器、输入设备和输出设备5部分组成。

运算器是完成二进制数据的算术或逻辑运算的部件,由累加器、暂存寄存器和算术逻辑单元(ALU,ArithmeticLogicUnit)组成,核心是算术逻辑单元。

存储器是用来存放程序和数据的,是计算机的各种信息的存储和交流中心。

计算机中的存储器包括内存储器、外存储器和只读存储器等。

控制器主要用来实现微型计算机本身运行过程的自动化,即实现程序的自动执行。

在控制器控制下,从输入设备输入程序和数据,并自动存放在存储器中,然后由控制器指挥各部件协同工作以执行程序,最后将结果打印输出。

输入设备用来输入原始数据和处理这些数据的程序,输入的信息包括数字、字母和控制符号等,这些信息由译码电路产生相应的ASCII码再由控制器控制进行各种操作。

输入设备目前主要是CRT终端、键盘、鼠标、扫描仪等。

输出设备用来输出计算机的处理结果,这些结果可以是数字、字母、图形和表格等。

最常用的输出设备有显示器、打印机、绘图仪等,当数据和程序通过键盘输入终端后,经计算机处理后的结果可显示在屏幕上。

4.答:

微型计算机的系统软件的主要特点是简化计算机操作,支持应用软件的运行并提供服务,通常包括操作系统、程序设计语言、编译和解释程序,还包括机器的监控管理程序、调试程序、故障检查和诊断程序。

5.答:

数制是人们用来表示数据的科学方法。

常用的数制有十进制、二进制、八进制和十六进制。

十进制数采用0~9共10个数字及其进位来表示数的大小,基数是10,其计数原则是“逢十进一”。

二进制数采用0~2共2个数字及其进位来表示数的大小,基数是2,其计数原则是“逢二进一”。

八进制数采用0~7共8个数字及其进位来表示数的大小,基数是8,其计数原则是“逢八进一”。

十六进制数采用0~F共16个数字及其进位来表示数的大小,基数是16,其计数原则是“逢十六进一”。

6.解:

(97)10=(1100001)2=(141)8=(61)16

(128)10=(10000000)2=(200)8=(80)16

(350)10=(101011110)2=(536)8=(15E)16

(1024)10=(10000000000)2=(2000)8=(400)16

(0.125)10=(0.001)2=(0.1)8=(0.2)16

(24.25)10=(11000.01)2=(30.2)8=(18.4)16

7.解:

(101100)2=(44)10=(54)8=(2C)16

(1101001)2=(105)10=(151)8=(69)16

(1101.1011)2=(13.6875)10=(15.54)8=(D.B)16

(10010011.10101)2=(147.65625)10=(223.52)8=(93.A8)16

8.解:

(30)16=(110000)2=(48)10=(60)8

(0D)16=(1101)2=(13)10=(15)8

(24.5)16=(00100100.0101)2=(36.3125)10=(44.24)8

(9B.2F)16=(10011011.00101111)2=(155.18359375)10=(233.136)8

9.答:

带符号数的表示方法有3种:

原码、反码和补码。

原码是一种简单的机器数表示方法,即符号和数值表示法,规定正数的符号位为0,负数的符号位为1。

对于一个带符号的数来说,正数的反码与其原码相同,负数的反码为其原码除符号位外的各位按位取反,反码通常用做求补码过程中的中间形式。

正数的补码与其原码相同,负数的补码为其反码在最低位加l,引入补码的目的在于将加、减法运算简化为单纯的加法运算。

10.解:

[48]原=00110000[48]反=00110000[48]补=00110000

[64]原=01000000[64]反=01000000[64]补=01000000

[-31]原=10011111[-31]反=11100000[-31]补=11100001

[-127]原=11111111[-127]反=10000000[-127]补=10000001

11.解:

由于[X+Y]补=[X]补+[Y]补,先求[X]补、[Y]补。

X=(-9)=-0001001,则[X]补=11110111

Y=(-2)=-0000010,则[Y]补=11111110

11110111[X]补

+)11111110[Y]补

11110101[X1]补+[Y1]补

所以,[X+Y]补=[11110101]补

12.解:

由于[X]补=11000000,[Y]补=01001000,[Z]补=00110010,

所以[-X]补=01000000,[-Y]补=10111000,[-Z]补=11001110

[X-Y]补=[X]补+[-Y]补=11000000+10111000=101111000,产生溢出,结果出错。

[X-Z]补=[X]补+[-Z]补=11000000+11001110=10001110,无溢出,结果正确。

13.答:

ASCII编码通常用7位二进制数表示,A、a、0、CR、LF的ASCII码依次为65、97、48、13、10。

14.解:

8609的压缩8424-BCD码为1000011000001001

5254的压缩8424-BCD码为010*********

2730的压缩8424-BCD码为0010011100110000

2008的压缩8424-BCD码为0010000000001000

第2章习题参考答案

1.答:

8088/8086CPU由两个独立的功能部件构成:

指令执行部件EU(ExecutionUnit)和总线接口部件BIU(BusInterfaceUnit),两者可并行操作。

指令执行部件(EU)中包含1个16位的算术逻辑单元ALU,8个16位的通用寄存器,1个16位的状态标志寄存器FR,1个数据暂存寄存器和执行部件的控制电路。

EU主要功能是:

从BIU的指令队列中取出指令代码,经指令译码器译码后执行指令规定的全部功能。

执行结果或执行指令所需的数据,都由EU向BIU发出命令,对存储器或I/O接口进行读/写操作。

EU中的各个部件通过16位的ALU总线连接在一起,在内部实现快速数据传榆。

EU从BIU的指令队列中获得指令,当指令要求访问存储器单元或外部设备时,EU就向BIU发出操作请求,并提供访问的数据和地址,由BIU完成相应的操作。

BIU内部设有4个16位段地址寄存器,即代码段寄存器CS、数据段寄存器DS、堆栈段寄存器SS和附加段寄存器ES;1个16位指令指针寄存器IP;1个6字节指令队列缓冲器;以及20位地址加法器和总线控制电路。

BIU的主要功能是:

根据EU的请求,完成CPU与存储器或I/O设备之间的数据传送。

BIU提供从存储器的指定单元取出指令,送至指令队列中或直接传送给EU去执行;从存储器的指定单元和外设端口中取出指令规定的操作数传送给EU,或者把EU的操作结果传送到指定的存储单元和外设端口中。

8086具有16位的内部数据总线和16位的外部数据总线,而8088却具有16位的内部总线和8位的外部数据总线,因而称为准16位机。

2.答:

8088/8086内部有14个16位寄存器,按功能可分为3大类:

第一类是通用寄存器8个,第二类是段寄存器4个,第三类是控制寄存器2个。

通用寄存器中的数据寄存器用来存放操作数或中间结果;指针和变址寄存器用来存放地址的偏移量。

段寄存器用来存放每一个逻辑段的段起始地址,其中代码段寄存器CS用来给出当前的代码段起始地址,存放CPU可以执行的指令,CPU执行的指令将从代码段取得;数据段寄存器DS指向程序当前使用的数据段,用来存放数据,包括参加运算的操作数和中间结果;堆栈段寄存器SS给出程序当前所使用的堆栈段,即在存储器中开辟的堆栈区,堆栈操作的执行地址就在该段;附加段寄存器ES指出程序当前所使用的附加段,通常也用来存放数据,典型用法是存放处理以后的数据。

控制寄存器中的指令指针寄存器IP存放EU要执行的下一条指令的偏移地址,用以控制程序中指令的执行顺序;标志寄存器FLAG共9个标志,其中6个用做状态标志,3个用做控制标志,状态标志位用来反映EU执行算术或逻辑运算的结果特征,这些标志常用作条件转移类指令的测试条件,控制程序的执行流程,控制标志位用来控制CPU的工作方式或工作状态。

3.答:

当访问存储器中某个字节时:

指令中的地址码经变换后得到20位的物理地址。

如果是偶地址(A0=0,BHE=1),这时可由A0选定偶地址存储体,A19~A1从偶地址存储体中选定某个字节地址,并启动该存储体,读/写该地址中一个字节的信息,通过数据总线的低8位传送数据;如果是奇地址(A0=1),则偶地址存储体不会被选中,系统将自动产生

=0,作为奇地址存储体的选择信号,与A19~A1一起选定奇地址存储体中某个字节地址,并读/写该地址中一个字节的信息,通过数据总线的高8位传送数据。

当访问存储体中某个字时:

一种情况是需要访问从偶地址开始的一个字(即高字节在奇地址中,低字节在偶地址中),可一次访问存储器读/写一个字信息,这时A0=0,

=0。

另一种情况是需要访问从奇地址开始的一个字(即高字节在偶地址中,低字节在奇地址中),这时需要访问两次存储器才能读/写这个字的信息,第—次访问存储器读/写奇地址中的字节,第二次访问存储器读/写偶地址中的字节。

显然,为了加快程序的运行速度,希望访问存储器的字地址为偶地址。

4.解:

段地址

偏移地址

物理地址

(1)2314H:

0035H

2314H

0035H

23175H

(2)lFD0H:

00A0H

lFD0H

00A0H

1FDA0H

(3)3FB0H:

0053H

3FB0H

0053H

3FB53H

(4)0000H:

0100H

0000H

0100H

00100H

(5)1000H:

0110H

1000H

0110H

10110H

(6)2A00H:

2010H

2A00H

2010H

2C010H

5.解:

根据公式

物理地址=段基址*16+偏移地址,得

该程序段的第一个字的物理地址是0D430H。

6.答:

状态标志位用来反映EU执行算术或逻辑运算的结果特征,这些标志常用作条件转移类指令的测试条件,控制程序的执行流程,控制标志位用来控制CPU的工作方式或工作状态,它一般由程序设置或由程序清除。

对于状态标志,CPU在进行算术逻辑运算时根据操作结果自动将状态标志位置位(等于1)或复位(等于0);对于控制标志,实现用指令设置,在程序执行时,检测这些标志,用于控制程序的转向。

8086/88的状态标志有CF、PF、AF、ZF、SF、OF,控制标志有TF、IF、DF。

7.答:

SP和BP用于堆栈段操作,入栈(PUSH)和出栈(POP)指令由SP给出栈顶偏移地址,称为堆栈指针寄存器;BP存放位于堆栈段中数据区基址的偏移地址,称做基址指针寄存器。

SI和DI用来存放当前数据段的偏移地址,源操作数的偏移地址存放SI中,称其为“源变址寄存器”,目的操作数的偏移地址存放于DI中,称其为“目的变址寄存器”。

8.答:

8086有两种工作模式:

最小模式和最大模式。

最小模式是指系统中只有一个微处理器(8086)。

在这种系统中,8086直接产生所有的总线控制信号,系统所需的外加总线控制逻辑部件最少。

最大模式是指系统中含有两个或多个微处理器,其中一个为主处理器8086,其它的处理器称为协处理器,是协助主处理器工作的。

在最大模式工作时,控制信号是通过8288总线控制器提供的。

目前常用的是最大模式。

在不同模式下工作时,8086的部分引脚(第21~24引脚)会有不同的功能。

9.答:

总线周期是指CPU从存储器或I/O端口存取一个字节(或一个字)所需要的时间。

8086的最基本的总线周期由4个时钟周期组成,每个时钟周期称为T状态,用T1、T2、T3和T4表示。

如一个CPU的时钟频率为24MHz,那么,它的一个时钟周期为1/24µs即0.042µs,一个基本总线周期为1/6µs。

若CPU时钟频率为15MHZ,则其时钟周期为1/15µs即0.067µs,一个基本总线周期为4/15µs。

10.答:

8086和8088采用分时的多路转换方法来实现对地址线和数据线的复用,作为复用引脚,在总线周期的T1状态用来输出要访问的存储器或I/O端口地址,在其它状态则用来传送数据。

ALE在任何总线周期的T1状态输出有效电平,以表示当前在地址/数据复用总线上输出的是地址信息,地址锁存器将ALE作为锁存信号,对地址进行锁存。

11.答:

RESET信号来到后,8086/88系统的CS设置为0FFFFH,IP清0。

第一条指令的物理地址为FFFF0H,存放着一条无条件转移指令的代码。

第三章

1、

(1)MOVCX,[BX+SI]

(2)ADDARRAY[BX],AX

(3)CMPBYTEPTRNUMBER,0B6h

(4)TESTBYTEPTR[BP+DI]VALUE,80h

(5)MOVBL,AL

ANDBL,0F0H

MOVCL,4

SHLAL,CL

SHRBL,CL

ORAL,BL

(6)MOVWORDPTR[DI],0

SUBAX,AX

2、C、A、B、E、D

3、

(1)1200h

(2)647Ah

(3)7Dh,0B7h

4、

(1)LEABX,TABLE

ADDBX,6

MOVCX,[BX]

(2)LEABX,TABLE

MOVCX,[BX+6]

(3)LEABX,TABLE

MOVSI,6

MOVCX,[BX+SI]

5、

(1)寄存器

(2)存储器基址变址(3)立即数

(4)存储器寄存器(5)寄存器

6、

(1)类型不一致

(2)不能直接修改CS

(3)没有指出类型(4)不能用立即数给段寄存器赋值

(5)不能用段寄存器参与计算(6)CX不能当地址寄存器

(7)两个操作数不能都是内存单元(8)标号不能是关键字

7、

(1)CXDS:

[2700h]

(2)DS:

[SI+50]DH

(3)ARRAY偏移地址SI(4)DL+DS:

[BX]+CFDL

(5)字DS:

[SI+ALPHA偏移]的内容左移CL位

8、

(1)BX内容

(2)DS:

[BX]

(3)AGAIN的偏移地址(4)DS:

[BX+DI]

9、

(1)EB1EH

(2)E91D29H(3)EA00300020H(4)E90DFFH

10、

(1)取内容与取地址

(2)与与或

(3)加内存单元与加寄存器

(4)减与比较

(5)SS:

[BP+BX],DS:

[BP+BX]

11、SHR、AND、TEST

12、ANDAX,8000H

JZXXXX

13、

(1)MOVAX,51H

MOVCL,2

SHLAX,CL

(2)MOVAX,-46

MOVCL,2

SHLAX,CL

ADDAX,8000H

14、00FFFFh020FFFEh0FFFDh54000

15、NEGDX

16、1B62H,B620H,B640H

第四章答案

1、

Getlenproc

movbx,offsetstr1

Xorcx,cx

Again:

Cmpbyteptr[bx],0

Jzexitp

Inccx

Jmpagain

Movax,cx

Ret

Getlenendp

2、

PUSHAX

AND0Fh

POPBX

PUSHBX

MOVCX,4

SHRBX,4

POPDX

PUSHDX

MOVCX,8

SHRDX,CL

PUSHDX

POPDX

MOVCX,12

SHLDX,CL

POPCX

3、

Again:

movah,1

Int21h

Cmpal,60h

Jbagain

Cmpal,7Bh

Jaagain

Subal,20h

Movdl,al

Movah,2

Int21h

4、.modelsmall

.stack

.data

Xdb12

Ydb67

Zdb?

.code

.startup

Moval,X

Cmpal,Y

JANext1

Moval,Y

Next1:

MovZ,Al

.exit0

end

5、….

.data

Xdw-5

Sign1dw?

.code

.startup

MovAX,X

ANDAX,8000H

JZNext1

MOVX,0

JmpNext2

Next1:

MOVSign1,0FFFFH

Next2:

6、.modelsmall

.stack

.data

XXDW1234

YYDW1235

ZZDW4567

Str1db"Threeequal$"

Str2db"Twoequal$"

Str3db"Noequal$"

.code

.startup

Movax,XX

Cmpax,YY

JzlabelA

movbx,YY

cmpbx,ZZ

jzlabel2

leadx,str3;全不等

jmplabel4

labelA:

cmpax,ZZ

jnzlabel2

leadx,str1

jmplabel4

label2:

leadx,str2

label4:

movah,9

int21h

.exit0

end

7、cmpwordptr[0006],5

Jz004F

Cmpbx,cx

Jz0050

Incax

8、movdi,offsetSTRING2

Movsi,offsetstring1

Movcx,COUNT

Again:

Moval,[si]

Mov[di],al

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

当前位置:首页 > 工程科技 > 能源化工

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

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