微机原理与接口技术 第二版 (周明德) 课后题答案

上传人:l**** 文档编号:127841984 上传时间:2020-04-06 格式:DOC 页数:21 大小:1.70MB
返回 下载 相关 举报
微机原理与接口技术 第二版 (周明德) 课后题答案_第1页
第1页 / 共21页
微机原理与接口技术 第二版 (周明德) 课后题答案_第2页
第2页 / 共21页
微机原理与接口技术 第二版 (周明德) 课后题答案_第3页
第3页 / 共21页
微机原理与接口技术 第二版 (周明德) 课后题答案_第4页
第4页 / 共21页
微机原理与接口技术 第二版 (周明德) 课后题答案_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《微机原理与接口技术 第二版 (周明德) 课后题答案》由会员分享,可在线阅读,更多相关《微机原理与接口技术 第二版 (周明德) 课后题答案(21页珍藏版)》请在金锄头文库上搜索。

1、第1章 作 业 答 案1.1 微处理器、微型计算机和微型计算机系统三者之间有什么不同?解:把CPU(运算器和控制器)用大规模集成电路技术做在一个芯片上,即为微处理器。微处理器加上一定数量的存储器和外部设备(或外部设备的接口)构成了微型计算机。微型计算机与管理、维护计算机硬件以及支持应用的软件相结合就形成了微型计算机系统。1.2 CPU在内部结构上由哪几部分组成?CPU应该具备哪些主要功能?解:CPU主要由起运算器作用的算术逻辑单元、起控制器作用的指令寄存器、指令译码器、可编程逻辑阵列和标志寄存器等一些寄存器组成。其主要功能是进行算术和逻辑运算以及控制计算机按照程序的规定自动运行。1.3 微型计

2、算机采用总线结构有什么优点?解:采用总线结构,扩大了数据传送的灵活性、减少了连线。而且总线可以标准化,易于兼容和工业化生产。1.4 数据总线和地址总线在结构上有什么不同之处?如果一个系统的数据和地址合用一套总线或者合用部分总线,那么要靠什么来区分地址和数据?解:数据总线是双向的(数据既可以读也可以写),而地址总线是单向的。8086CPU为了减少芯片的引脚数量,采用数据与地址线复用,既作数据总线也作为地址总线。它们主要靠信号的时序来区分。通常在读写数据时,总是先输出地址(指定要读或写数据的单元),过一段时间再读或写数据。1.8在给定的模型中,写出用累加器的办法实现1515的程序。解: LD A,

3、 0 LD H, 15 LOOP:ADD A, 15 DEC H JP NZ, LOOP HALT第 2 章 作 业 答 案2.1 IA-32结构微处理器直至Pentillm4,有哪几种?解:80386、30486、Pentium、Pentium Pro、Peruium II 、PentiumIII、Pentium4。2.6 IA-32结构微处理器有哪几种操作模式?解:IA一32结构支持3种操作模式:保护模式、实地址模式和系统管理模式。操作模式确定哪些指令和结构特性是可以访问的。2.8 IA-32结构微处理器的地址空间如何形成?解: 由段寄存器确定的段基地址与各种寻址方式确定的有效地址相加形成

4、了线性地址。若末启用分页机制,线性地址即为物理地址;若启用分页机制,则它把线性地址转为物理地址。2.15 8086微处理器的总线接口部件由哪几部分组成?解:8086微处理器中的总线接口单元(BIU)负责CPU与存储器之间的信息传送。具体地说,BIU既负责从内存的指定部分取出指令,送至指令队列中排队(8086的指令队列有6个字节,而8088的指令队列只有4个字节);也负责传送执行指令时所需的操作数。执行单元(EU)负责执行指令规定的操作。2.16 段寄存器CS=120OH,指令指针寄存器IP=FFOOH,此时,指令的物理地址为多少?解:指令的物理地址=12000H+FFOOH=21FOOH 第

5、3 章 作 业 答 案3.1分别指出下列指令中的源操作数和目的操作数的寻址方式。(1)MOV SI, 30O(2)MOV CX, DATADI(3)ADD AX, BXSI(4)AND AX, CX(5)MOV BP, AX (6)PUSHF解:(l)源操作数为立即寻址,目的操作数为寄存器寻址。(2)源操作数为变址寄存器加位移量寻址,目的操作数为寄存器寻址。(3)源操作数为基址加变址寻址,目的操作数为寄存器寻址。(4)源操作数和目的操作数都为寄存器寻址。(5)源操作数为寄存器寻址,目的操作数为寄存器间接寻址。(6)为堆栈操作。3.2 试述指令MOV AX,2000H和MOV AX,DSz200

6、0H的区别。解:前一条指令是立即寻址,即把立即数2000H传送至寄存器AX。后一条指令是直接寻址,是把数据(DS)段中的地址为200OH单元的内容传送至寄存器AX。3.3 写出以下指令中内存操作数的所在地址。(1)MOV AL, BX+10(2)MOV BP+10, AX(3)INC BYTE PTRSI十5(4)MOV DL, ES:BX+SI(5)MOV BX , BP+DI+2解:(1)数据段BX+10单元。(2)堆栈段BP+10单元。(3)数据段SI+5字节单元。(4)附加段(ES段)BX+SI单元。(5)堆栈段BP+DI+2单元。3.4 判断下列指令书写是否正确。(1)MOV AL,

