《微机原理与接口》习题及参考答案 周明德第五版
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《微机原理与接口》课程习题及参考答案
2012年秋季
第一章习题(教材P29)作业1
1.1 微处理器、微型计算机和微型计算机系统三者之间有什么不同?
【解】把CPU(运算器和控制器)集成在一个芯片上,即为微处理器。微处理器加上部分存储器和外设(或外设接口)就构成了微型计算机。微型计算机与管理、维护计算机硬件以及支持应用的软件相结合就形成微型计算机系统。
1.2 CPU在内部结构上由哪几部分组成?CPU应该具备哪些主要功能?
【解】CPU主要由算术逻辑单元、指令寄存器、指令译码器、可编程逻辑阵列、寄存器组、标志寄存器等组成。CPU主要功能是进行算术逻辑运算,以及控制计算机按照程序的规定自动运行。
1.3 微型计算机采用总线结构有什么优点?
【解】采用总线结构,扩大了数据传送的灵活性,减少了连线;而且总线可以标准化,易于兼容和工业化生产。
1.4 数据总线和地址总线在结构上有什么不同之处?如果一个系统的数据和地址合用一组总线或者合用部分总线,那么要靠什么来区分地址和数据?
【解】数据总线是双向的,地址总线是单向的。采用数据和地址线复用,主要靠信号的时序来区分。通常在读写数据时,在复用的总线上先输出地址信息,然后再传送数据。
第二章习题(教材P43)作业2
2.9 8086的基本程序执行寄存器是由哪些寄存器组成的?
【解】8086的基本程序执行寄存器组成如下:
⑴ 8个通用寄存器:可用于存放操作数和指针。
⑵ 4个段寄存器:保存段基值(或段选择子)。
⑶ 1个标志寄存器:保存状态位和控制标志位。
⑷ 1个指令指针寄存器:存放下一条要执行的指令的指针。
2.13 如何形成指令中的各种条件码?
【解】指令中的条件码,即标志寄存器中的状态标志。它们主要由算术和逻辑运算指令设置或清除。也有设置和清除某些状态标志位的专用指令。
2.16 段寄存器CS=1200H,指令指针寄存器IP=FF00H,此时,指令的物理地址为多少?
【解】指令的物理地址 = 1200H×16 + FF00H = 21F00H
2.17 8086微处理器的执行部件有什么功能?由哪几部分组成?
【解】8086微处理器的执行部件负责指令的执行。它主要由算术逻辑单元、标志寄存器和通用寄存器等部分组成。
第三章习题1(教材P87)作业3
3.11 8086汇编语言指令的寻址方式有哪几类?哪一种寻址方式的指令执行速度最快?
【解】寻址方式分为:立即数寻址、寄存器寻址和存储器寻址方式。其中,寄存器寻址方式的指令执行速度最快。
3.12 在直接寻址方式中,一般只指出操作数的偏移地址,那么段地址如何确
定?如果要用某个段寄存器指出段地址,在指令中应该如何表示?
【解】默认的数据访问,操作数在DS段;堆栈操作数在SS段;串操作的源操作数(SI)在DS段,目的操作数(DI)在ES段。如果要显式地指定段地址,则在操作数中规定段寄存器(段超越)。例如:MOV AX,ES:[1000H]
3.13在寄存器间接寻址方式中,如果指令中没有具体指明段寄存器,那么如何确定段地址?
【解】根据所使用的寄存器,隐含地规定了默认的段寄存器。IP:默认CS段;SP、BP:默认SS段;AX、BX、CX、DX、SI、DI:默认DS段。
允许段超越,例如:MOV ES:[BX],AX
第三章习题2(教材P86~P87)作业4
3.1 分别指出下列指令中的源操作数和目的操作数的寻址方式。
(1) MOV SI,300 (3) ADD AX,[BX][SI]
【解】(1) SOPD是立即数寻址,DOPD是寄存器寻址。
(3) SOPD是基址加变址寻址,DOPD是寄存器寻址。
3.2 试述指令 MOV AX,2000H 和 MOV AX,DS:[2000H] 的区别。
【解】前一条指令是立即数寻址,即将立即数2000H送至AX;后一条指令是存储器直接寻址,是将存储器DS:[2000H]单元中的内容送至AX。
3.4 判断下列指令书写是否正确。
(1) MOV AL,BX (4) MOV 5,AL
【解】(1) 不正确,AL与BX数据宽度不同
(4) 不正确,立即数不能作为目的操作数。
3.5 设堆栈指针SP的初值为1000H,AX=2000H,BX=3000H,试问:
(1) 执行指令 PUSH AX 后,SP的值是多少?
(2) 再执行 PUSH BX 及 POP AX 后,SP、AX和BX的值是多少?
【解】(1) SP=0FFEH
(2) SP=0FFEH,AX=3000H,BX=3000H
3.8 用两种方法写出从80H端口读入信息的指令,再用两种方法写出从40H端口输出100H的指令。
【解】从80H端口读入信息的两种分法:
(1) IN AL,80H (2) MOV DX,80H
IN AL,DX
从40H端口输出100H的两种分法:
(1) MOV AX,100H (2) MOV AX,100H
OUT 40H,AX MOV DX,40H
OUT DX,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