北京航空航天大学自动化学院微机原理考研真题及解析.doc

北京航空航天大学自动化学院微机原理考研真题及解析.doc

  1. 1、本文档共71页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
8086CPU结构与数制变换 一、8086CPU结构 ▼1、8086内部结构(图见微元书P29图2.1) 8086CPU由两部分即指令执行部件(EU)和总线接口部件(BIU)组成。 指令执行部件主要由算术逻辑运算单元(ALU)、标志寄存器FR、通用寄存器和EU控制器4个部件组成,主要功能是执行指令; 总线接口部件(BIU)主要由地址加法器、专用寄存器组、指令队列和总线控制电路等4个部件组成,其主要功能, 形成访问存储器的物理地址、访问存储器并取指令暂存到指令队列中等待执行,访问存储器或I/O端口读取操作数参加EU运算或存放运算结果等。 ▼2、8086CPU的寄存器结构 a、通用寄存器 8086CPU指令执行部件EU中有8个16位通用寄存器,可分成两组,一组由AX,BX,CX,DX构成,称作通用数据寄存器,可用来存放16位的数据或地址,也可把它们当作8位寄存器来使用,即把每个通用寄存器的高半部分和低半部分分开:低半部分被命名为AL,BL,CL,DL,高半部分被命名为AH,BH,CH,DH。 另一组4个16位寄存器,主要用来存放存储器或I/O端口的地址,它们是基址指针寄存器BP、堆栈指针寄存器SP、源变址寄存器SI和目标变址寄存器DI。 b、段寄存器 8086CPU总线接口部件(BIU)设有4个16位段寄存器,它们分别是代码段寄存器CS、数据段寄存器DS、附加段寄存器ES和堆寄存器SS、 8086具有1M字节的存储空间,但指令指示器和变址器中的地址只有16位长。在8086系统中,1M字节的存储空间被分成许多逻辑段,每段最长64K字节。 c、标志寄存器FR 8086CPU设置了一个16位标志寄存器,其中9位为标志位,具体内容见书P32 d、指令指针寄存器IP ▼3、8086CPU的管脚及功能 8086共有40条管脚,可工作在最小与最大模式上,因此有8条管脚(24-31)在上述两种不同工作模式中具有不同的功能。 各管脚功能见书P35―P37 二、8086数制变换 ▼1、十进制389对应的二进制数是,压缩型BCD码是,非压缩型BCD码是,每位数字用字符表示时ASCII码是。 解:对应的二进制数是110000101,压缩型BCD码是0011 1000 1001,非压缩型BCD码是0000 0011 0000 1000 0000 1001,3的ASCII码是51,8的ASCII码是56,9的ASCII码是59。 ▼2、已知[X]补=1100111B,则[X]原=,[-X]补=,[2X]补=。 解:[X]原=1100111B,[-X]补,[2X]补。 ▼3、十进制574对应的二进制数是,压缩型BCD码是,按字符存储时ASCII码是。 解:对应的二进制数是1000111110,压缩型BCD码是0101 0111 0100,ASCII码是 53,55,52 ▼4、已知[X]补,则[X]原=,[-X]补=。 解:[X]原,[-X]补。 8086寻址 I. 知识概括 1.有效地址——寻址所需的偏移地址,用EA(Effective Address)表示。它是一个16位的无符号数。 2.操作数——参与本指令操作的数。 3.寻址——找到操作数的有效地址。 4.寻址方式——共有7种。 ①.立即数寻址方式:操作数作为指令代码一部分。例: MOV AL ,32H。(操作数放在指令中,紧跟在操作码后,作为指令的一部分放在代码段中,这种操作数为立即数)这种寻址方式只能用于源操作数,不能用于目的操作数。 ②.寄存器寻址方式:操作数放在寄存器中。对于16位数寄存器可以是AX、BX、CX、DX、SI、DI、SP、BP;对于8位操作数,寄存器可以是AL、AH、BL、BH、CL、CH、DL、DH。这种寻址方式可以用于源操作数和目的操作数。例:MOV AL,AH。 以上二种寻址方式的执行速度最快,它们可以由EU直接从指令队列中获得操作数或从寄存器去操作数,不需要执行总线周期。以下几种是从存储器寻址。 ③.直接寻址:操作数的EA由指令直接给出。它的物理地址是由数据段DS的值乘以16再加EA得到,因为默认段寄存器是数据段。但8086允许段超越,因此,16位地址可以与CS、SS或ES的值相加。例:MOV AX,[101H];MOV AX,ES:[101H]。 ④.寄存器间接寻址:操作数的EA有寄存器间接给出。对有效地址的有效的寄存器是BX、BP、SI、DI。其它不行。例:MOV AL,[BX];(指令中的寄存器是BX、SI、DI,则操作数在数据段)MOV AX,[BP](隐含段寄存器是SS);MOV AX,ES:

文档评论(0)

xingyuxiaxiang + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档