- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
楼第2章微处理习器题解答
习题解答:
1、8086CPU从功能上看可分为哪两大部分?它们的主要作用是什么?
答:8086CPU功能结构可分为两大部分,即总线接口单元BIU(BUS INTERFASE UNIT)和执行单元EU(Execution Unit)构成。BIU负责与存储器和外设传递数据,具体地说,BIU从内存指定部分取出指令,送到指令队列排队;在执行指令时所需的操作数也是由BIU从内存的指定区域取出传送到EU去执行或者把EU的执行结果传送到指定的内存单元或外设中。EU负责指令的执行,它从指令队列中取出指令,译码并执行,完成指令所规定的操作后将指令执行的结果提供给BIU。
2、8086CPU中有哪些通用寄存器?各有什么用途?
答:8086/8088CPU的通用寄存器包括4个数据寄存器AX、BX、CX、DX,2个地址指针寄存器SP和BP,2个变址寄存器SI和DI。通用寄存器都能用来存放运算操作数和运算结果,这是它们的通用功能,除此之外在不同的场合它们还有各自的专门用途。
(1)数据寄存器
数据寄存器包括4个寄存器AX、BX、CX、DX,用于暂时保存运算数据和运算结果,由于每个16位数据寄存器可分为2个8位数据寄存器,这4个数据寄存器既可以保存16位数据,也可保存8位数据。
AX(accumulator)称为累加器,常用于存放算术逻辑运算的操作数,所有输入输出指令也都通过AX与外设进行信息传输。BX(base)称为基址寄存器,常用于存放访问内存时的基地址。CX(count)称为计数器,在循环和串操作指令中用来存放计数值。DX(data)称为数据寄存器,在双字长(32位)乘除运算中将DX与AX两个寄存器组合成一个双字长的数据,其中DX存放高16位数据,AX存放低16位数据,另外在间接寻址的输入输出指令中把要访问的输入输出端口地址存放在DX中。
(2)指针寄存器
指针寄存器包括堆栈指针寄存器SP(stack pointer)和基址指针寄存器BP(base pointer)。SP和BP都是16位的寄存器,用来存放运算过程中的操作数,但更重要的用途是存放堆栈地址。SP用于存放栈顶的偏移地址,即栈顶单元与栈首(第一个)单元相应的单元数(偏移量),SS用于存放堆栈段的基地址,即堆栈首单元的基址BP用于存放要访问的内存单元的基地址。
(3)变址寄存器
变址寄存器包括源变址寄存器SI(source index)和目的变址寄存器DI(destination index),变址寄存器常用于指令的间接寻址或变址寻址,SI、DI一般与段寄存器DS联用,以确定数据段中某一内存单元的实际地址。除此以外,在串操作指令中规定,用SI存放源操作数的偏移地址,用DI存放目标操作数的偏移地址。
3、简述8086CPU系统中20位物理地址是如何形成的?
答:存储单元的20位物理地址=16位的段基地址×10H+16位的段内偏移量。段基地址和段内偏移量又称为逻辑地址(logical address),逻辑地址常写成XXXXH:YYYYH。其中XXXXH是段基地址,YYYYH是段内偏移量,都是16位无符号数。
4、8086CPU系统中的存储器为什么要采用分段结构?
答:8086CPU与内存间的信息交换要通过20根地址线发出20位的物理地址,但8086CPU内部的寄存器都为16位,在程序中也只能使用16位地址,寻址范围局限在64KB,为解决这个问题,8086CPU采用分段方法管理1MB的内存空间,即将1MB的内存分为若干个逻辑段,每个逻辑段最大长度为64KB,各段可连续或不连续排列,段的区域可部分重叠,也可全部重叠。8086CPU把内存分为4种逻辑段,即代码段、数据段、堆栈段和附加段,每个段由连续的存储单元构成,当要访问逻辑段内的某一单元时,只要给出逻辑段的起始地址以及该单元与起始地址间的距离(又称段内偏移量EA或偏移地址,以字节数计)即可确定其物理地址。采用段基址和段内偏移量的方式组成物理地址的优点是:满足8086系统的1MB存储空间的访问,同时在大部分指令中只要提供16位的偏移地址即可,容易实现程序的浮动装配。
5、8086采用分段存储管理模式。已知当前执行的程序中某条指令的物理地址为5A1F6H,IP=10F6H,则当前CS的内容为多少?
答:由物理地址与逻辑地址的关系,可知CS的内容为5910H。
6、段寄存器的作用是什么?为什么要使用段寄存器?
答:段寄存器专门存放16位的段基地址信息,它用于与偏移地址一起产生访问存储单元的20位物理地址。
7、什么是逻辑地址?什么是物理地址?在8086系统中如何通过逻辑地址找到物理地址?
答:逻辑地址由段基地址和段内偏移量组成,是指令中引用的形式地址,物理地址是存储单元的20位地址,物理地址=段基地址×10H+段内偏移量。
文档评论(0)