微机原理第三章
- 格式:ppt
- 大小:985.00 KB
- 文档页数:155
“微处理器系统原理与嵌入式系统设计”第三章习题解答3.1什么是冯·诺伊曼计算机结构?其运行的基本原理如何?冯.诺依曼计算机由运算器、控制器、存储器、输入设备和输出设备构成,采用二进制表示信息,以存储器为中心,按存储程序原理工作。
存储程序原理指编好的程序首先放入存储器,开始工作后,由控制器自动、高速依次从存储器中取出指令并执行。
3.2. 微处理器的体系结构可以分为几种?试分别说明各种体系结构的优缺点。
3.3 高级编程语言、汇编语言以及机器语言之间有哪些不同?机器语言是直接用二进制代码表达的计算机语言。
指令用“0”和“1”组成,并分成若干段,各段的编码表示不同的含义。
机器语言面向硬件,是唯一可以由硬件直接执行的语言。
汇编语言采用符号代替机器语言中的二进制码:用助记符(Mnemonic)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。
汇编语言与机器语言一一对应,因此不具有移植性,但更易于读写和理解。
汇编语言源程序需要汇编成机器语言才能交给硬件执行。
高级编程语言语法和结构更类似普通英文,且由于远离对硬件的直接操作,因此移植性较好。
高级语言源程序需要编译(或解释)成机器语言才能交给硬件执行。
3.5 什么是计算功能指令、数据传输指令以及控制流程指令?计算功能指令:对数据进行处理完成算术运算或逻辑运算等的指令。
数据传输指令:负责把数据、地址或立即数传送到寄存器、I/O端口或存储单元中,或者反方向传送的指令。
控制流程指令:用来控制程序执行流程的指令,有测试、转移、跳转等子类。
3.6 解释跳转、分支、调用以及中断所需进行的操作。
跳转:根据“跳转”指令指计算目的地址,修改程序指针。
分支:根据“分支”指令判断执行条件,计算跳转地址,修改程序指针。
调用:保存断点,根据“调用”指令计算子程序入口地址,修改程序指针,执行完毕后恢复断点。
中断:保护断点及现场,查找中断向量表以确定中断程序入口地址,修改程序指针,执行完毕后恢复现场及断点。
习题一、选择题1.寻址方式指出了操作数的地点,一般来说_______。
A.立刻寻址给出了操作数的地点B.寄存器直接寻址的操作数在寄存器内,而指令给出了储存器C.直接寻址直接给出了操作数自己D.寄存器直接寻址的操作数包括在寄存器内,由指令指定寄存器的名称答案: D2.寄存器寻址方式中,操作数在_________。
A. 通用寄存器B. 货仓C.内存单元D.段寄存器答案: A3.寄存器间接寻址方式中,操作数在_________ 。
A. 通用寄存器B. 货仓C.内存单元D.段寄存器答案: C4.以下指令中的非法指令是 ______。
A. MOV [SI+BX], AXB.MOV CL, 280C.MOV [0260H], 2346HD.MOV BX, [BX]答案: B5.设 (SP)=0100H ,(SS)= 2000H ,履行 PUSH BP 指令后,栈顶的物理地点是 _____。
A.200FEHB.0102HC. 20102HD.00FEH答案: A6.指令 LEA BX, TAB 履行后,其结果是 ______。
A. 将 TAB 中内容送 BXB.将 TAB 的段基址送 BXC.将 TAB 的偏移地点送 BXD.将 TAB 所指单元的储存内容送 BX答案: C7.以下正确的指令格式有______。
A.MOV [BX], 1B.MOV AL, 0345HC.MOV ES: PTR[CX], 3D. XLAT答案: D8.设 (AX)=C544HA.CF=0,OF=0 ,在履行指令B.CF=0,OF=1ADD AH,AL 以后,C.CF=1,OF=0______。
D,CF=1,OF=1答案: C9.若 AL 、 BL 再履行 DAA 中是压缩BCD后, (AL)=_____数,且在履行。
ADD AL, BL 以后,(AL)=0CH , CF=1 ,AF=0 。
A.02HB.12HC.62HD.72H 答案: B10.履行以下程序后AL 的内容为 _____。
第3章从8086到Pentium系列微处理器的技术发展由于课时的关系,本章内容一般作为自学或讨论学习的内容。
但是,本章内容对本课程学习的升华具有潜在的意义,故在此也进行提示。
3.1分析教材内容本章主要对80386 CPU,同时也对80486及Pentium微处理器的改进之处和特点进行简单提示。
3.1.1分析重点难点问题1. 80386微处理器1) 80386的特点及其体系结构,请参见教科书P50-52,注意:硬件支持多任务处理。
2) 80386引脚的功能,请参教科书见P53,注意:理解协处理器接口信号。
3) 80386的寄存器组,请参见教科书P54-56,注意:掌握各寄存器的功能。
4) 80386的工作模式,请参见教科书P57,注意:理解三种模式,3种工作模式可以相互转换。
5) 80386中断,请参见教科书P59-60,注意:80386的中断管理机制在实模式和保护模式下是不同的。
2. 80486微处理器1) 80486的主要特点,请参见教科书P60-61。
2) 80486的内部结构,请参见教科书P61-64。
注意和80386的区别。
3. Pentium微处理器1) Pentium体系结构,请参见教科书P65-67,注意Pentium微处理器在486体系结构基础上,还作了哪些增强性的改进。
2) Pentium Ⅱ微处理器,请参见教科书P68。
注意其结构上的特色。
3) Pentium Ⅲ微处理器,请参见教科书P69。
注意其SSE指令。
4) Pentium Ⅳ微处理器,请参见教科书P69。
注意其两组独立工作的ALU。
3.1.2 典型例题解析本章例题主要从微处理机体系结构和新的设计思想出发,以8086微处理机为基础,把重点放在Pentium微处理机的新体系结构和新的设计思想上。
例如Pentium微处理机新体系结构的特点?相对8048体系结构有哪些增强点等?这些问题有助于提高计算机系统结构的水平。
有关这方面的问题,上节已很明确的写出,在此不再赘述。
第3章指令系统机器指令:能指示计算机完成基本操作的二进制代码指令系统:CPU可执行的机器指令的集合。
为了方便编程,人们又把完成特定操作的机器码用特定的符号表示,这就产生了符号表示的机器指令-------指令助记符。
第3章8086指令系统机器指令由二进制代码组成,一条指令包括操作码和操作数(或地址)两部分,操作码指明该指令进行何种操作,操作数用来说明操作对象。
个别指只有操作码没有操作数。
由于不同的指令所表达的信息不尽相同,因此指令的长度即机器码字节数也有长有短。
8086指令系统的指令是可变长指令(1~6个字节)3.18086CPU寻址方式重点是存储器寻址存放在存储器中的数据称为存储器操作数。
指令中需要确定存储单元的段地址、偏移地址(亦称有效地址EA),以及存储器操作数的类型。
段地址存放在段寄存器中,确定段地址实际上就是确定段寄存器,采用的方法是默认或添加段超越前缀。
生成存储器有效地址有多种方法,这些方法形成了对存储器操作数的多种寻址形式。
确定数据类型的方法是源操作数和目的操作数类型一致原则或附加类型说明。
立即寻址方式中操作数也在存储器中,但立即寻址中的立即数包含在指令中,随程序存放在代码段,CPU在取指令时就获得操作数。
这里所说的存储器操作数是存放在数据段、附加段或堆栈段中,取指令时也不会被立即取到。
段超越前缀变量的定义在第四章详细介绍直接寻址:MOV AX,[2000H];寄存器间接寻址:MOV ES:[DI],AH基址寻址:MOV BYTE PTR[BX+1200H],10变址寻址:MOV DL,[SI+2AH]基址加变址寻址:MOV CL,[BX+SI+5]MOV AX,[BP+DI]MOV CL,[BX+SI+5]的等价形式:MOV CL,5[BX][SI]、MOV CL,5[BX+SI]、MOV CL,[BX][SI+5]MOV CL,[BX+SI-5]等价于MOV CL,[BX+SI+65531] MOV CL,[BX-SI]MOV CL,[SI+DI]错误!MOV[BX+DI],1000H正确吗?3.2.1数据传送类指令传送指令把数据从一个位置传送到另一个位置使用MOV指令应注意1.立即数只能作为源操作数2.无存储器之间直接传送与交换的指令3.没有用立即数对段寄存器直接赋值的指令4.段寄存器之间无传送指令5.两个操作数的类型要一致6.要能确定是字节还是字操作mov ah,al mov bvar,ch mov ax,bx mov ds,ax mov al,[bx]下列MOV指令正确吗?MOV AL,050AHMOV SI,DLMOV[BX+SI],255MOV DS,100HMOV[BX],[SI]MOV[BX+SI],bvarbvar是一个已定义过的字节变量 MOV CS,[SI]将数据段中偏移地址为2000H、2001H、2002H的3个字节的存储单元置数FFH。
第三章习题与参考答案3.1 已知 (DS) = 1000H,(ES) = 2000H,(SS) = 3000H,(SI) = 0050H,(BX) =0100H,(BP) =0200H,数据变量DISP的偏移地址为1000。
指出下列指令的寻址方式和物理地址。
(1) MOV AX,0ABH 立即寻址无(2) MOV AX,BX 寄存器寻址无(3) MOV AX,[l000H] 直接寻址 10000H(4) MOV AX,DATA 直接寻址 (DS*16+DATA )(5) MOV AX,[BX] 寄存器间接寻址 10100H(6) MOV AX,ES:[BX] 寄存器间接寻址 20100H(7) MOV AX,[BP] 寄存器间接寻址 30200H(8) MOV AX,[SI] 寄存器间接寻址 10050H(9) MOV Ax,[BX+l0] 寄存器相对寻址 1010AH(10) MOV AX,DISP[BX] 寄存器相对寻址 11100H(1l) MOV AX,[BX+SI] 基址变址寻址 10150H(12) MOV AX,DISP[BX][SI] 相对基址变址寻址 11150H3.2 分别说明下例指令采用的寻址方式和完成的操作功能。
(1) MOV CX,2000H 立即寻址将立即数2000H送CX寄存器(2) MOV DS,AX 寄存器寻址将AX寄存器内容送DS段寄存器(3) AND CH,[1000H] 直接寻址将[DS*16+1000H]单元的内容送CH寄存器(4) ADD [DI],BX 寄存器间接寻址将CL寄存器的内容送[DS*16+DI]单元(5) MOV SS:[3000H],CL 直接寻址将CL寄存器的内容送[SS*16+3000H]单元(6) SUB [BX][SI],1000H 直接寻址将立即数1000H送[DS*16+BX+SI+50H]单元(7) ADD AX,50H[BX][SI] 相对基址变址寻址将[DS*16+BX+SI+50H]单元的内容送AX寄存器(8) PUSH DS 寄存器寻址将DS寄存器的内容送[SS*16+SP]单元(9) CMP [BP][DI],AL 寄存器寻址将AL寄存器的内容送[SS*16+DI+BP]单元3.3 判断下列指令正误,如果错误请指出原因。