汇编语言程序设计课程改革的几个问题

发布时间:2019-08-06 来源: 短文摘抄 点击:

http://img1.qikan.com.cn/qkimages/jijy/jijy201504/jijy20150404-1-l.jpg
  摘要:从汇编语言程序设计在计算机相关专业课程体系中的地位与作用出发,说明在新形势下继续开设这门课程的一些基本问题,包括地位与作用、定位与内容、重点与难点以及方法与评价等,阐述在教学中应当采取怎样的对策以解决这类问题。
  关键词:汇编语言;程序设计;课程改革
  引 言
  汇编语言程序设计作为一门独立的课程在诞生之初,一直是各高校计算机专业的一门专业必修课。近年来,国内一些高校(尤其是重点高校)的计算机相关专业在进行培养方案修订时,大都对这门课程做了较大调整。有些学校将其由必修课改成选修课,有些学校将其课时做了较大压缩,有些学校甚至干脆取消这门课。
  1 地位与作用问题
  汇编语言程序设计在所有专业课(含专业基础课)中具有独特的地位与作用。一直以来,计算机及其应用系统的构成基本上分为硬件和软件两大块,计算机相关专业所涵盖的学科理论知识与工程技术也相应地分为硬件和软件两大块。受此影响,在人才培养实践中,计算机相关专业所开没的基础课程也主要围绕这两大块展开。硬件主要有电子技术基础、数字逻辑、计算机组成原理、系统结构等,而软件主要有数据结构、高级语言程序设计、操作系统、数据库等。
  从硬件和软件的关系看,计算机及其应用系统的工作以硬件为基础,却以软件为动力,硬件和软件密不可分,硬件要靠软件驱动。一般而言,以计算机系统为核心的应用开发必须是硬件开发和软件开发同时伴随,因此有些课程注定要同时围绕硬件和软件两方面展开,如汇编语言程序设计、接口技术、单片机、嵌入式系统等。
  在所有这些软件和硬件紧密结合的课程中,汇编语言程序设计又是基础课。通过学习汇编语言程序设计,学生不仅可以更加透彻地理解在其他课程中学习过的有关知识,更加深入地了解计算机系统的内部工作机制,而且能为后续接口技术、单片机、嵌入式系统等课程的学习打下坚实基础。
  总之,汇编语言程序设计把硬件和软件有机地紧密结合在一起,能让学生对传统意义上的两大块有一个更全面同时也更深入的认识和理解。鉴于以上认识,笔者认为各高校计算机相关专业在进行培养方案修订时不宜完全取消汇编语言程序设计这门课程。
  2 定位与内容问题
  程序设计语言经历了机器语言、汇编语言、高级语言等发展阶段。从编程效率看,汇编语言不及高级语言,但从语言的整体功能看,汇编语言比高级语言要强,通俗点说就是指高级语言能做到的事,汇编语言都能做到,但反过来则未必。
  高级语言程序设计的主要内容包括两部分:高级语言和程序设计。汇编语言程序设计也不例外,其主要内容也由两部分构成:汇编语言和程序设计。事实上,不管学习什么语言程序设计,主要内容就是两个:程序设计的基本思想方法和语言本身。
  由于语言只是程序的载体,是程序设计的工具,因此第1个内容即程序设计的思想方法是相通的。鉴于此,汇编语言程序设计的教学应该以汇编语言本身为重点,即汇编语言为程序设计提供的各个元素及其应用,内容应该包括数据表示、数据安排、寻址方式、指令系统、程序结构、流程控制、参数传递、中断调用、数据处理等;而其定位应该是让学生掌握最基本的知识和能力,一方面让学生通过学习汇编语言深入理解计算机系统内部的工作机制,另一方面能让学生在必要时借助汇编语言弥补高级语言的功能性不足。
  3 重点与难点问题
  3.1 数据表示问题
  计算机的基本功能就是加工处理数据,数据需要存放到计算机系统中。实际应用中的数据丰富多彩,具有各种不同的类型;而计算机中的数据则单调得多。应用中各种不同类型的数据如何在计算机中以恰当的形式表示出来,就是程序设计面临的首要问题。
  数据在计算机中的表示有多种方法,不同方法有各自的优缺点,适用于不同的应用要求。基本上来说,计算机系统对数据的加工处理主要是数据运算和数据输入输出。为了节约存储空间,我们一般比较喜欢2进制代码长度比较小即2进制代码比较短的表示方法。在2进制代码长度方面,数值数据的代码表示一般不如其2进制表示。
  计算机对数值数据最重要的加工处理就是算术运算,为了方便运算,我们比较喜欢2进制表示,即在运算方面数值数据的2进制表示要优于其代码表示。采用2进制表示的主要问题是溢出,但这同时也是代码表示的主要问题之一。此外,代码表示即使没有溢出,也可能得到错误的结果。计算机对数据进行加T处理时,加工处理之前要输入原始数据,加工处理之后要输出结果数据,我们当然希望采用比较有利于输入/输出的表示法。在这方面,数据的代码表示要比其2进制表示好。
  代码形式的数据在输入/输出时只需要采用简单的移位操作即可实现,因为每一位上的数都有同样长度的代码,而且数据在输入/输出时本身就是通过代码进行标识。例如,在西文环境中普遍采用ASCII码标识每一个常用字符,因此ASCII码形式的数值数据在输入/输出时特别有优势:输出时只需要8位8位的进行分割,就可以得到每一位上的数,而且不需要做任何转换就可以送往输出设备输出;输入时不需要做任何转换,只需要8位8位的进行拼接,就可以得到整个数。如果是2进制形式,则要麻烦得多:输出时需要通过除法等分离出每一位上的数,然后转换成ASCII码后才能送往输出设备输出;输入时需要将ASCII码转换成对应的一位数,然后通过乘法和加法等拼成一个整体。
  总之,学生要学会在深刻理解并熟练掌握各种数据表示方法的基础上,善于根据需要灵活选择合适的数据表示方法。这一部分的教学内容主要是介绍基本的数据表示方法及各自的优缺点,尤其注重学生对各种表示方法的理解。
  3.2 寻址方式问题
  计算机的工作由程序驱动,而概括地说,程序又是加工处理数据的。不管是程序加丁.处理的数据,还是程序本身,在程序执行时都要存放到仔储器巾。
  程序在执行过程中,需要不断地从存储器中取指令和数据,往存储器中存数据,这就面临一个非常重要的问题——寻址。从应用层面看,程序有结构问题:顺序结构、分支结构和循环结构等;而数据也有结构问题:一维结构、二维结构、三维结构等。不同的程序结构和数据结构对寻址方式的要求不一样,为了满足这种差异性,系统必须提供多种不同的寻址方式。

相关热词搜索:几个问题 课程改革 汇编 语言程序设计

版权所有 蒲公英文摘 www.zhaoqt.net