微机原理汇编语言及接口技术教程课后习题答案.docx

上传人:b****8 文档编号:9980777 上传时间:2023-05-22 格式:DOCX 页数:34 大小:95.09KB
下载 相关 举报
微机原理汇编语言及接口技术教程课后习题答案.docx_第1页
第1页 / 共34页
微机原理汇编语言及接口技术教程课后习题答案.docx_第2页
第2页 / 共34页
微机原理汇编语言及接口技术教程课后习题答案.docx_第3页
第3页 / 共34页
微机原理汇编语言及接口技术教程课后习题答案.docx_第4页
第4页 / 共34页
微机原理汇编语言及接口技术教程课后习题答案.docx_第5页
第5页 / 共34页
微机原理汇编语言及接口技术教程课后习题答案.docx_第6页
第6页 / 共34页
微机原理汇编语言及接口技术教程课后习题答案.docx_第7页
第7页 / 共34页
微机原理汇编语言及接口技术教程课后习题答案.docx_第8页
第8页 / 共34页
微机原理汇编语言及接口技术教程课后习题答案.docx_第9页
第9页 / 共34页
微机原理汇编语言及接口技术教程课后习题答案.docx_第10页
第10页 / 共34页
微机原理汇编语言及接口技术教程课后习题答案.docx_第11页
第11页 / 共34页
微机原理汇编语言及接口技术教程课后习题答案.docx_第12页
第12页 / 共34页
微机原理汇编语言及接口技术教程课后习题答案.docx_第13页
第13页 / 共34页
微机原理汇编语言及接口技术教程课后习题答案.docx_第14页
第14页 / 共34页
微机原理汇编语言及接口技术教程课后习题答案.docx_第15页
第15页 / 共34页
微机原理汇编语言及接口技术教程课后习题答案.docx_第16页
第16页 / 共34页
微机原理汇编语言及接口技术教程课后习题答案.docx_第17页
第17页 / 共34页
微机原理汇编语言及接口技术教程课后习题答案.docx_第18页
第18页 / 共34页
微机原理汇编语言及接口技术教程课后习题答案.docx_第19页
第19页 / 共34页
微机原理汇编语言及接口技术教程课后习题答案.docx_第20页
第20页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

微机原理汇编语言及接口技术教程课后习题答案.docx

《微机原理汇编语言及接口技术教程课后习题答案.docx》由会员分享,可在线阅读,更多相关《微机原理汇编语言及接口技术教程课后习题答案.docx(34页珍藏版)》请在冰点文库上搜索。

微机原理汇编语言及接口技术教程课后习题答案.docx

微机原理汇编语言及接口技术教程课后习题答案

!

《16/32位微机原理、汇编语言及接口技术教程》

部分习题参考解答

第1章微型计算机系统概述

〔习题〕

什么是通用微处理器、单片机(微控制器)、DSP芯片、嵌入式系统

〔解答〕

通用微处理器:

适合较广的应用领域的微处理器,例如装在PC机、笔记本电脑、工作站、服务器上的微处理器。

单片机:

是指通常用于控制领域的微处理器芯片,其内部除CPU外还集成了计算机的其他一些主要部件,只需配上少量的外部电路和设备,就可以构成具体的应用系统。

~

DSP芯片:

称数字信号处理器,也是一种微控制器,其更适合处理高速的数字信号,内部集成有高速乘法器,能够进行快速乘法和加法运算。

嵌入式系统:

利用微控制器、数字信号处理器或通用微处理器,结合具体应用构成的控制系统,其典型的特点是把计算机直接嵌入到应用系统之中。

〔习题〕

说明微型计算机系统的硬件组成及各部分作用。

〔解答〕

CPU:

CPU也称处理器,是微机的核心。

它采用大规模集成电路芯片,芯片内集成了控制器、运算器和若干高速存储单元(即寄存器)。

处理器及其支持电路构成了微机系统的控制中心,对系统的各个部件进行统一的协调和控制。

