基于PBL的汇编语言程序设计教学研究

2019-03-19 10:51赵正伟曹敦虔刘爱玲
关键词:汇编语言程序设计指令

赵正伟,曹敦虔,刘爱玲

(广西民族大学 理学院,广西 南宁 530006)

0 引言

汇编语言是一种最接近硬件的低级编程语言,它用助记符替代机器指令操作码,用标号或地址符号来代替机器指令中的操作数地址或指令.[1]对于初学者来说,汇编语言指令繁多、语法规则复杂、抽象难懂、编程效率低下、调试困难、不易维护、学习起来枯燥无味.[2-3]近年来在高等教育改革的推进以及按毕业生就业率调整专业设置的驱使下,很多高校都在压缩汇编语言课时,甚至有些高校直接取消汇编语言课程.

然而汇编语言是介于硬件与软件之间的一门编程语言,对于电子类专业、计算机偏硬件专业的学生系统掌握专业技能方面存在着诸多优点,[4-6]主要体现在以下几点:(1)汇编语言能直接操作控制处理器的各种寄存器、外设、I/O端口、电路等硬件;(2)汇编语言能让编程人员更好地去理解高级编程语言,比如C语言;(3)能够锻炼编程人员的编程思维逻辑,建立软硬件兼备的编程体系.另外,汇编语言的实时性强、代码效率高、节省内存、运行速度快.因此,汇编语言是一门非常重要的专业基础课,特别是对于电子类和计算机相关专业的学生来说,汇编语言与高等数学、大学物理、大学英语等公共课程一样重要,学习和掌握汇编语言编程是十分必需的.

1 现状分析

1.1 教学内容繁多,教学方法陈旧

汇编语言是一种直接面向机器结构的低级程序设计语言,因此,学习汇编语言之前,应该首先学习掌握相应机型的硬件组成结构,特别是该机型的CPU构成、存储器寻址方式、指令系统集合等,只有在些前提下,才能使用汇编语言进行结构化程序设计.目前,汇编语言课程基本上都是基于80X86系列机型的8086/8088CPU为背景进行汇编语言程序设计,该编程环境又需在DOS环境下编辑调试,因此,除了要讲解8086/8088CPU内部组成原理、存储器寻址方式,还需补充DOS操作系统、DOS命令等知识,前期理论知识占用了大量学时,真正用于汇编语言程序设计的学时很少.而教师在教学过程中,因教学学时少,教学手段太单一,教学方法落后,大多围绕课本进行知识讲授,没有结合实际应用扩展,实验内容的设计也较浅显.

1.2 学生学习积极性不高,重视程度不够

汇编语言的先修课程包括《计算机文化基础》、《C语言程序设计》,后续课程有《编译原理》、《操作系统》、《数据库原理》等,与该课程实际关联度不大,专业学习中实际应用少.因此,许多学生认为学习汇编用处不多,而该课程又需熟悉掌握硬件构造、理论知识较多,且抽象难懂,导致学生普遍学习兴趣低,学习积极性差,逃避学习、厌学情绪严重.

1.3 汇编语言程序编写烦琐,调试困难

学生早已习惯在高级语言的可视化集成环境下进行程序开发,而汇编实验还需采用MASM、LINK等DOS命令行编译连接工具,这对初学者来说存在一定的困难.汇编语言的指令又受限于具体机器的指令系统,编写汇编程序需在程序逻辑、内存分配、寻址访问等的学习投入较多精力,而且汇编语句书写烦琐,程序结构冗长.在调试程序时,除了需理解当前指令的含义,还需对指令中所用资源的状态及执行影响全面掌握,否则极易导致运行调试错误.

2 教改思路

基于问题学习(Problem Based Learning,以下简称PBL)是一种将教学活动置于有意义的问题情境中,强调以问题为中心进行各种探究学习,通过设定的问题让学生合作去解决真实问题,来学习问题背后所隐含的知识点,从而形成掌握解决问题的技能,形成自主学习能力.PBL教学法起初由美国精神病学教授巴罗斯在1969年提出,主要在医学教育领域应用,目前该教学模式已广泛应用于各个院校的各个学科,是教学效果比较突出的一种教学方法.而PBL教学法目前在汇编语言程序设计教学中尝试甚少.

