《微机原理与接口》习题及参考答案 周明德第五版.docx

上传人:b****9 文档编号:97429 上传时间:2022-10-02 格式:DOCX 页数:11 大小:24.85KB
下载 相关 举报
《微机原理与接口》习题及参考答案 周明德第五版.docx_第1页
第1页 / 共11页
《微机原理与接口》习题及参考答案 周明德第五版.docx_第2页
第2页 / 共11页
《微机原理与接口》习题及参考答案 周明德第五版.docx_第3页
第3页 / 共11页
《微机原理与接口》习题及参考答案 周明德第五版.docx_第4页
第4页 / 共11页
《微机原理与接口》习题及参考答案 周明德第五版.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

《微机原理与接口》习题及参考答案 周明德第五版.docx

《《微机原理与接口》习题及参考答案 周明德第五版.docx》由会员分享,可在线阅读,更多相关《《微机原理与接口》习题及参考答案 周明德第五版.docx(11页珍藏版)》请在冰豆网上搜索。

《微机原理与接口》习题及参考答案 周明德第五版.docx

学习资料收集于网络,仅供参考

《微机原理与接口》课程习题及参考答案

2012年秋季

第一章习题(教材P29) 作业1

1.1微处理器、微型计算机和微型计算机系统三者之间有什么不同?

【解】把CPU(运算器和控制器)集成在一个芯片上,即为微处理器。

微处理器加上部分存储器和外设(或外设接口)就构成了微型计算机。

微型计算机与管理、维护计算机硬件以及支持应用的软件相结合就形成微型计算机系统。

1.2CPU在内部结构上由哪几部分组成?

CPU应该具备哪些主要功能?

【解】CPU主要由算术逻辑单元、指令寄存器、指令译码器、可编程逻辑阵列、寄存器组、标志寄存器等组成。

CPU主要功能是进行算术逻辑运算,以及控制计算机按照程序的规定自动运行。

1.3微型计算机采用总线结构有什么优点?

【解】采用总线结构,扩大了数据传送的灵活性,减少了连线;而且总线可以标准化,易于兼容和工业化生产。

1.4数据总线和地址总线在结构上有什么不同之处?

如果一个系统的数据和地址合用一组总线或者合用部分总线,那么要靠什么来区分地址和数据?

【解】数据总线是双向的,地址总线是单向的。

采用数据和地址线复用,主要靠信号的时序来区分。

通常在读写数据时,在复用的总线上先输出地址信息,然后再传送数据。

第二章习题(教材P43)作业2

2.98086的基本程序执行寄存器是由哪些寄存器组成的?

【解】8086的基本程序执行寄存器组成如下:

⑴8个通用寄存器:

可用于存放操作数和指针。

⑵4个段寄存器:

保存段基值(或段选择子)。

⑶1个标志寄存器:

保存状态位和控制标志位。

⑷1个指令指针寄存器:

存放下一条要执行的指令的指针。

2.13如何形成指令中的各种条件码?

【解】指令中的条件码,即标志寄存器中的状态标志。

它们主要由算术和逻辑运算指令设置或清除。

也有设置和清除某些状态标志位的专用指令。

2.16段寄存器CS=1200H,指令指针寄存器IP=FF00H,此时,指令的物理地址为多少?

【解】指令的物理地址=1200H×16+FF00H=21F00H2.178086微处理器的执行部件有什么功能?

由哪几部分组成?

【解】8086微处理器的执行部件负责指令的执行。

它主要由算术逻辑单元、标志寄存器和通用寄存器等部分组成。

第三章习题1(教材P87) 作业3

3.118086汇编语言指令的寻址方式有哪几类?

哪一种寻址方式的指令执行速度最快?

【解】寻址方式分为:

立即数寻址、寄存器寻址和存储器寻址方式。

其中,寄存器寻址方式的指令执行速度最快。

3.12在直接寻址方式中,一般只指出操作数的偏移地址,那么段地址如何确

学习资料

定?

如果要用某个段寄存器指出段地址,在指令中应该如何表示?

【解】默认的数据访问,操作数在DS段;堆栈操作数在SS段;串操作的源操作数(SI)在DS段,目的操作数(DI)在ES段。

如果要显式地指定段地址,则在操作数中规定段寄存器(段超越)。

例如:

MOVAX,ES:

[1000H]

3.13在寄存器间接寻址方式中,如果指令中没有具体指明段寄存器,那么如何确定段地址?

【解】根据所使用的寄存器,隐含地规定了默认的段寄存器。

IP:

默认CS段;

SP、BP:

默认SS段;AX、BX、CX、DX、SI、DI:

默认DS段。

允许段超越,例如:

MOVES:

[BX],AX

第三章习题2(教材P86~P87) 作业4

3.1分别指出下列指令中的源操作数和目的操作数的寻址方式。

(1)MOVSI,300(3)ADDAX,[BX][SI]

【解】

(1)SOPD是立即数寻址,DOPD是寄存器寻址。

(3)SOPD是基址加变址寻址,DOPD是寄存器寻址。

3.2试述指令MOVAX,2000H和MOVAX,DS:

[2000H]的区别。

【解】前一条指令是立即数寻址,即将立即数2000H送至AX;后一条指令是存储器直接寻址,是将存储器DS:

[2000H]单元中的内容送至AX。

3.4判断下列指令书写是否正确。

(1)MOVAL,BX(4)MOV5,AL

【解】

(1)不正确,AL与BX数据宽度不同

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

3.5设堆栈指针SP的初值为1000H,AX=2000H,BX=3000H,试问:

