《《考研资料》第二章 习题课.ppt》由会员分享,可在线阅读,更多相关《《考研资料》第二章 习题课.ppt(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第二章第二章 作业作业习题课习题课*2 21.8086CPU由哪两部分组成?它们的主要功由哪两部分组成?它们的主要功能是什么?能是什么?8086CPU8086CPU由由总线接口部件总线接口部件总线接口部件总线接口部件BIUBIU和指令执行部件和指令执行部件和指令执行部件和指令执行部件EUEU组成,组成,BIUBIU和和EUEU的操作是并行的。的操作是并行的。总线接口部件总线接口部件BIUBIU的功能:地址形成、取指令、指的功能:地址形成、取指令、指令排队、读令排队、读/写操作数和总线控制。所有与外部的写操作数和总线控制。所有与外部的操作由其完成。操作由其完成。指令执行部件指令执行部件EUEU的
2、功能:指令译码,执行指令。的功能:指令译码,执行指令。*3 38086CPU8086CPU的寄存器有通用寄存器组、指针和变址的寄存器有通用寄存器组、指针和变址寄存器、段寄存器、指令指针寄存器及标志位寄存寄存器、段寄存器、指令指针寄存器及标志位寄存器器PSWPSW。4 4个个个个1616位通用寄存器位通用寄存器位通用寄存器位通用寄存器,它们分别是,它们分别是AXAX,BXBX,CXCX,DXDX,用以存放,用以存放1616位数据或地址。也可分为位数据或地址。也可分为8 8个个8 8位位寄存器来使用,低寄存器来使用,低8 8位是位是ALAL、BLBL、CLCL、DLDL,高,高8 8位是位是AHA
3、H、BHBH、CHCH、DHDH,只能存放,只能存放8 8位数据,不位数据,不能存放地址。能存放地址。2.8086CPU中有哪些寄存器?各有什么用途?中有哪些寄存器?各有什么用途?*4 4指针和变址寄存器指针和变址寄存器指针和变址寄存器指针和变址寄存器存放的内容是某一段内地址偏移存放的内容是某一段内地址偏移量,用来形成操作数地址,主要在堆栈操作和变址量,用来形成操作数地址,主要在堆栈操作和变址运算中使用。运算中使用。段寄存器段寄存器段寄存器段寄存器给出相应逻辑段的首地址,称为给出相应逻辑段的首地址,称为“段基址段基址”。段基址与段内偏移地址结合形成。段基址与段内偏移地址结合形成2020位物理地
4、址。位物理地址。指令指针寄存器指令指针寄存器指令指针寄存器指令指针寄存器用来存放将要执行的下一条指令在用来存放将要执行的下一条指令在现行代码中的偏移地址。现行代码中的偏移地址。1616位位标志寄存器标志寄存器标志寄存器标志寄存器PSWPSW用来存放运算结果的特征,常用来存放运算结果的特征,常用作后续条件转移指令的转移控制条件。用作后续条件转移指令的转移控制条件。*5 5比较两数是否相等?比较两数是否相等?将两数相减,当全零标志位将两数相减,当全零标志位ZF=1ZF=1时,说明两数时,说明两数相等,当相等,当ZF=0ZF=0时,两数不等。时,两数不等。两数运算后结果是正数还是负数?两数运算后结果
5、是正数还是负数?用符号标志位用符号标志位SFSF来判断,来判断,SF=1SF=1,为负数;,为负数;SF=0SF=0,为正数。,为正数。3.要完成下述运算或控制,用什么标志位判要完成下述运算或控制,用什么标志位判断?其值是什么?断?其值是什么?*6 6两数相加后是否溢出?两数相加后是否溢出?用溢出标志位来判断,用溢出标志位来判断,OF=1OF=1,产生溢出;,产生溢出;OF=0OF=0,没有溢出。没有溢出。采用偶校验方式。判定是否要补采用偶校验方式。判定是否要补“1”1”?用奇偶校验标志位判断,有偶数个用奇偶校验标志位判断,有偶数个“1”1”时,时,PF=1PF=1,不需要补,不需要补“1”1
6、”;有奇数个;有奇数个“1”1”时,时,PF=0PF=0,需,需要补要补“1”1”。*7 7(5 5)两数相减后比较大小?)两数相减后比较大小?l l ZF=1ZF=1时,说明两数是相等的;时,说明两数是相等的;l l ZF=0ZF=0时:时:无符号数时无符号数时,CF=0CF=0,被减数大;,被减数大;CF=1CF=1,被减数小。,被减数小。带符号数时带符号数时,SF=OF=0SF=OF=0或或SF=OF=1SF=OF=1,被减数大;,被减数大;SF=1SF=1,OF=0OF=0或或SF=0SF=0,OF1OF1,被减数小。,被减数小。(6 6)中断信号能否允许?)中断信号能否允许?用中断标
7、志位来判断,用中断标志位来判断,IF=1IF=1,允许,允许CPUCPU响应可屏蔽响应可屏蔽中断;中断;IF=0IF=0,不响应。,不响应。*8 8中断向量是指中断处理程序的入口地址。把不同中断类型号对应的中断服务程序入口地址排列起来,形成的表称为中断向量表;存放在存储器最开始的一段空间内;容量为1KB4.什么是中断向量?什么叫中断向量表,在什么是中断向量?什么叫中断向量表,在8086系统中,中断向量表存放在内存的什么系统中,中断向量表存放在内存的什么位置,容量有多大?位置,容量有多大?*9 95.实模式下,段寄存器装入如下数据,写出实模式下,段寄存器装入如下数据,写出每段的起始和结束地址。每
8、段的起始和结束地址。a)1000Ha)1000H 10000H 10000H1FFFFH1FFFFHb)1234Hb)1234H 12340H 12340H2233FH2233FHc)2300Hc)2300H 23000H 23000H32FFFH32FFFHd)E000Hd)E000H E0000H E0000HEFFFFHEFFFFHe)AB00He)AB00H AB000H AB000HBAFFFHBAFFFH*10106.在实模式下对下列在实模式下对下列CS:IP的组合,求出要执的组合,求出要执行的下一条指令的存储器地址。行的下一条指令的存储器地址。a)CS:IP=1000H:2000
9、H a)CS:IP=1000H:2000H 12000H12000Hb)CS:IP=2000H:1000H b)CS:IP=2000H:1000H 21000H21000Hc)CS:IP=1A00H:B000H c)CS:IP=1A00H:B000H 25000H25000Hd)CS:IP=3456H:AB09H d)CS:IP=3456H:AB09H 3F069H 3F069H*11117.实模式下,求下列寄存器组合所寻址的存实模式下,求下列寄存器组合所寻址的存储单元地址:储单元地址:a)DS=1000H,DI=2000Ha)DS=1000H,DI=2000H 12000H 12000Hb)
10、SS=2300H,BP=3200Hb)SS=2300H,BP=3200H 26200H 26200Hc)DS=A000H,BX=1000Hc)DS=A000H,BX=1000H A1000H A1000Hd)SS=2900H,SP=3A00Hd)SS=2900H,SP=3A00H 2CA00H 2CA00H*1212 8.若当前若当前SS3500H,SP0800H,说明堆,说明堆栈段在存储器中的物理地址,若此时入栈栈段在存储器中的物理地址,若此时入栈10个字节,个字节,SP内容是什么?若再出栈内容是什么?若再出栈6个字节,个字节,SP为什么值?为什么值?堆栈段的物理地址范围:堆栈段的物理地址范
11、围:35000H35000H44FFFH44FFFH当前栈顶的物理地址为:当前栈顶的物理地址为:35000H+0800H=35800H35000H+0800H=35800H入栈入栈1010个字节以后:个字节以后:SP=0800H-000AH=07F6HSP=0800H-000AH=07F6H出栈出栈6 6个字节以后:个字节以后:SP=07F6H+0006H=07FCHSP=07F6H+0006H=07FCH*1313 9.某程序数据段中存放了两个字,某程序数据段中存放了两个字,1EE5H和和2A8CH,已知,已知DS7850H,数据存放的偏移,数据存放的偏移地址为地址为3121H及及285AH
12、。试画图说明它们在存。试画图说明它们在存储器中的存放情况。若要读取这个两个字,需储器中的存放情况。若要读取这个两个字,需要对存储器进行几次操作?要对存储器进行几次操作?*1414它们的物理地址分别是:它们的物理地址分别是:78500H+3121H=7B621H78500H+3121H=7B621H,78500H+285AH=7AD5AH78500H+285AH=7AD5AH。1EE5H1EE5H的偏移地址是的偏移地址是3121H3121H,是奇地址,需要进,是奇地址,需要进行两次操作;行两次操作;2A8CH2A8CH的偏移地址是的偏移地址是285AH285AH,是偶,是偶地址,需要一次操作。地
13、址,需要一次操作。中断允许标志位中断允许标志位IFIF控制控制INTRINTR引脚的中断输入。引脚的中断输入。10.哪个标志位控制哪个标志位控制CPU的的INTR引脚?引脚?*1515总线周期总线周期总线周期总线周期:BIUBIU完成一次访问存储器或完成一次访问存储器或I/OI/O端口操作端口操作所需要的时间。所需要的时间。11.什么叫总线周期?什么叫总线周期?12.8086CPU重新启动后,从何处开始执行指重新启动后,从何处开始执行指令?令?从内存的从内存的FFFF0HFFFF0H开始执行指令。开始执行指令。*161613.已知段地址和偏移地址分别为已知段地址和偏移地址分别为2015H和和0028H,此存储单元的物理地址是什么?,此存储单元的物理地址是什么?存储单元的物理地址存储单元的物理地址:20150H+0028H=20178H20150H+0028H=20178H14.若若CSA000H,求当前代码在存储器中的,求当前代码在存储器中的物理地址范围是什么?若数据段位于物理地址范围是什么?若数据段位于52000H到到61FFFH的的64K范围内,问范围内,问DS=?物理地址范围:物理地址范围:A0000HAFFFFHA0000HAFFFFH,DS=5200HDS=5200H。
限制150内