基于问题学习的PBL教学法在汇编语言语言程序设计教学改革的思路:充分考虑学生的基础及认知程度,在教学过程中,以PBL教学模式为主导,体现以学生为中心,教师引导的思想,利用多媒体技术、典型的案例来展示抽象的结构模型、概念等,采用重难点精讲、关联对比、合作实训等方法,利用专业实验室,加强师生互动、生生合作,培养学生的交流能力、团队合作能力以及创新能力,实现教学模式从理论教学为主,向理论应用型教学转变.汇编语言程序设计的实践性较强,课堂教学时间短,教师应及时跟踪软硬件技术发展前沿,关注国内外相关课程最新的教学及实践成果,跟进企业需求,设计出一系列鲜明特色、层次分明的项目案例以供教学使用.

3 教学方法及手段改革

3.1 构建合适的问题集或项目集

教师应根据教学目标、知识体系及技能要求,综合考虑学生能力、实用性、趣味性、复杂度的基础上,向学生提出难度适合的问题或项目.所设计的问题或项目应对班级不同程度的学生具有吸引力,并且能较大程度的发挥学生的创造空间.以下是我们在教学实践中所构建的部分问题:(1)汇编语言与机器语言及高级语言之间的关系;(2)汇编语言程序可否在可视化环境下进行编译、调试;(3)如何用汇编语言编程实现DOS命令中的COPY功能;(4)如何编写各进制数之间转换的程序;(5)如何演示MOV指令在CPU内的完整指令流程;(6)如何使用DEBUG命令实现对CPU寄存器、内存及指令内容的查看改写操作.

对于规模较大,难度复杂的问题,可进一步设计出该问题的PBL各分单元方案的问题,从而对核心问题进行分层分解,以降低难度,融入各具体知识技术的训练中,易于调试成功.然后再逐步递增规模与难度,使其趣味性和实用性层级增强,最终解决此复杂问题.

3.2 以问题引导,项目驱动式教学为主

汇编语言程序设计是一门实践性与应用性较强的课程,教师应根据课程学习目标,设置难度适中的实验训练项目,并贯穿整个实验教学过程,可以让学生按规定人数组建项目课题小组,利用课余时间,通过团队合作,查阅资料、分析问题、解决问题、设计方案,最终提交程序代码和项目方案.教师只作为组织者与引导者,以问题引导为主,利用项目案例驱动,让学生成为解决项目的主体,通过组员之间积极主动地学习、讨论、交流与合作,使学生加深对各知识点的系统理解与掌握,培养学生的自学能力、创新能力、合作精神等.

3.3 搭建校企合作平台,构建合适项目案例

教师可根据教学需要,结全企业实际需求,完善教学、实验培养方式.学校最为关心的是学生毕业后的就业情况,因此,可以让企业与学校合作开发些项目案例,选取有针对性、短小精悍、趣味性强、难易适中的实用型小项目用于实际教学中.项目案例的选取坚持以下几个标准:(1)案例选取是否适合本校学生的实际接受水平,难易须合适;(2)项目案例是否有不同种类,比如验证性、创新性、综合性等;(3)项目案例是否丰富,应在时间上、不同应用领域都有所反应;(4)项目案例是否具有时效性,是否够新颖.

4 结语

在汇编语言程序设计教学过程中,坚持基于PBL的教学模式为导向,结合实际应用的真实项目案例进行教学,可有效激发学生的学习兴趣,促进学生的学习积极性、主动性和创新性,对培养学生的自主学习能力和团队合作精神均有较好的效果.但是,汇编语言教学改革不是一步到位的,需要不断地发现新问题,更新教学内容、案例,只有通过不断地教学探索与实践,更新教学理念,丰富完善教学方法手段,才能不断提高汇编语言程序设计的教学效果,全面提升教学水平与质量,真正培养出社会所需的人才.

猜你喜欢
汇编语言程序设计指令
基于Visual Studio Code的C语言程序设计实践教学探索
高等学校计算机专业课程教学改革实践——以汇编语言与接口技术课程为例
汇编语言与C语言的混合程序设计技术研究
从细节入手,谈PLC程序设计技巧
提高《汇编语言程序设计》教学效率的思考与实践
高职高专院校C语言程序设计教学改革探索
杀毒软件中指令虚拟机的脆弱性分析
PLC梯形图程序设计技巧及应用
中断与跳转操作对指令串的影响
一种基于滑窗的余度指令判别算法