(1)执行指令PUSHAX后,SP的值是多少?

(2)再执行PUSHBX及POPAX后,SP、AX和BX的值是多少?

【解】

(1)SP=0FFEH

(2)SP=0FFEH ,AX=3000H,BX=3000H

3.8用两种方法写出从80H端口读入信息的指令,再用两种方法写出从40H端口输出100H的指令。

【解】从80H端口读入信息的两种分法:

(1)INAL ,80H

(2)MOVDX,80H

INAL ,DX从40H端口输出100H的两种分法:

(1)MOVAX ,100H

(2)MOVAX,100H

OUT40H ,AXMOVDX,40H

OUTDX ,AX

第三章习题3(教材P88~P89) 作业5

3.23两种循环移位指令(带CF的和不带CF的)在执行操作时,有什么区别?

在编制乘、除法程序时,为什么常用移位指令来代替乘、除法指令?

试编写一个程序段,实现将BX中的数乘以10,结果仍放在BX中的操作。

【解】两种指令的区别在于是否把标志位的值放入循环中。

左移1位相当于乘2,右移1位除2。

故左移和右移可实现乘2和除2的幂,且移位指令比乘除指令快得多。

BX×10=BX×2+BX×8=BX×2+BX×23

SHLBX,1

MOVAX,BX;AX=BX×2SHLBX,1;BX×4

SHLBX,1;BX×8

ADDBX,AX;BX=BX×8+BX×2=BX×10

3.25用串操作指令设计实现如下功能的程序段:

首先将100H个数从2170H处转移到1000H处;然后,从中搜索出与AL中字符相等的单元,并将此单元的值换成空格符。

【解】

MOVSI ,2170H

MOVDI ,1000H

MOVCX ,100H

CLD

REPMOVSB

MOVDI,1000H

MOVCX ,100H

MOVAL ,‘*’NEXT:

SCASB

JZN1

LOOPNEXT

HLT

N1:

MOV[DI-1],20H

JMPNEXT

HLT

3.26在使用条件转移指令时,特别要注意它们均为相对转移指令,请解释“相对转移”的含义。

如果要向较远的地方进行条件转移,那么程序中应该怎样设置?

【解】相对转移即为相对于指令指针的转移。

通常,偏移量是8位数,是短转移;要向较远的地方进行条件转移,可以先转到附近,再无条件转向目的地。

3.29在执行中断返回指令IRET和普通子程序返回指令RET时,具体操作内容有什么不同?

【解】IRET除了弹出中断要返回的地址(CS和IP)外,还要恢复中断前的标志寄存器。

第四章习题1(教材P142~P143) 作业6

4.1在下列程序运行后,给相应的寄存器及存储单元填入运行的结果:

MOVAL,10H;AL=01H

MOVCX,1000H;CX=1000HMOVBX,2000H;BX=2000HMOV[CX],AL;(1000H)=10H

XCHGCX,BX;BX=1000H,CX=2000HMOVDH,[BX];DH=10H

MOVDL,01H;DL=01H

XCHGCX,BX;BX=2000H,CX=1000H

MOV[BX],DL;(2000H)=01HHLT

【解】AL=10H;BX=2000H;CX=1000H;DX=1001H;

(1000H)=10H;(2000H)=01H

4.4利用变址寄存器,编写一段程序,把自1000H单元开始的100个数传送到自1070H开始的存储区中。

【解】

MOVSI,1000HMOVDI,1070HMOVCX,100CLD

REPMOVSBHLT

4.10把在题4.7中指定的数据块中的正数传送到自1000H开始的存储区;而把其中的负数传送到自1100H开始的存储区。

分别统计正数和负数的个数,分别存入1200H和1201H单元中。

【解】

MOVSI,0500HMOVDI,1000HMOVBX,1070HMOVCX,100MOVDX,0

N1:

MOVAL,[SI]

TESTAL,8000H ;测试符号位

JNZN2

MOV[DI],AL

INCDL;正数的个数计数INCSI

INCDIJMPN3

N2:

MOV[BX],AL

INCDH;负数的个数计数INCSI

INCBXN3:

LOOPN1

MOV[1200H],DXHLT

4.11自0500H单元开始,有10个无符号数,编写一个程序,求这10个数的和

(用8位数运算指令),把和放到050AH及050BH单元中(和用两个字节表示),且高位在050B单元。

【解】

MOVBX,0500HMOVAX,0

MOVCL,10

N1:

MOVDL,[BX]ADDAL,DLADCAH,0INCBX

DECCLJNZN1

MOV[050AH],AXHLT

第四章习题2(教材P143~P144) 作业7

4.18在0100H单元和010AH单元开始,存放两个各为10个字节的BCD数(地址最低处放的是最低字节),求它们的和,且把和存入0114H开始的存储单元中。

【解】

LEASI,[0100H]LEADI,[0114H]CLC

MOVCL,10N1:

MOVAL,[SI]

MOVBL,[SI+10]

ADCAL,BLDAA

MOV[DI],ALINCSI

INCDIDECCLJNZN1

4.28若从0200H单元开始有100个数,编写一个程序检查这些数,正数保持不变,负数都取补后送回。

【解】

LEABX,[0200H]

MOVCX,100CHE:

MOVAL,[BX]

ANDAL ,AL

JSMINUS

INCBX

JMPL1MINUS:

NEGAL

MOV[BX],AL

INCBXL1:

LOOPCHE

HLT

4.37若自0500H单元开始

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

当前位置:首页 > 人文社科 > 法律资料

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

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