“汇编语言程序设计”的比较教学法.docVIP

“汇编语言程序设计”的比较教学法.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
“汇编语言程序设计”的比较教学法   摘要:基于比较教学法的优势,文章从数据安排、数据处理、流程控制、子程序结构等程序设计的基本方面对汇编语言和高级语言中的相关机制作了对比分析,提出了“汇编语言程序设计”比较教学的基本思路。   关键词:汇编语言程序设计;高级语言程序设计;比较教学法      “汇编语言程序设计”是计算机相关专业的一门重要课程,目前国内大部分院校的相关专业都有开设。从时间上看,“汇编语言程序设计”一般开设在大学二年级,从课程的衔接上看,则一般开设在“高级语言程序设计”和“计算机组成原理”之后。   汇编语言也好,高级语言也好,它们都只不过是程序设计的工具,因此对于程序的基本功能和程序设计的基本问题,它们都有相应的实现机制,而且在很多方面都是相通的,尤其是在程序设计的基本思想方法上。但汇编语言和高级语言毕竟是两种不同的语言类别。从源程序的基本单位――语句的层面看,高级语言语句的功能远比汇编语言语句即各种指令和伪指令的功能要强大。此外即便是同样的问题,如数据安排、数据处理、流程控制、子程序结构等,它们的实现机制也不一样。   效率最高的教学方法首推比较教学法(或叫类比教学法),也就是将新的陌生的东西和旧的熟悉的东西做比较,找出它们之间相同的地方和不同的地方,然后进行差异化的学习,重在存同求异,这样就会事半功倍。   因此,笔者在多年从事“汇编语言程序设计”的教学中,特别注重以学生在学习高级语言程序设计课程时所获得的知识和体验为基础,将汇编语言和高级语言进行比较教学。   本文就是这一教学方法的经验总结。   1数据的组织安排   程序是用来加工处理数据的,因此程序设计工作离不开数据的组织安排。数据的组织安排就是指为程序加工处理的数据安排合适的空间并且组织好,以提高对数据加工处理的效率。从应用层面看,数据的组织安排通常包括3个方面:   (1)安排在哪?即空间位置问题。   (2)安排多大空间?即数据长度问题。   (3)存放什么样的数据?即数据类型问题。   在数据空间的组织安排方面,汇编语言和高级语言的一个重要差别是:高级语言提供的是直接面向应用的数据类型,如C语言中的基本类型――整型(int)、浮点型(float)、字符型(char),而整型又有长(long)、短(short)之分,浮点型又有单精度(single)和双精度(double)之分,此外还有有符号(signed)和无符号(unsigned)之分等。高级语言的数据类型是面向应用的,因此它们有两方面的含义:类型特点和长度大小,这就解决了上述3个问题中的后两个问题[1]。   在C语言中,数据除了有类型这个概念之外,还有类别之分,即存储类别问题,共有4种:static、auto、register和extern。从严格意义上讲,其中和数据空间的组织安排有关的只是前3种:static和auto对应的是内存空间,而register对应的则是寄存器空间,这又解决了上述3个问题中的第一个问题[1]。   与高级语言不同的是,汇编语言的数据类型是面向机器的,如MASM中的基本类型――DB、DW、DD、DQ、DT等,它们只有长度大小的含义,而且都是对应内存空间的,因此用它们定义的变量都属于内存变量。   在汇编语言中,由于可以直接引用各个寄存器,而且各个寄存器的空间大小都是确定的,因此这些寄存器实际上就相当于C语言中的寄存器变量。   总之,在汇编语言中,数据一般只有空间大小和位置之分,而不管这个空间中存放什么样的数据,即无类型之分。   因此,在用汇编语言设计程序时,对程序中的数据有一个面向应用的自我理解问题!这是在教学时应特别予以关注的!   2数据的加工处理   在数据的输入输出方面,汇编语言和高级语言也有重要差别。   以面向标准输入输出设备的数据输入输出为例,高级语言提供的也是直接面向应用的相关语句、函数和过程,如C语言中的fprintf、printf、sprintf、vprintf、vfprintf、vsprintf、fscanf、scanf、sscanf、fgetc、fputc、getc、putc、getchar、putchar、fgets、fputs、pus、gets等,这些函数基本上满足了面向应用的各种类型数据的输入输出[1]。   汇编语言提供的则基本上是面向字符的中断调用,即通过调用相关的中断服务程序来实现数据的输入输出,如MASM中的常用的DOS提供的21H类中断服务程序的1、2、8、9、10号功能等。   总之,高级语言提供的一般是直接面向应用的输入输出机制,而汇编语言提供的则一般是面向系统的输入输出机制。因此在汇编语言程序设计的教学中,如何利用面向系统的输入输出机制通过编程实现面向应用的输入输

您可能关注的文档

文档评论(0)

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

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

版权声明书
用户编号:5243141323000000

1亿VIP精品文档

相关文档