第二章微处理器结构及微机工作原理
- 格式:ppt
- 大小:1.16 MB
- 文档页数:20
微型计算机原理及应用第三版课后答案【篇一:《微型计算机原理及应用》课后习题答案】=txt>第一章1.1 解释题(1) 微处理器【解答】由大规模集成电路芯片构成的中央处理器(cpu),叫做微处理器。
(2) 微型计算机【解答】以微处理器为基础,配以内存储器、输入输出接口电路、总线以及相应的辅助电路而构成的计算机裸机,叫做微型计算机。
(3) 微型计算机系统【解答】微型计算机系统由硬件系统和软件系统组成。
即由微型计算机、配以相应的外部设备(如打印机、显示器、键盘、磁盘机等),再配以足够的软件而构成的系统。
(4) 单板机【解答】将微处理器、ram、rom以及i/o接口电路,再配上相应的外设(如小键盘、led显示器等)和固化在rom中的监控程序等,安装在一块印刷电路板上构成的微型计算机系统称为单板机。
(5) 运算器【解答】运算器是直接完成各种算术运算、逻辑运算的部件,主要由alu(arithmetic and logic unit,算术逻辑部件)、通用寄存器、标志寄存器等组成。
(6) 地址总线【解答】地址总线是cpu对内存或外设进行寻址时,传送内存及外设端口地址的一组信号线。
地址总线的条数多少决定了cpu的寻址能力。
(7) 数据总线【解答】数据总线是cpu与内存或外设进行信息交换时,所用的一组数据信号线。
它决定了cpu一次并行传送二进制信息的位数,反映出cpu的“字长”这个重要性能指标。
(8) 控制总线【解答】控制总线是在cpu与外部部件之间传送控制信息(如读/写命令、中断请求命令等)的一组信号线。
1-2 单片机应包括哪些基本部件?其主要应用于哪些领域?【解答】一般单片机芯片中包括微处理器、ram、rom、i/o接口电路、定时器/计数器,有的还包括a/d、d/a转换器等。
其主要应用于智能化仪器仪表及工业控制领域。
1-3 按图1-11和图1-12,写出取第二条指令操作码和执行第二条指令的过程。
【解答】1) ip的值(002h)送入地址寄存器ar;2) ip的内容自动加1,变为003h;3) ar将地址码通过地址总线送到存储器的地址译码器,经译码后选中002h单元;4) 微处理器给出读命令;5) 所选中的002h单元内容04h送上数据总线db;6) 数据总线db上的数据04h送到数据寄存器dr;7) 因是取指操作,取出的是指令操作码04h,即由dr送入指令寄存器ir;8) ir中的操作码经指令译码器id译码后,通过pla发出执行该指令的有关控制命令。
第二章8086/8088微处理器及其系统结构内容提要:1.8086微处理器结构:CPU内部结构:总线接口部件BIU,执行部件EU;CPU寄存器结构:通用寄存器,段寄存器,标志寄存器,指令指针寄存器;CPU引脚及其功能:公用引脚,最小模式控制信号引脚,最大模式控制信号引脚。
2.8086微机系统存储器结构:存储器地址空间与数据存储格式;存储器组成;存储器分段。
3.8086微机系统I/O结构4.8086最小/最大模式系统总线的形成5.8086CPU时序6.最小模式系统中8086CPU的读/写总线周期7.微处理器的发展学习目标1.掌握CPU寄存器结构、作用、CPU引脚功能、存储器分段与物理地址形成、最小/最大模式的概念和系统组建、系统总线形成;2.理解存储器读/写时序;3.了解微处理器的发展。
难点:1.引脚功能,最小/最大模式系统形成;2.存储器读/写时序。
学时:8问题:为什么选择8088/8086?•简单、容易理解掌握•与目前流行的P3、P4向下兼容,形成x86体系•16位CPU目前仍在大量应用思考题1、比较8086CPU与8086CPU的异同之处。
2、8086CPU从功能上分为几部分?各部分由什么组成?各部分的功能是什么?3、CPU的运算功能是由ALU实现的,8086CPU中有几个ALU?是多少位的ALU?起什么作用?4、8086CPU有哪些寄存器?各有什么用途?标志寄存器的各标志位在什么情况下置位?5、8086CPU内哪些寄存器可以和I/O端口打交道,它们各有什么作用?6、8086系统中的物理地址是如何得到的?假如CS=2400H,IP=2l00H,其物理地址是多少?思考题1.从时序的观点分析8088完成一次存储器读操作的过程?2.什么是8088的最大、最小模式?3.在最小模式中,8088如何产生其三总线?4.在最大模式中,为什么要使用总线控制器?思考题1.试述最小模式下读/写总线周期的主要区别。
第二章微处理器及其结构2-7 什么是逻辑地址? 什么是物理地址? 在实地址方式下,如何求存储器的物理地址? 设一个16字的数据区,它的起始地址为70A0H:DDF6(段基址:偏移地址).写出这个数据区的首字单元和末字单元的物理地址.解:1). 实模式下,逻辑地址由段基址和偏移地址组成.物理地址是真正的存储单元的地址.2). 物理地址=段基址*16 + 偏移地址3). 首字单元地址:70A0H*16 +DDF6H = 70A00H + DDF6H = 7E7F6H末字单元地址:7E7F6H + (16-1)*2 = 7E7F6H + 1EH = 7E814H注意:相邻两个存储单元可构成一个字长为16位的字,在对准字时,用偶地址表示字的地址.1EH1CH 2H20H16H14H18H4H1AH10H0H12HEHCH8HAH6H第三章指令系统3-6 分别指出下列指令中源操作数和目标操作数的寻址方式. 若是存储器寻址,用表达式表示EA=?(1)AND AX, 00FFH(2)ADD BX, [00FFH](3)MOV AX, [BX+10H](4)ADD AX, [ESI*8](5)SUB [BP][SI], AX(6)MOV AX, [BX+DI+20H](7)CMP [SI], AX(8)OR AX, DX(9)MOV EAX, [ESI][EDI*2](10)PUSH DS解:(1)立即数寻址(2)直接寻址EA=00FFH(3)基址寻址EA=(BX)+10(4)比例间址EA=ESI*8(5)基址加间址寻址EA=(BP)+(SI)(6)带位移的基址加间址寻址EA=(BX)+(DI)+20H(7)间址寻址EA=(SI)(8)寄存器寻址(9)基址加比例间址寻址EA=(ESI)+(EDI)*2(10)寄存器寻址注意:◆16位寻址: BX和BP作为基址寄存器.BX以DS作为默认段寄存器,BP以SS为默认段寄存器.SI和DI作为间址寄存器. 默认DS为段寄存器◆32位寻址: 8个32位通用寄存器均可作为基址寄存器,其中ESP,EBP以SS为默认段寄存器,其余均以DS为默认段寄存器.除ESP外的其它7个寄存器均可作间址寄存器,EBP默认SS作段基址寄存器,其它以DS作段基址寄存器3-7 32位微机工作在实地址模式下, 已知(DS) = 1000和(SS) = 2000H, (SI) =007FH, (BX) = 0040H, (BP) = 0016H, 变量TABLE的偏移地址为0100H. 指出下列指令中源操作数的寻址方式,求它的有效地址(EA)和物理地址(PA).(1)MOV AX, [1234H](2)MOV AX, TABLE(3)MOV AX, [BX+100H](4)MOV AX, TABLE[BP][SI]解:(1)直接寻址EA=1234H PA=(DS)*16 + EA = 11234H(2)直接寻址EA=(TABLE)=0100H PA=(DS)*16+EA=10100H(3)基址寻址EA=(BX)+100H=0140H PA=(DS)*16+EA=10140H(4)带位移的基址加间址寻址EA=(BP)+(SI)+TABLE=0195H PA=(SS)*16+EA=20195H注意: 当基址寄存器和间址寄存器默认的段寄存器不同时,一般规定,由基址寄存器来决定默认的段寄存器为段基址寄存器. 这里BP为基址寄存器,所以默认SS为段基址寄存器.3-8 指出下列指令的错误,并加以改正.(1)MOV DS, 100(2)MOV 1020H, DX(3)SUB [1000H], [SI](4)PUSH AL(5)IN AL, [80H](6)MOV DS, ES(7)JMP BX(8)SHR DX, 4(9)OUT 380H, AX(10)ADD AL, BX(11)POP CS(12)MOV CL, 3300H解:(1)立即数不能直接传送到段寄存器中去应改为: MOV AX, 100MOV DS, AX(2)立即数只能出现在源操作数位置应改为: MOV DX,1020H(3)源操作数和目标操作数不能同时为寄存器寻址应改为: MOV AX, [1000H]SUB AX, [SI](4)PUSH指令不能操作8位数据应改为: PUSH AX(5)[80H ]不是端口IN AL ,80H应改为: IN AL, 80H(6)两个段寄存器之间不能直接传送应改为: MOV AX, ESMOV DS,AX(7)对(8)移位次数超过1的时候,要把移位次数放入CL中应改为: MOV CL, 4SHR DX, CL(9)端口地址大于255时,要把地址放入DX中应改为: MOV DX, 380HOUT DX, AX(10)源操作数和目标操作数不匹配应改为: ADD AX, BX(11)POP指令只能使用在存储器或通用寄存器可改为: POP AX(12)源操作数和目标操作数不匹配应改为: MOV CX, 3300H3-9 已知: (DS) = 091DH, (SS) = 1E4AH, (AX) = 1234H, (BX) = 0024H, (CX) = 5678H, (BP) = 0024H, (SI) = 0012H, (DI) = 0032H, [09226H] = 00F6H, [09228H] = 1E40H, [1E4F6H] = 091DH. 试求下列各指令单独执行后的结果.(1)MOV CL, 20H[BX][SI] ; (CL) = ?(2)MOV [BP][DI], CX ; [IE4F6H] = ?(3)LEA BX, 20H[BX][SI] : (BX) = ?MOV AX, 2[BX] : (AX) = ?(4)LDS SI, [BX][DI]MOV [SI], BX ; (SI]) = ?(5)XCHG CX, 32H[BX] ; (AX) = ?XCHG 20[BX][SI], AX ; [09226H] = ?解:(1)(CL) = 00F6H(2)[IE4F6H] = 5678H(3)(BX) = 0056H(AX) = 1E40H(4)(SI)= 0024H(5)(AX) = 5678H[09226H] = 1234H3-10 已知(AL) = 0C4H, DATA单元中内容为5AH, 写出下列每条指令单独执行后的结果(ODITSZAPC:0---xxux0)(1)AND AL, DATA(2)OR AL, DATA(3)XOR AL, DATA(4)NOT DATA(5)AND AL, 0FH(6)OR AL, 1H(7)XOR AL, 0FFH(8)TEST AL, 80H解:(1)(AL)= 40H CF=0,OF=0,SF=0,ZF=0,PF=0,AF无定义(2)(AL)= DEH CF=0,OF=0,SF=1,ZF=0,PF=1,AF无定义(3)(AL)= 9EH CF=0,OF=0,SF=1,ZF=0,PF=0,AF无定义(4)(AL)= A5H 不影响任何标志位(5)(AL)= 04H CF=0,OF=0,SF=0,ZF=0,PF=0,AF无定义(6)(AL)= C5H CF=0,OF=0,SF=1,ZF=0,PF=1,AF无定义(7)(AL)= 3BH CF=0,OF=0,SF=0,ZF=0,PF=0,AF无定义(8)(AL)不变=0C4H CF=0,OF=0,SF=1,ZF=0,PF=0,AF无定义3-12 (AL)=8EH,(BL)=72H,执行以下指令后,标志位OF、SF、ZF、AF、PF和CF的值是什么?(1)ADD AL,BL(2)AND BL,AL(3)CMP AL,BL(4)SHL AL,1解:(1)OF=0,SF=0,ZF=1,AF=1,PF=1,CF=1(2)OF=0,SF=0,ZF=0,AF=(未定义),PF=0,CF=0(3)OF=1,SF=0,ZF=0,AF=0,PF=0,CF=0(4)OF=1,SF=0,ZF=0,AF=(未定义),PF=0,CF=13-15 试用CMP指令和无条件指令实现以下判断(1)AX和CX中的内容均为无符号数①(AX)>(CX)则转至BIGGER标号执行②(AX)<(CX)则转至LESS标号执行(2)BX和DX中的内容均为有符号数①(BX)>(DX)则转至BIGGER标号执行②(BX)<(DX)则转至LESS标号执行解:(1)CMP AX,CXJA BIGGERJB LESS(2)CMP BX,DXJG BIGGERJL LESS第四章汇编语言程序设计4-9 试用伪指令编写一数据段与下面程序等效。