7、 BX(2)MOV AL, CL(3)INC BX(4)MOV 5, AL(5)MOV BX, SI(6)M0V BL, OF5H(7)MOV DX, 2000H(8)POP CS(9)PUSH CS解: (l)不正确,AL与BX数据宽度不同。 (2)正确。(3)不正确,因为不明确是增量字节还是字。(4)不正确,立即数不能作为目的操作数。(5)不正确,因为不明确要传送的是字节还是字。(6)正确。(7)正确。(8)不正确,CS不能作为:pop指令的操作数。(9)不正确,CS不能作为PUSH指令的操作数。3.5 设堆钱指针SP的初值为1000H,AX=2000H, BX=3000H,试问:(1)执

8、行指令PUSH AX后SP的值是多少?(2)再执行PUSH BX及POP AX后,SP、AX和BX的值各是多少?解:(1) SP=OFFEH。(2) SP=OFFEH; AX=3000H, BX=3000H。3.6要想完成把3000H送2000H中,用指令:MOM 200OH, 300OH是否正确?如果不正确,应该用什么方法实现?解: 不正确。正确的方法是:MOV AL, 300OHMOV 2000H, AL3.7 假如想从200中减去AL中的内容,用SUB 200,AL是否正确?如果不正确,应该用什么方法?解:不正确。正确的方法是:MOV BL, 200SUB BL, AL3.8 试用两种方

9、法写出从8OH端口读入信息的指令。再用两种方法写出从4OH口输出10OH的指令。解:(1)IN AL, 80H (2)MOV DX, 8OHIN AL, DX(3)MOV, AL, lOOHOUT 40H, AL 4)MOV AL, 10OHMOV DX,4OHOUT DX, AL3.9假如:AL=20H,BL=1OH,当执行CMP AL,BL后,问:(1)AL、BL中的内容是两个无符号数,比较结果如何?影响哪儿个标志位?(2)AL、BL中的内容是两个有符号数,结果又如何,影响哪几个标志位?解:(l)AL=2OH,BL=1OH,O=0,S=0,Z=0,A=0,P=0,C=0。(2)因为两个都是

10、符号正数,其结果与(l)相同。3.10 若要使AL10,有哪几种方法,试编写出各自的程序段?解: (1)使用乘法指令:MOV BL,10MUL BI,(2)使用移位指令:SHL AL,1MOV BL,ALSHL AL, 2ADD AL,BL(3)使用加法指令:ADD AL,ALMOV BL, AL ADD AL, ALADD AL, AL ADD AL, BL 3.11 8086汇编语言指令的寻址方式有哪几类?哪种寻址方式的指令执行速度最快?解:寻址方式分为:立即数寻址方式、寄存器操作数寻址方式和存储器操作数寻址方式。其中,寄存器操作数寻址方式的指令执行速度最快。3.12 在直接寻址方式中,一

11、般只指出操作数的偏移地址,那么,段地址如何确定?如果要用某个段寄存器指出段地址,指令中应该如何表示?解:默认的数据访问,操作数在DS段;堆栈操作在SS段;串操作源操作数(SI)在DS段,目的操作数(DI)在ES段;用BP作为指针在SS段。如果要显式地指定段地址,则在操作数中规定段寄存器。例如: MOV AX, ES:(BX+10H)3.13 在寄存器间接寻址方式中,如果指令中没有具体指明段寄存器,那么如何确定段地址?解:在寄存器间接寻址方式中,如果指令中没有具体指明段寄存器,段地址是隐含约定的,也就是隐含地选择段寄存器。如操作类型为指令,则指定代码段寄存器CS,如操作类型为堆栈操作,则指定堆找

12、段寄存器SS,如表3-1中所示。当需要超越约定时,通常用段替代前缀加冒号:来表示段超越,它允许程序设计者偏离任何约定的段。例如:MOV ES:BX,AX这时数据将从寄存器EAX传送至附加段中由EBX寻址的存储单元,而不是传送到数据段中。3.14 采用寄存器间接寻址方式时,BX、BP、SI、DI分别针对什么情况来使用?这4个寄存器组合间接寻址时,地址是怎样计算的?请举例说明。解: 在寄存器间接寻址方式下,BX和BP作为间址寄存器使用,而SI、DI作为变址寄存器使用。除BP间址默认的段为堆栈段,其他的都默认为数据段。它们都可以单独使用,或加上偏移量或组合使用。如:BX +nLBP +nSI +nD

13、I +nBX +SI +nBX +DI +nBP +SI +nBP +DI +n3.15 设DS=2100H,SS=5200H,BX=1400H,BP=6200H,说明下面两条指令所进行的具体操作:MOV BYTE PTRBP,200MOV WORD PTRBX,2000解:前一条指令是把立即数(应是字节)200,传送至堆栈段(BP的默认段偏移量由BP规定的字节单元,地址为:52000H+620OH=58200H第二条指令是把立即数.2000,传送至数据段(BX的默认段)偏移量由BX规定的字单元,地址为:21000H+1400H = 22400H。3.16 使用堆钱操作指令时要注意什么问题?传

14、送指令和交换指令在涉及内存操作数时应该分别要注意什么问题?解:使用堆栈指令可以把内存单元作为一个操作数(从内存到内存)。但堆栈固定在堆栈段且只能由SP指向。且堆栈操作要修改堆核指针。MOV指令不能实现内存单元间的数据传送。XCHG指令是交换,有一个操作数必须是寄存器。3.17下面这些指令中哪些是正确的?哪些是错误的?若是错误的,请说明原因。(1)XCHG CS, AX(2)MOV BX, 1000(3)XCHG BX, IP(4)PUSH CS(5)POP CS(6)IN BX, DX(7)MOV BYTEBX, 100O (8)MOV CS, 1000解:(l)错误,CS不能交换。(2)错误,MOV指令不能在内存间传送。(3)错误,IP不能交换。(4)错误,CS可以作为P

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作范文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号