《微机技术》自己修订的

上传人:宝路 文档编号:7514183 上传时间:2017-09-21 格式:DOC 页数:50 大小:278KB
返回 下载 相关 举报
《微机技术》自己修订的_第1页
第1页 / 共50页
《微机技术》自己修订的_第2页
第2页 / 共50页
《微机技术》自己修订的_第3页
第3页 / 共50页
《微机技术》自己修订的_第4页
第4页 / 共50页
《微机技术》自己修订的_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《《微机技术》自己修订的》由会员分享,可在线阅读,更多相关《《微机技术》自己修订的(50页珍藏版)》请在金锄头文库上搜索。

1、1微机技术习题解答上册第 1 章 绪论1.1 8086CPU 由哪两大部分组成?简述他们的主要功能?答:执行部件(BIU)和总线接口部件(EU) 。主要功能:EU 从 BIU 的指令队列中获得指令,然后执行该指令,完成指令所规定的操作。EU 用来对寄存器内容和指令操作数进行算术和逻辑运算,以及进行内存有效地址的计算。EU 负责全部指令的执行,向 BIU 提供数据和所需访问的内存或 I/O 端口地址,并对通用寄存器,标志寄存器和指令操作数进行管理。BIU 负责从内存从内存储器的指定区域中取出指令送到指令队列中去排队,执行指令时所需要的操作数也有总线接口部件从相应的其内存区域或 I/O 端口中取出

2、,传送给执行部件 EU。1.5 8086 微处理器有那几个段寄存器?简述他们的主要功能。答:4 个,CS 内容指出当前代码段,SS 内容指出当前程序所使用的堆栈段,DS 指出了当前程序使用的数据段,ES 指出了当前程序使用的附加段。第 2 章 Pentium 系列微处理器的基本结构2.3 什么是指令周期?什么是总线周期?什么是时钟周期?说明三者的关系。答:时钟周期:CPU 脉冲时间。总线周期:CPU 经过总线执行信息的输入/输出过程,称为总线周期。指令周期:完成一条指令的时间。关系:一个总线周期包含多个时钟周期,一个时钟周期包含多个指令周期。2.5 IP/EIP 寄存器的用途是什么?答:IP/

3、EIP 内容为下一条要取入 CPU 的指令在内存中的偏移地址。CPU 复位后,IP/EIP 清零。每取一条指令,IP/EIP 自动增加取入 CPU 的字节数目。2.6 Pentium 微处理机在实模式下操作时,段寄存器的用途是什么?答:在实地址模式下,Pentium 的运行方式为 8086 方式,CPU 可以直接访问段寄存器,每个段寄存器定义一个 64KB 存储器段的起点,既给出相应的段基址。CS 内容指出当前代码段,SS 内容指出当前程序所使用的堆栈段,DS 指出了当前程序使用的数据段,ES 指出了当前程序使用的附加段。22.7 在实模式下,段寄存器中装入如下数值,写出每个段的起始地址和结束

4、地址。1. 2000H2. 2345H3. 6700H4. 0E000H答:在实模式下,Pentium 微处理器具有与 8086 同样的基本体系结构。物理地址是由段寄存器内容左移 4 位加上有效地址,而且有效地址的范围是: 0000HFFFFH.所以a) 2000H 段寄存器的段起始地址和结束地址分别是: 20000H2FFFFHb) 2345H 段寄存器的段起始地址和结束地址分别是: 23450H3344FHc) 6700H 段寄存器的段起始地址和结束地址分别是: 67000H76FFFHd) 0E000H 段寄存器的段起始地址和结束地址分别是:0E0000H0EFFFFH2.8 Penti

5、um 微处理器在实模式下操作,对于 CS:IP 组合,指出要执行的指令的存储器地址。1. CS=2000H 和 IP=3000H2. CS=4000H 和 IP=5000H3. CS=2340H 和 IP=1600H4. CS=5A00H 和 IP=0B000H答:Pentium 在实模式下,物理地址=段地址16+偏移量a) CS=2000H 和 IP=3000HA1=20000H+3000H=23000Hb) CS=4000H 和 IP=5000HA2=40000H+5000H=45000Hc) CS=2340H 和 IP=1600HA3=23400H+1600H=24A00Hd) CS=5

6、A00H 和 IP=0B000HA4=5A000H+0B000H=65000H第 3 章 指令系统3.1 设 DS=3000H,SS=2000H,AX=2A2BH,BX=1200H,CX=889AH,BP=1200H,SP=1352H,3SI=1354H,(31350H)=35H,(31351H)=03CH,(31352H)=8FH,(31353H)=86H,(31354H)=52H,(31355H)=97H,(326A4)=98H,(326A5H)=86H,(23150H)=88H,(23151H)=31H,(23152H)=99H(23153H)=77H答:下列指令在上述环境下执行,请填空

7、;(1)MOV AX , 1352H ; AX= 1352H(2)MOV AX , 1352H ; AX= 868FH(3)MOV 0150HBX , CH ; (31350H)= 88H (31351H)= 03CH(4)MOV AX , 0150HBP ; AX= 3188H(5)POP AX ; AX=7799H , SP= 1354H(6)ADDSI , CX ; (31354H)=ECH , (31355H)= 1FH , SF= 0,ZF= 0 ,PF= 0 ,CF= 1,OF= 1(7)SUB BH , 0150HBXSI ; BH= 7AH , SF= 0,ZF= 0 ,PF=