存储器:

存储器是存放程序和数据的部件。

外部设备:

外部设备是指可与微机进行交互的输入(Input)设备和输出(Output)设备,也称I/O设备。

I/O设备通过I/O接口与主机连接。

总线:

互连各个部件的共用通道,主要含数据总线、地址总线和控制总线信号。

〔习题〕

什么是总线微机总线通常有哪3组信号各组信号的作用是什么

〔解答〕

总线:

传递信息的共用通道,物理上是一组公用导线。

3组信号线:

数据总线、地址总线和控制总线。

(1)地址总线:

传输将要访问的主存单元或I/O端口的地址信息。

#

(2)数据总线:

传输读写操作的数据信息。

(3)控制总线:

协调系统中各部件的操作。

〔习题〕

简答如下概念:

(1)计算机字长

(2)取指-译码-执行周期

(3)ROM-BIOS

(4)中断

(5)ISA总线

〔解答〕

(1)处理器每个单位时间可以处理的二进制数据位数称计算机字长。

(2)指令的处理过程,即指处理器从主存储器读取指令(简称取指),翻译指令代码的功能(简称译码),然后执行指令所规定的操作(简称执行)的过程。

(3)ROM-BIOS是“基本输入输出系统”,操作系统通过对BIOS的调用驱动各硬件设备,用户也可以在应用程序中调用BIOS中的许多功能。

(4)中断是CPU正常执行程序的流程被某种原因打断、并暂时停止,转向执行事先安排好的一段处理程序,待该处理程序结束后仍返回被中断的指令继续执行的过程。

(5)ISA总线是指IBMPC/AT机上使用的系统总线。

〔习题〕

下列十六进制数表示无符号整数,请转换为十进制形式的真值:

(1)FFH

(2)0H(3)5EH(4)EFH

〔解答〕

(1)255

(2)0

(3)94

(4)239

〔习题〕

将下列十进制数真值转换为压缩BCD码:

(1)12

(2)24(3)68(4)99

〔解答〕

(1)12H

(2)24H

(3)68H

(4)99H

