从16位到32位汇编语言编程教学体会.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
从16位到32位汇编语言编程教学体会

从16位到32位汇编语言编程教学体会   摘要:结合《微机原理及应用》课程的教学实践,阐述了以16位指令系统作为基础的理由,简述了快速处理32位指令系统的方法,介绍了在宏汇编MASM 6. X IDE环境下调试16位和32位汇编程序的安排,最后,讲述了编写Win32汇编程序的要点、Win32汇编程序集成开发环境下的使用方法。 关键词:汇编语言;指令系统;宏汇编;Win32 中图分类号:G642 文献标识码:A 文章编号:1009-3044(2014)07-1473-03 在《微机原理及应用》课程中,微处理器中的指令系统以及汇编语言编程是很重要的内容,它是微机系统的主要组成部分之一。随着计算机技术的不断发展,微型计算机由16位微处理器早已过度到了32位微处理器,当前,《微机原理及应用》课程的内容应该以32位微机为主,而32位微处理器是基于16位微处理器的基础之上产生与发展的,它兼容了16位微处理器8086的指令集,因此,在阐述32位微处理器指令系统时,必然涉及到16位的指令,相应的汇编语言编程也在发展,教学过程中如何优化处理16位与32位指令系统及相应的汇编语言编程,使学生能够快速地学习与接受32位机的工作原理,提高教学效果,它是《微机原理及应用》课程教学中的一个难点,是一个值得探讨的问题。 1 《微机原理及应用》课程中的指令集 32位微处理器指令系统包括基本指令集、浮点指令集、保护方式指令集以及扩展指令集等。根据浮点运算部件和浮点运算格式,用浮点指令编写浮点运算程序;保护方式指令集通常由系统程序员使用,编写操作系统程序,保护方式一般是由操作系统通过执行初始化程序来设置的;CPU扩展指令集指的是CPU增加的多媒体或者是3D处理指令,这些扩展指令可以提高CPU处理多媒体和3D图形的能力。一般在计算机课程教学中涉及的指令系统主要是基本指令集,因此,该文所讨论的指令系统是指微处理器的基本指令以及应用基本指令进行的汇编语言编程。 2 教学中以16位指令系统作为基础 微处理器的发展过程经历了从经典的16位微处理器8086到80286、80386、80486、Pentium、多核等系列微处理器的演变和应用。在教学中,首先还是要以8086 CPU为基础组织教学,介绍16位CPU的结构及16位的指令系统,理由如下: 第一,8086 CPU的内部结构简单,有利于学生学习与建立微处理器的概念。 8086微处理器的内部主要包括执行单元EU和总线接口单元BIU,它具有中央处理器(CPU)的经典结构,使学生容易建立微处理器的概念。总线接口部件BIU是8086 CPU与外部存储器和I/O端口的接口,它提供了16位双向数据总线和20位地址总线,负责CPU与存储器及I/O端口之间的数据传送操作。执行部件EU从BIU中的指令队列获取指令,对指令进行译码分析并执行,执行指令所需要的操作数和运算结果都是通过总线接口部件与指定的内存单元或外设端口进行传送的。 在一般教材中,高档微处理器的结构则侧重于其他复杂功能块的分析,不易为初学者接受。 第二,8086 CPU内部各组寄存器结构清晰,通过DEBUG调试程序或MASM汇编程序,很容易验证,而且,学生理解8086 CPU内部寄存器组后,很容易理解32位微处理器内部扩充后的寄存器组。 8086 CPU内部分为:8个16位通用寄存器,每个寄存器还有它们各自的专用场合;4个段寄存器都有各自所代表的内存段;16位的指令指针IP用来存放将要执行的下一条指令在当前代码段中的偏移地址,它与代码段寄存器CS联用,以确定下一条指令的物理地址; 16位的标志寄存器(FLAGS)只定义了9位,分为两类,一类用于反映部分指令(例算术运算及逻辑运算指令)执行结果的状态,常用作后续条件转移指令的转移控制条件,另一类为控制标志,用来控制CPU的操作。 如果学生从理论与实践上,理解与认同了8086 CPU内部的寄存器后,一方面对微处理器的工作原理有了较系统的认识,另一方面,对于下一步学习32位微处理器,奠定了坚实的基础。 3 教学中快速处理32位指令系统 由于学生从理论与实践(上机)两方面,已经掌握了16位机的指令系统,如何快速处理32位指令系统,首先,要简单介绍32位CPU内部寄存器的编程结构,比如,通用寄存器扩充到了32位,增加了两个段寄存器(FS、GS)等。然后,着重介绍32位机的寻址方式,32位机与16位机寻址方式绝大部分是相同的,主要是32位机寻址内存方式多,而且灵活,因此,要重点介绍32位机寻址内存的几种方式。 4 在宏汇编MASM 6.X IDE环境下调试程序 MASM 6.X是一个IDE环境(集成开发环境),它将汇编语言源程序的编辑、汇

文档评论(0)

linsspace + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档