- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
宏汇编程序设计(微处理器80868088)
2.1 8086/8088微处理器?? 2.1.1 8086/8088微处理器结构?? 2.1.2 8086/8088 内存储器组织?? 2.1.3 段概念的引进?? 2.1.4 内存储器的地址?? 2.1.5 堆栈? 习? 题?? 在当今微处理器技术飞速发展的时代,已远远不是当年使用8086机器时所能想象得到的。如今的微处理器无论是从总线与接口、CPU时钟频率都有了质的飞跃。但是从汇编语言这一角度来看,任何程序的运行,最终都将转换为二进制的机器码,并且其运行机制都是向下兼容。而建立在8086/8088微处理器上的汇编语言是最接近这种机器语言,并且总是学习其它高级汇编语言的基础。而要学好汇编,重要的是要掌握8086/8088微处理器的内部结构。?? Intel 公司先后推出的微处理器,造就了一个多彩的微机世界。其中,8086/8088组成了典型的IBM PC16位微机;80386、80486将微机字长扩充了一倍,达到了32位;而Pentium更是创造了当今微机神话----实现了64位微机外部数据总线。?? 不同的微处理器具有不同的汇编指令系统,微处理器级别越高,汇编指令功能越强。但是,对于16位以上各型微机的汇编语言来说,它们具有共同的基本原理和方法,如指令结构、寻址方式、源程序架构等。高版本微处理器汇编指令系统是低版本的增强与延伸,在机器码级别上完全兼容。
2.1 8086/8088微处理器?? 8086/8088是Intel系列中的16位/准16位处理器。8086的内、外部数据总线均为16位,地址总线20位。8088内部数据总线是16位,外部数据总线是8位,地址线同8086。2.1.1 8086/8088微处理器结构?? 8086/8088微处理器在功能级上可以分成两在部分:总线接口部件BIU(Bus Interface Unit)与执行部件EU(execute Unit)。BIU的任务是负责处理与I/O设备之间的信息传递。如从内存中读取指令代码和数据,将运算结果送入内存等。EU的功能是完成指令的执行。?? 从编程逻辑考虑,8086/8088的结构如图2.1所示。它由控制逻辑、内部寄存器阵列、地址加法器Σ和算术逻辑运算单元ALU组成。1) 控制逻辑?? 控制逻辑负责主机各部件同步与控制整机工作,其中包括取指令,译码,取操作数,发出执行指令信号,把结果送入内存单元,实现对总线及I/O传送的控制。2) 内部寄存器阵列?? 808/8088内部寄存器阵列共有4组:通用寄存器(简称数据寄存器)、指针及变址寄存器、段寄存器和控制寄存器。
?? (1) 数据寄存器????? 数据寄存器包括4个16位的寄存器(AX、BX、CX、DX)或8个8位寄存器(AH、AL、BH、BL、CH、CL、DH、DL)。这些寄存器都可以用来暂时存放操作数、运算结果及其它信息,但同时又具有某些专用的用途。?? a) AX寄存器---累加器,是算术运算中的主要寄存器,在乘除运算中用来指定被乘数和被除数,好是乘除运算后积和商的默认存储单元。另外I/O指令均使用该寄上辈子器与I/O设备传送信息。?? b) BX寄存器---基址寄存器,指令寻址时常用作基址寄存器,存入偏移量或偏移量构成成份。?? c) CX寄存器---计数寄存器,在循环指令操作或串处理指令中隐含计数。?? d) DX寄存器---数据寄存器,在双字长运算时,与AX组合构成32位操作数,DX为高16位。在某些I/O指令中,DX被用来存放端口地址。?? (2) 指针及变址寄存器?? 这一组寄存器共有4个:SP,BP,SI,DI。它们都是16位寄存器,可以用来存放16位的操作数或中间结果。但更经常是用来存放偏移量或者位移量。?? a) SP寄存器---堆栈指针寄存器,它始终指示堆栈的栈顶位置,与SS寄存器一起组成栈顶数据的物理地址。?? b) BP寄存器---基址指针寄存器,系统默认其指向堆栈中某一单元,即提供栈中该单元的偏移量。加段前缀后,BP可作为非堆栈段的地址指针。?? c) SI寄存器---源变址寄存器,与DS联用,指示数据段中某操作数的偏移量。在作串处理操作时,SI指示源操作数的地址,并有自动增量(正反)或自动减量(反向)功能。变址寻址时,SI与某一位移量共同构成操作数的偏移量。?? d) DI寄存器---目的变址寄存器,与DS联用,指示数据段中某操作数的偏移量,或与某一位移量共同构成操作数的偏移量。串处理操作时,DI指示附加段中目的地址,并有自动增量(正向)或减量(反向)功能。?? (3) 段寄存器?? 8086/8088微处理器将1MB的内存空间分成若干逻辑段(详见2.1.2),程序设计时,用户最多可同时使用其中的四个
文档评论(0)