微机原理与接口技术 第二版

上传人:E**** 文档编号:117938985 上传时间:2019-12-11 格式:PDF 页数:15 大小:218.55KB
返回 下载 相关 举报
微机原理与接口技术 第二版_第1页
第1页 / 共15页
微机原理与接口技术 第二版_第2页
第2页 / 共15页
微机原理与接口技术 第二版_第3页
第3页 / 共15页
微机原理与接口技术 第二版_第4页
第4页 / 共15页
微机原理与接口技术 第二版_第5页
第5页 / 共15页
点击查看更多>>
资源描述

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

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

2、是进行算 术和逻辑运算以及控制计算机按照程序的规定自动运行。 1.3 微型计算机采用总线结构有什么优点? 解: 采用总线结构,扩大了数据传送的灵活性、减少了连线。而且总线可以标准 化,易于兼容和工业化生产。 1.4 数据总线和地址总线在结构上有什么不同之处?如果一个系统的数据和地址合 用 一套总线或者合用部分总线,那么要靠什么来区分地址和数据? 解: 数据总线是双向的(数据既可以读也可以写),而地址总线是单向的。 8086CPU 为了减少芯片的引脚数量,采用数据与地址线复用,既作数据总线也作为 地址总线。它们主要靠信号的时序来区分。通常在读写数据时,总是先输出地址 (指定要读或写数据的单元),

3、过一段时间再读或写数据。 1.8 在给定的模型中,写出用累加器的办法实现 1515 的程序。 DEC H JP NZ,LOOP HALT 第第 2 章章 作业作业 答案答案 2.1 IA-32 结构微处理器直至 Pentillm4,有哪几种? 解: 80386、30486、Pentium、Pentium Pro、PeruiumII、PentiumIII、Pentium4。 2.6IA-32 结构微处理器有哪几种操作模式? 解: IA 一 32 结构支持 3 种操作模式:保护模式、实地址模式和系统管理模式。操 作模式确定哪些指令和结构特性是可以访问的。 2.8IA-32 结构微处理器的地址空间如

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

5、指针寄存器 IP=FFOOH,此时,指令的物理地址为 多少? 解: 指令的物理地址=12000H+FFOOH=21FOOH 第第 3 章章 作作 业答案业答案 3.1 分别指出下列指令中的源操作数和目的操作数的寻址方式。 (1)MOV SI, 30O (2)MOV CX, DATADI (3)ADD AX, BXSI (4)AND AX, CX (5)MOVBP, AX (6)PUSHF 解: (l)源操作数为立即寻址,目的操作数为寄存器寻址。 (2)源操作数为变址寄存器加位移量寻址,目的操作数为寄存器寻址。 (3)源操作数为基址加变址寻址,目的操作数为寄存器寻址。 (4)源操作数和目的操作数

6、都为寄存器寻址。 (5)源操作数为寄存器寻址,目的操作数为寄存器间接寻址。 (6)为堆栈操作。 3.2 试述指令 MOVAX,2000H 和 MOV AX,DSz2000H的区别。 解:前一条指令是立即寻址,即把立即数 2000H 传送至寄存器 AX。后一条指令 是直接寻址,是把数据(DS)段中的地址为 200OH 单元的内容传送至寄存器 AX。 3.3 写出以下指令中内存操作数的所在地址。 (1)MOV AL, BX+10 (2)MOV BP+10, AX (3)INC BYTEPTRSI 十 5 (4)MOV DL, ES:BX+SI (5)MOV BX,BP+DI+2 解: (1)数据段

7、 BX+10 单元。 (2)堆栈段 BP+10 单元。 (3)数据段 SI+5 字节单元。 (4)附加段(ES 段)BX+SI 单元。 (5)堆栈段 BP+DI+2 单元。 3.4 判断下列指令书写是否正确。 (1)MOV AL, 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)不正确,立即数不能作为目的操作数。 (

8、5)不正确,因为不明确要传送的是字节还是字。 (6)正确。 (7)正确。 (8)不正确,CS 不能作为:pop 指令的操作数。 (9)不正确,CS 不能作为 PUSH 指令的操作数。 3.5 设堆钱指针 SP 的初值为 1000H,AX=2000H,BX=3000H,试问: (1)执行指令 PUSHAX 后 SP 的值是多少? (2)再执行 PUSHBX 及 POPAX 后,SP、AX 和 BX 的值各是多少? 解: (1)SP=OFFEH。 (2)SP=OFFEH;AX=3000H,BX=3000H。 3.6 要想完成把3000H送2000H中,用指令: MOM200OH,300OH 是否正