8、 0 ,CF= 1,OF= 0(8)INC BYTE PTR 0152HBX ; (31352H)=90H , (31353H)= 86H , CF= 不变(9)INC WORD PTR 0152HBX ; (31352H)=90H , (31353H)= 86H , CF= 不变分析:(1) 中的 1352H 是立即数(2) 中是直接寻址方式,要和(1)区别,加上了 就要去存储器寻址了(3) 中 0150HBX和0150H+BX是一样的,还有就是 BX 的隐含段是 DS(4) 中注意 BP 的隐含段是 SS(5) 中注意要将 SP 所指向的内存的字内容传给 AX,因为传的是字内容所以还有要将

9、SP+2(6) 和(7)要注意状态标志寄存器(7) 和(9)的区别是一个是对字的处理一个是对字节的处理,但是本题个人看来没有影响3.2 阅读下列程序段填空(1)MOV BL , 98HMOV AL , 29HADD AL , BLDAA答:AL= 27H BL= 98H CF= 1(2)MOV AX , BXNOT AX ADD AX , BXINC AX答:AX= 0H CF= 04(3)MOV AX , 0FE60HSTCMOC CX , 98XOR CH , 0FFHSBB AX , CX答:AX= FEFEH CF= 1(4)MOV DX , 0FFEEHMOV CL , 2XAR D

10、X , CL答:DX= FFFBH CF= 1分析:(1)看到 DAA 就可以将之看成“10 进制”处理(2)NOT 是取反操作,个人感觉 NOT 和 INC 的配合就是补码表示算法(3)注意“MOV CX , 98” 中 98 是 10 进制数(4)SAR 是向右移位,同时最高位补位,其中 CL 存的是移位次数,移动时要先将 16 进制数化成 2 进制数,再移动两次,同时最高位补位。3.3 试指出下列指令中源操作数的寻址方式(1)ADC CX ,35BX SI(2) MOV AX , 3300H(3) AND BX , BX(4) INC WORD PTR BX(5) MOV EAX , E

11、BX ESI答案:1.相对基址变址寻址2.直接寻址3.寄存器间接寻址4.寄存器间接寻址5.基址变址寻址3.4 按下列题意要求 分别为每一小题写出相应的汇编语言指令(1) 以寄存器 BX 和 SI 作为基址变址寻址方式把存储器的一个字传送到 CX 寄存器(2) 以寄存器 BX 和位移量 25H 作为寄存器相对寻址方式把存储器的一个子和 AX 相加,把结果送回那个字单元中(3)将一个字节立即数 0B6H 与偏移地址为 867H 的存储器字节单元内容相比较(4)清除寄存器 SI 间接寻址的存储器字但愿,同时清零 CF 标志位答案:1. MOV CX, BX+SI2. ADD BX+25H , AX3

12、. CMP BYTE PTR 867H, 0B6H4. AND WORD PTR SI, 03.5 设 X. Y. R. S. Z 均为 16 位无符号数的变量。按已给定的表达式 Z(X+Y)/(R-S)Z5有程序如下,是在空格处填入适当的命令MOV AX, XMOV CX, RSUB CX, SMOV Z, AXMOV Z+2, DXHLT答案:ADD AX, YMUL ZDIV CX3.6 解释 PUSH DI 指令是怎样工作的答案:(1)SPSP-1,调整 SP 指针。(2)将 DI 内容的高 8 位压入堆栈指针 SP 所指的存储单元。(3)SPSP-1,调整 SP 指针。(4)将 DI

13、 内容的低 8 位压入堆栈指针 SP 所指的存储单元。第 4 章 汇编语言程序格式4.1 伪指令的作用是什么?答:伪指令又称为操作,他们不像机器指令那样在程序运行期间由计算机来执行的,而是在汇编程序对源程序汇编是由汇编程序处理的操作。伪指令主要完成处理器选择、定义程序模式、定义数据、分配存储区、指示程序结束等功能。 4.2 标号的作用是什么?答:代码段中的名字字段叫做标号。它用来表示一个指令语句的符号地址,可以用该符号地址来访问该指令。4.3 MASM 识别的标号中最多字符数是多少个?答:根据书中的对一条指令的名字字段的定义规则:名字的长度任意,但只有前 31 位有效,可知字符数最多是 31

14、个。4.4 假设 VAR12 和 VAR34 为字变量,LAB 为标号,试指出下列指令的错误之处。(1) ADD VAR12 ,VAR34 ADD 指令的源操作数和目的操作数不能同时为内存操作数,但 VAR12 和 VAR34 都6是内存操作数。(2) SUB AL ,VAR12 VAR12 是字变量,而 AL 是字节型的,不匹配(3) JMP LAB DIJMP 跳转指令,后面直接跟指令标号,所以不应该有DI.(4) JNZ VAR12 JNZ 条件跳转指令,后面直接跟指令标号,但是 VAR12 不是标号。4.5画图说明下列语句所分配的存储空间及初始的数据值(1) AAA2 DB BYTE,

15、12,5DUP(0,?,2DUP(1,2) ,?) ;(2) BB3 DW 5DUP(0,1,2) ,?,-8;假设两题的初始地址都是 0H变量名 偏移量 存储单元内容0000H 42H0001H 59H0002H 54H0003H 45H0004H 0CH0005H 0H0006H 保留原值0007H 1H0008H 2H0009H 1H000AH 2H000BH 保留原值000CH 0H000DH 保留原值000EH 1H000FH 2H0010H 1H0011H 2H0012H 保留原值0013H 0H0014H 保留原值0015H 1H0016H 2H0017H 1H0018H 2H0019H 保留原值001AH 0H001BH 保留原值001CH 1HAAA2001DH 2H7001EH 1H001FH 2H0020H 保留原值0021H 0H0022H 保留原值0023H 1H0024H 2H0025H 1H0026H 2H0027H 保留原值000

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

最新文档


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

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