[

〔习题〕

将下列压缩BCD码转换为十进制数:

(1)

(2)(3)00110110(4)

〔解答〕

(1)91

(2)89

(3)36

·

(4)90

〔习题〕

将下列十进制数用8位二进制补码表示:

(1)0

(2)127(3)-127(4)-57

〔解答〕

(1)00000000

(2)01111111

[

(3)

(4)

〔习题〕

数码0~9、大写字母A~Z、小写字母a~z对应的ASCII码分别是多少ASCII码0DH和0AH分别对应什么字符

〔解答〕

数码0~9对应的ASCII码依次是30H~39H。

大写字母A~Z对应的ASCII码依次是:

41H~5AH。

小写字母a~z对应的ASCII码依次是:

61~7AH。

ASCII码0DH和0AH分别对应的是回车和换行字符。

第2章微处理器指令系统

〔习题〕

微处理器内部具有哪3个基本部分8088分为哪两大功能部件其各自的主要功能是什么这种结构与8位CPU相比为什么能提高其性能

〔解答〕

算术逻辑单元ALU、寄存器组和控制器;

总线接口单元BIU:

管理8088与系统总线的接口负责cpu对接口和外设进行访问

$

执行单元EU:

负责指令译码、执行和数据运算;

8位cpu在指令译码前必须等待取指令操作的完成,8088中需要译码的指令已经取到了指令队列,不需要等待取指令。

而取指令是cpu最为频繁的操作,因此8088的结构和操作方式节省了大量等待时间,比8位cpu节省了时间,提高了性能。

〔习题〕

说明8088的8个8位和8个16位通用寄存器各是什么

〔解答〕

8个8位寄存器:

AH、AL、BH、BL、CH、CL、DH、DL;

8个16位寄存器:

累加器AX、基址寄存器BX、计数器CX、数据寄存器DX、源地址寄存

*

器SI、目的地址寄存器DI、基址指针BP、堆栈指针SP。

〔习题〕

举例说明CF和OF标志的差异。

〔解答〕

例:

有运算:

3AH+7CH=B6H

作为无符号数运算,没有进位,CF=0;

作为有符号数运算,结果超出范围,OF=1.

!

〔习题〕

什么是8088中的逻辑地址和物理地址逻辑地址如何转换成物理地址1MB最多能分成多少个逻辑段请将如下逻辑地址用物理地址表达:

⑴FFFFH:

0⑵40H:

17H⑶2000H:

4500H⑷B821H:

4567H

〔解答〕

物理地址:

物理存储单元具有的一个唯一的20位编号

逻辑地址:

在8088内部和用户编程时,所采用的“段地址:

偏移地址”形式

将逻辑地址中的段地址左移二进制4位(对应16进制是一位,即乘以16),加上偏移地址就得到20位物理地址

1MB最多能分成1MB÷16B=220÷24=216个逻辑段,因为每隔16个字节单元就可以开始一个逻辑段

⑴FFFFH:

0=FFFF0H

⑵40H:

17H=00417H

⑶2000H:

4500H=24500H

⑷B821H:

4567H=BC777H

〔习题〕

已知DS=2000H、BX=0100H、SI=0002H,存储单元[20100H]~[20103H]依次存放12H、34H、56H、78H,[21200H]~[21203H]依次存放2AH、4CH、B7H、65H,说明下列每条指令执行完后AX寄存器的内容,以及源操作数的寻址方式

#

⑴movax,1200h

⑵movax,bx

⑶movax,[1200h]

⑷movax,[bx]

⑸movax,[bx+1100h]

⑹movax,[bx+si]

⑺movax,[bx][si+1100h]

〔解答〕

>

⑴movax,1200h;AX=1200H,立即数寻址

⑵movax,bx;AX=0100H,寄存器寻址

⑶movax,[1200h];AX=4C2AH,直接寻址

⑷movax,[bx];AX=3412H,寄存器间接寻址

⑸movax,[bx+1100h];AX=4C2AH,寄存器相对寻址

⑹movax,[bx+si];AX=7856H,基址变址寻址

⑺movax,[bx][si+1100h];AX=65B7H,相对基址变址寻址

〔习题〕

说明下面各条指令的具体错误原因

⑴movcx,dl⑵movip,ax

⑶moves,1234h⑷moves,ds

⑸moval,300⑹mov[sp],ax

⑺movax,bx+di⑻mov20h,ah

〔解答〕

(1)cx为字寄存器,dl为字节寄存器,类型不匹配。

(2)mov指令的目的操作数只能是寄存器或者主存单元,ip是指针。

(3)不允许立即数到段寄存器的传送。

(4)不允许段寄存器之间的直接传送。

(5)数据溢出。

(6)sp不能用于寄存器间接寻址。

(7)格式不对。

应为:

movax,[bx+di]

(8)mov指令的操作数不能是立即数。

!

〔习题〕

已知数字0~9对应的格雷码依次为:

18H、34H、05H、06H、09H、0AH、0CH、11H、12H、14H,它存在于以table为首地址(设为200H)的连续区域中。

请为如下程序段的每条指令加上注释,说明每条指令的功能和执行结果。

leabx,table

moval,8

xlat

〔解答〕

leabx,table;获取table的首地址,BX=200H

moval,8;传送欲转换的数字,AL=8

*

xlat;转换为格雷码,AL=12H

〔习题〕

给出下列各条指令执行后AL值,以及CF、ZF、SF、OF和PF的状态:

moval,89h

addal,al

addal,9dh

cmpal,0bch

*

subal,al

decal

incal

〔解答〕

moval,89h;AL=89HCFZFSFOFPF

addal,al;AL=12H10011

addal,9dh;AL=0AFH00101

cmpal,0bch;AL=0AFH10101

subal,al;AL=00H01001

decal;AL=0FFH00101

incal;AL=00H01001

〔习题〕

请分别用一条汇编语言指令完成如下功能:

⑴把BX寄存器和DX寄存器的内容相加,结果存入DX寄存器。

⑵用寄存器BX和SI的基址变址寻址方式把存储器的一个字节与AL寄存器的内容相加,并把结果送到AL中。

⑶用BX和位移量0B2H的寄存器相对寻址方式把存储器中的一个字和CX寄存器的内容相加,并把结果送回存储器中。

⑷用位移量为0520H的直接寻址方式把存储器中的一个字与数3412H相加,并把结果送回该存储单元中。

⑸把数0A0H与AL寄存器的内容相加,并把结果送回AL中

〔解答〕

⑴adddx,bx

⑵addal,[bx+si]

⑶add[bx+0b2h],cx

⑷addwordptr[0520h],3412h

~

⑸addal,0a0h

〔习题〕

设有4个16位带符号数,分别装在X、Y、Z、V存储单元中,阅读如下程序段,得出它的运算公式,并说明运算结果存于何处。

movax,X

imulY

movcx,ax

moxbx,dx

movax,Z

cwd

addcx,ax

adcbx,dx

subcx,540

sbbbx,0

movax,V

!

cwd

subax,cx

sbbdx,bx

idivX

〔解答〕

(V-(X*Y+Z-540)/X

〔习题〕

^

给出下列各条指令执行后的结果,以及状态标志CF、OF、SF、ZF、PF的状态。

movax,1470h

andax,ax

orax,ax

xorax,ax

notax

testax,0f0f0h

〔解答〕

[

movax,1470h;AX=1470HCFZFSFOFPF

andax,ax;AX=1470H00000

orax,ax;AX=1470H00000

xorax,ax;AX=0000H01001

notax;AX=FFFFH01001

testax,0f0f0h;AX=FFFFH00101

〔习题〕

控制转移类指令中有哪三种寻址方式

〔解答〕

相对寻址、直接寻址、间接寻址(还可以分成寄存器间接、存储器间接)

〔习题〕

假设DS=2000H、BX=1256H、TABLE的偏移地址是20A1H,物理地址232F7H处存放3280H,试问执行下列段内间接寻址的转移指令后,转移的有效地址是什么

⑴JMPBX

⑵JMPTABLE[BX]

〔解答〕

(1)1256H

(2)3280H

〔习题〕

判断下列程序段跳转的条件

⑴xorax,1e1eh

jeequal

⑵testal,b

jnzthere

⑶cmpcx,64h

jbthere

〔解答〕

⑴AX=1e1eh(异或后为0)

⑵AL的D0或D7至少有一位为1

⑶CX(无符号数)<64h

〔习题〕

如下是一段软件延时程序,请问NOP指令执行了多少次

xorcx,cx

delay:

nop

loopdelay

〔解答〕

216次

〔习题〕

按照下列要求,编写相应的程序段:

⑴由string指示起始地址的主存单元中存放有一个字符串(长度大于6),把该字符串中的第1个和第6个字符(字节量)传送给DX寄存器。

⑵有两个32位数值,按“小端方式”存放在两个缓冲区buffer1和buffer2中,编写程序段完成←buffer1-buffer2功能。

⑶编写一个程序段,在DX高4位全为0时,使AX=0;否则使AX=-1。

⑷把中的双字右移4位

⑸有一个100个字节元素的数组,其首地址为array,将每个元素减1(不考虑溢出或借位)存于原处。

〔解答〕

(1)

movdl,string[1]

movdh,string[6]

(2)

movax,wordptrbuffer1

subax,wordptrbuffer2

;先减低16位

movdx,wordptrbuffer1+2

sbbdx,wordptrbuffer2+2

;后减高16位,需减低16位的借位

(3)

testdx,0f000h

jznext

*

movax,-1

jmpdone

next:

movax,0

done:

(4)

movcx,4

again:

shrdx,1;右移一位,移出的低位进入CF标志

rcrax,1;将CF移进AX高位,同时实现AX右移

~

loopagain;循环4次,实现4位右移

(5)

movcx,100

movbx,0

again:

subarray[bx],1

incbx

loopagain

]

第3章汇编语言程序设计

〔习题〕

给出下列语句中,指令立即数(数值表达式)的值:

⑴moval,23hAND45hOR67h

⑵movax,1234h/16+10h

⑶movax,23hSHL4

⑷moval,’a’AND(NOT(’a’-’A’))

{

⑸movax,(76543LT32768)XOR7654h

〔解答〕

(1)al=67h

(2)ax=133h,dx=4h

(3)ax=0230h

(4)al=41h

(5)ax=7654h

%

〔习题〕

画图说明下列语句分配的存储空间及初始化的数据值:

⑴byte_vardb’ABC’,10,10h,’EF’,3dup(-1,,3dup(4))

⑵word_vardw10h,-5,3dup()

〔解答〕

(1)从低地址到高地址,各个字节依次是:

41h42h43h0ah10h45h46hffh-04h04h04hffh-04h04h04hffh-04h04h04h

(2)从低地址到高地址,各个字节依次是:

10h0FBhFFh------

其中“-”表示无初值,实际上汇编程序会填入0。

〔习题〕

请设置一个数据段,按照如下要求定义变量:

⑴my1b为字符串变量,表示字符串“PersonalComputer”

⑵my2b为用十进制数表示的字节变量,这个数的大小为20

⑶my3b为用十六进制数表示的字节变量,这个数的大小为20

⑷my4b为用二进制数表示的字节变量,这个数的大小为20

⑸my5w为20个未赋值的字变量

⑹my6c为100的符号常量

⑺my7c为字符串常量,代替字符串“PersonalComputer”

〔解答〕

my1bdb'PersonalComputer'

my2bdb20

my3bdb14h

|

my4bdb00010100b

my5wdw20dup()

my6c=100

my7cequ

〔习题〕

假设myword是一个字变量,mybyte1和mybyte2是两个字节变量,指出下列语句中的具体错误原因。

⑴movbyteptr[bx],1000

"

⑵movbx,offsetmyword[si]

⑶cmpmybyte1,mybyte2

⑷movmybyte1,al+1

⑸subal,myword

⑹jnzmyword

〔解答〕

(1)1000超过一个字节所能表达的最大整数

(2)SI应为偶数

^

(3)两个内存单元不能直接运算

(4)不能使用al+1,应改为[al+1]

(5)源操作数与目的操作数类型不匹配

(6)条件转移指令后面应接标号,而不是变量

〔习题〕

编写一个程序,把从键盘输入的一个小写字母用大写字母显示出来。

〔解答〕

{

movah,1;只允许输入小写字母

int21h

subal,20h;转换为大写字母

movdl,al

movah,2

int21h;显示

第4章微机总线

〔习题〕

微机总线的信号线包括______、______、_______、以及电源和地线。

微机系统可以将总线划分为三层(类),它们是______、______和_______。

〔解答〕

数据总线、地址总线、控制总线

芯片总线、内总线、外总线

〔习题〕

占用总线进行数据传输,一般需要经过总线请求和仲裁、__________、__________和结束4个阶段。

〔解答〕

|

寻址,数据传送

〔习题〕

执行一条指令所需要的时间被称为______周期,而总线周期指的是______,8088基本的总线周期由______个T组成。

如果8088的CLK引脚接5MHz的时钟信号,那么每个T状态的持续时间为______。

〔解答〕

指令

CPU通过总线操作与外界(存储器和I/O端口)进行一次数据交换的过程(时间)

4

.

200ns

〔习题〕

请解释8088以下引脚信号:

CLK、A19/S6~A16/S3、A15~A8、AD7~AD0、

、ALE的含义,并画出它们在存储器写总线周期中的波形示意。

〔解答〕

CLK:

CPU时钟信号

A19/S6~A16/S3:

地址信号A19~A16和状态信号S6~S3分时复用信号

A15~A8:

地址信号A15~A8

?

AD7~AD0:

地址信号A7~A0和数据信号D7~D0分时复用信号

IO/M*:

I/O接口和存储器操作区别信号

RD*:

读控制信号,WR*:

写控制信号

ALE:

地址锁存信号

〔习题〕

]

在8088的工作过程中,什么情况下会产生TW具体发生在什么时刻

〔解答〕

当8088进行读写存储器或I/O接口时,如果存储器或I/O接口无法满足CPU的读写时序(来不及提供或读取数据时),需要CPU插入等待状态Tw。

在读写总线周期的T3和T4之间插入Tw。

〔习题〕

在8088系统中,读取指令“ADD[2000H],AX”(指令长度为3个字节)和执行该指令各需要几个总线周期它们各是什么样的总线周期

〔解答〕

~

8088每个总线周期只能读写一个字节数据。

所以读取指令长度为3个字节的指令“ADD[2000H],AX”需要3个时钟周期,执行时需要2个时钟周期。

读取指令是存储器读总线周期,执行时是存储器写总线周期。

第5章主存储器

〔习题〕

类似处理器总线,存储器芯片也分成数据、地址和控制3类引脚。

以存储结构为32K×8的SRAM62256为例,该芯片应有________个数据引脚、________个地址引脚,3个典型的控制引脚分别是________、________和________。

〔解答〕

8

15

;

片选

输出允许

写入允许

〔习题〕

EEPROM的擦写与闪存的擦写有什么不同以AT28C040或AT29C512为例,说明常用的两种判断擦写是否完成的方法,并估算两者完成整个芯片编程的最快时间。

〔解答〕

AT28C040最快编程时间:

!

(512×1024/256)×10ms=20480ms≈20s

AT29C512最快编程时间:

512扇区×(10ms+128字节×(150×10-3+90×10-6)ms)≈≈15s

〔习题〕

SRAM芯片的片选引脚有什么用途假设在8088微处理器系统中,地址信号A19~A15输出01011时译码电路产生一个有效的片选信号,则该片选信号将占有多少主存容量其地址范围是什么

〔解答〕

主存容量:

215=32KB,因低位地址信号的个数是15个。

地址范围:

01011000000000000000~010111,即58000H~5FFFFH。

〔习题〕

什么是存储器芯片连接中的“位扩展”和“字扩展”采用DRAM21256(256K×1)构成512KB的RAM存储模块,需要多少个芯片,怎样进行位扩展和字扩展

〔解答〕

位扩充:

存储器芯片数据引脚个数小于主机数据信号个数时,利用多个存储器芯片在数据“位”方向的扩充。

字扩充:

当一个存储器芯片不能满足系统存储容量时,利用多个存储器芯片在“数据字”方向的扩充。

组成512KB存储模块,用DRAM21256(256K×1)需要16个芯片;位扩充8个,字扩充2组。

'

〔习题〕

给出图5-28中4个存储器芯片各自占用的地址范围。

如果采用部分译码,要指出重复的地址范围。

〔解答〕

4个存储芯片各自的可用地址范围:

芯片号

A19A18

A17A16

%

A15~A0

地址范围

1

2

3

4

00

01

}

11

11

××

××

×0

×1

全0~全1

全0~全1

全0~全1

全0~全1

00000H~3FFFFH

40000H~7FFFFH

C0000H~CFFFFH,重复地址:

E0000H~EFFFFH

D0000H~DFFFFH,重复地址:

F0000H~FFFFFH

第6章输入输出接口

'

〔习题〕

典型的I/O接口电路通常有哪3类可编程寄存器各自的作用是什么

〔解答〕

(1)数据寄存器:

保存外设给CPU和CPU发往外设的数据

(2)状态寄存器:

保存外设或接口电路的状态

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

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2