9、确?如果不正确,应该用什么方法实现? 解:不正确。 正确的方法是: MOV AL, 300OH MOV 2000H ,AL 3.7 假如想从 200 中减去 AL 中的内容,用 SUB200,AL 是否正确?如果不正确,应该 用什么方法? 解:不正确。 正确的方法是: MOV BL, 200 SUB BL,AL 3.8 试用两种方法写出从 8OH 端口读入信息的指令。再用两种方法写出从 4OH 口输 出 10OH 的指令。 解: (1)IN AL, 80H (2)MOV DX,8OH IN AL, DX (3)MOV,AL,lOOH OUT40H,AL 4)MOV AL,10OH MOV DX

10、,4OH OUT DX,AL 3.9 假如:AL=20H,BL=1OH,当执行 CMPAL,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)因为两个都是符号正数,其结果与(l)相同。 3.10 若要使 AL10,有哪几种方法,试编写出各自的程序段? 解: (1) 使用乘法指令: MOVBL,10 MULBI, (2)使用移位指令: SHLAL,1 MOVBL,AL SHLAL,2 A

11、DDAL,BL (3)使用加法指令: ADDAL,AL MOVBL,AL ADDAL,AL ADDAL,AL ADDAL,BL 3.118086 汇编语言指令的寻址方式有哪几类?哪种寻址方式的指令执行速度最快? 解:寻址方式分为:立即数寻址方式、寄存器操作数寻址方式和存储器操作数寻 址方式。其中,寄存器操作数寻址方式的指令执行速度最快。 3.12 在直接寻址方式中,一般只指出操作数的偏移地址,那么,段地址如何确定?如 果要用某个段寄存器指出段地址,指令中应该如何表示? 解: 默认的数据访问,操作数在 DS 段;堆栈操作在 SS 段;串操作源操作数(SI)在 DS 段, 目的操作数(DI)在 E

12、S 段;用 BP 作为指针在 SS 段。如果要显式地指定段地址,则在操 作数中规定段寄存器。例如: MOVAX,ES:(BX+10H) 3.13 在寄存器间接寻址方式中,如果指令中没有具体指明段寄存器,那么如何确定 段地址? 解: 在寄存器间接寻址方式中,如果指令中没有具体指明段寄存器,段地址是 隐含约定的,也就是隐含地选择段寄存器。如操作类型为指令,则指定代码段寄 存器 CS,如操作类型为堆栈操作,则指定堆找段寄存器 SS,如表 3-1 中所示。 当需要超越约定时,通常用段替代前缀加冒号:来表示段超越,它允许程序设 计者偏离任何约定的段。 例如: MOV ES:BX ,AX 这时数据将从寄存

13、器 EAX 传送至附加段中由 EBX 寻址的存储单元,而不是传送 到数据段中。 3.14 采用寄存器间接寻址方式时,BX、BP、SI、DI 分别针对什么情况来使用?这 4 个 寄存器组合间接寻址时,地址是怎样计算的?请举例说明。 解: 在寄存器间接寻址方式下,BX 和 BP 作为间址寄存器使用,而 SI、DI 作为 变址寄存器使用。除 BP 间址默认的段为堆栈段,其他的都默认为数据段。它们 都可以单独使用,或加上偏移量或组合使用。如: BX+n LBP+n SI+n DI+n BX+SI+n BX+DI+n BP+SI+n BP+DI+n 3.15 设 DS=2100H,SS=5200H,BX

14、=1400H,BP=6200H,说明下面两条指令所进行 的具体操作: MOVBYTEPTRBP,200 MOVWORDPTRBX,2000 解:前一条指令是把立即数(应是字节)200,传送至堆栈段(BP 的默认段偏移 量由 BP 规定的字节单元,地址为:52000H+620OH=58200H 第二条指令是把立即数.2000,传送至数据段(BX 的默认段)偏移量由 BX 规定的 字单元,地址为:21000H+1400H=22400H。 3.16 使用堆钱操作指令时要注意什么问题?传送指令和交换指令在涉及内存操作数 时应该分别要注意什么问题? 解:使用堆栈指令可以把内存单元作为一个操作数(从内存到内存)。但堆栈 固定在堆栈段且只能由 SP 指向。且堆栈操作要修改堆核指针。MOV 指令不能实 现内存单元间的数据传送。XCHG 指令是交

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

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