基于Visual Studio Code的实验教学模式研究
2021-10-19刘丽娟寇科
刘丽娟 寇科
摘 要:为探索出适用于一流本科课程教学的实践方式,文章针对“微机原理”实验课程,提出基于Visual Studio Code的实验教学模式。新模式弥补了传统实验教学的不足,能有效增强学生编写代码的兴趣,满足个性化需求,提高编程效率,提升教学质量。文章从实验项目安排、编程软件安装和实验操作等方面多角度介绍新模式对实验教学的支撑作用,为软件编程方面的实验教学工作提供新思路,进一步推进先进信息技术与实验教学的深度融合。
关键词:“微机原理”实验教学;Visual Studio Code;汇编语言程序设计
中图分类号:TP368.1;G434 文献标志码:A 文章编号:2096-4706(2021)06-0096-05
Study on Experimental Teaching Mode Based on Visual Studio Code
—Take “Principle of Microcomputer” Experimental Teaching as an Example
LIU Lijuan,KOU Ke
(School of Mechanical and Precision Instrument Engineering,Xian University of Technology,Xian 710048,China)
Abstract:In order to explore a practical mode suitable for the first-class undergraduate courses teaching,an experimental teaching mode based on Visual Studio Code is proposed for “Principle of Microcomputer” experiment course. The new mode makes up for the shortcomings of traditional experimental teaching. It can effectively enhance studentsinterest in code writing,meet studentss personalized needs,increase programming efficiency and improve teaching quality. The paper illustrates the supporting effect of the new model on experimental teaching from several aspects of experimental project arrangement,programming software installation and experimental operation in many angles. Furthermore,it provides new ideas for the experimental teaching in software programming,and will promote the deep integration of advanced information technology and experimental teaching further more.
Keywords:“Principle of Microcomputer” experimental teaching;Visual Studio Code;assembly language programming
0 引 言
2019年教育部在《关于一流本科课程建设的实施意见》中指出一流本科课程建设的基本原则之一是“突出创新性。教学内容体现前沿性与时代性,及时将学术研究、科技发展前沿成果引入课程。教学方法体现先进性与互动性,大力推进现代信息技术与教学深度融合,积极引导学生进行探究式与个性化学习”[1]。在一流本科课程建设的推动下,“微机原理”实验课程作为仪器类专业必修专业基础课的实践环节,有必要改善以前的教学方法,融入时代科技发展前沿成果,创新实验教学模式。
“微机原理”是介绍微型计算机的工作原理、系统组成及汇编语言程序的基本设计方法的课程。该课程旨在使学生获得微型计算机硬件组成及工作原理方面的基础知识和汇编语言程序设计的基本方法技能,为学习后续课程和以后跟踪计算机技术的新发展,进一步学习和应用相关方面的新知识、新技术打下必要基础。“微机原理”实验课是该课程重要的教学环节,其目的是配合理论教学,帮助学生进一步理解与掌握所学知识,提高学生对微型计算机的操作能力和汇编语言编程及程序调试的能力[2]。
1 现有“微机原理”实验教学分析
1.1 实验项目安排
“微机原理”实验课程教学目标是让学生掌握8086计算机的寻址方式及整个指令系统,掌握汇编语言程序设计的基本方法,培养学生理论联系实际以及实践动手能力。从“微机原理”实验课程相关文献中统计得出,几乎所有论文实验操作环节中汇编语言程序编写都借助DOSBox工具,使用MASM软件,程序調试使用基于DOS系统的Debug调试工具,本校测控技术与仪器专业在该门实验课程中使用的软件也如此,接下来详细介绍。
根据最新的实验大纲,实验项目设置为3个内容共8个学时,具体实验安排如表1所示。实验一为动态调试程序Debug的使用,实验二为Debug熟悉指令调试程序段,实验三为汇编语言程序设计,其中实验一、实验二为验证性实验,实验三为综合设计性实验。实验一、实验二使用Debug调试工具,实验一为实验二的基础,逐条执行每条汇编指令,可以看到每条指令的执行结果和存储器单元的变化,以及对各个标志寄存器的影响,学生因此清楚了解指令下的执行步骤和作用。实验一、实验二的目的是让学生学会使用Debug调试工具执行程序段,熟练掌握Debug提供的19条调试命令,依靠这些命令的运行来查看存储单元的变化[3]。实验三为汇编语言程序设计,实验操作步骤如图1所示,使用模拟DOSBox工具进行汇编语言程序编写实验,通过MASM软件在DOS窗口中运行和调试汇编语言程序。首先利用EDIT.COM建立以.ASM为扩展名的源程序文件,然后利用MASM.EXE调用汇编程序,生成以.OBJ为扩展名的目标程序文件,接下来利用LINK.EXE调用连接程序,产生扩展名为.EXE的执行文件,运行程序,软件会跳转至DOS环境,最后使用Debug指令调试程序。
1.2 实验所用软件介绍
1.2.1 软件安装及环境设置
目前大部分计算机CPU为64位,因为MASM软件的不完善,进行编程实验时会遇到问题,这时候需要使用DOS模拟器工具来模拟生成DOS窗口,在这个模拟窗口中运行和调试汇编程序[4]。DOS系统模拟器DOSBox工具的安装和配置步骤为:
(1)安装模拟DOSBox工具,可以按照默认路径安装,安装成功后会在桌面上自动生成DOSBox快捷图标。
(2)设置DOSBox的虚拟运行磁盘。打开DOSBox工具,在活动窗口中输入Z:\>mount F D:\命令,将F盘设置为DOSBox工具的虚拟运行磁盘,然后输入Z:\>F:命令,进入F盘。
(3)在D盘中预先存放MASM软件,确保asm编辑文件、link连接文件和Debug调试文件已放置在MASM软件文件中。
设置好后就可以按照正常的操作步骤进行程序的编写,运行和调试工作。
1.2.2 实验操作
由图1可以看出,汇编语言程序的建立及处理过程分以下几步完成:首先用汇编程序产生汇编语言的源程序(属性为ASM源文件),再把源文件转换成二进制代码表示的目标文件(OBJ文件),.OBJ文件虽然已经是二进制文件,但它不能直接上机运行,必须经过连接程序(UNK)把目标文件与库文件或其他目标文件连接在一起形成可执行文件(EXE文件)。
由此得出,实验操作过程复杂,学生不便于操作。从近几年学生实验的情况总结出实验操作中出现的问题有:
(1)Debug命令较多,学生需要长时间记忆练习才能掌握,忽略了实验的最终目的。
(2)兼容性存在问题,程序运行过程中经常出现卡死的情况。
(3)修改程序不方便,无法定点修改。
(4)程序编写没有具体的错误提示。
(5)可配置性差,字体、外观吸引力弱。
(6)修改寄存器和内存单元值的步骤烦琐。
2 VS Code实验教学介绍
针对上述问题,为了构建一种适用于一流本科课程的教学模式,在“微机原理”实验课程中融入先进的软件技术,改善实验方法,创新教学方式,寻求到一种安装简单、易于操作、学生兴趣浓厚的编程环境,提出了基于Visual Studio Code(简称:VS Code)的“微机原理”实验教学方式。
2.1 VS Code软件优势
VS Code具有丰富的插件安装功能和可扩展的生态系统,该软件的主要优势有三点:
(1)具有多个语言相关类插件,支持多种语言编写,已经支持了38种语言或文件:F#、Python、Java、PHP、HTML、Visual Basic、C++、C#、MASM/TASM等[5,6]。
(2)开源免费,安装、设置简单,界面美观,自带丰富多样的主题,主界面的显示风格可以根据个人喜好进行个性化设置。
(3)支持各种文件格式,使用代码提示类插件的智能提示功能、强大的调试功能、各种方便的快捷键使实验操作简单易行,能有效训练计算思维,增强编写代码的乐趣。
2.2 实验设计与实例操作
2.2.1 实验设计
由于实验编程环境的改变,实验操作中不需要掌握Debug动态调试程序相关的多个指令,所以删除原来第一个实验,实验总数变为两个,实验项目设置如表2所示,具体实验内容如图2所示,图中实验一为汇编语言程序段调试,该实验要求学生掌握8086/8088的8种寻址方式,了解状态标志与控制标志的特点,熟练掌握8086/8088指令系统的基本操作,熟悉汇编语言上机环境、基本操作以及汇编语言源程序结构。实验二为汇编语言程序设计,该实验要求学生掌握8086/8088汇编语言程序设计和调试方法,学习及掌握汇编语言源程序的基本框架和要求,明确程序中各段的功能和相互之间的关系。该实验设计了9部分实验内容,分别为:1、清零程序。2、拆字程序。3、拼字程序。4、数据区移动。5、数据排序。6、找零个数。7、二进制转换成BCD码。8、二进制转换成ASCII码。9、32位二进制乘法。其中内容1作为上课讲解时教师给学生演示用的程序,内容2、3、4、5、6为学生实验中必做部分,内容7、8、9为扩展部分,主要面向学有余力的学生,供课后讨论完成。
2.2.2 实例操作
以实验中一个内容为例介绍汇编程序调试步骤,操作步骤如图3所示。
具体的操作步骤为:
(1)打開VS Code软件。
(2)在菜单栏中点击新建.asm文件(新建之前需确保已经安装了MASM/TASM插件)。
(3)点击菜单栏中保存图标,输入文件名格式“名称.asm”(例如:程序1.asm),选定合适的位置,点击保存。
(4)程序编写与调试过程:
1)按照正确的汇编程序编写格式(如果没有堆栈段和数据段可以不写,但是必须有代码段),程序如图4所示。
2)在程序框中右击鼠标,点击“运行当前程序”,如图5所示。出现两个警告,修改程序,重新运行。(VS Code程序在直接寻址中,必须加段地址,不然会出现警告。由题目分析可知两个警告处的段地址都为6000H),12行指令改为:MOV AX, [6000H:0000H];13行指令改为:MOV AL, [6000H:0000H]。
3)没有错误和警告之后,右击主程序框,点击“调试当前程序”(使用VS Code软件,点击调试程序之后会将输出结果显示在内置的终端窗口中),跳转至DOSBox软件进行程序的调试与结果的显示,如图6所示。
4)在调试程序之前,需要根据题目要求修改对应地址中存放的值,右击右下角内存区域,选择“Goto…”,如图7所示。
题目已知(60000H)=12H,(60001H)=34H,(60002H)=56H,(60003H)=78H,(70000H)=0ABH,(70001H)=0CDH,(70002H)=0EFH,(70003H)=0DH。
5)输入对应的物理地址,然后修改内存地址中的值,修改成功之后的值如圖8所示(注意如果内存地址中的值为AB,应该输入0ABH)。
6)在DOSBox环境下,按键盘F8单步运行程序,也可以将光标放置到对应程序位置,然后点击菜单栏中RUN中的“Go to cursor”,如图9所示,可以观察光标运行位置每个寄存器、状态标志位和内存地址值的变化。
由上述实例操作可以看出,在VS Code环境中进行实验,程序编写过程中用波浪线可以标记出语法错误,程序运行之后有具体的错误/警告提示,修改寄存器和内存地址值方便,可以实时观察到寄存器、状态标志、内存地址值的变化,实验效果得到明显提升。
3 结 论
文章从“微机原理”实验课程的项目安排、编程软件安装、环境配置、编程界面、实验操作等多方位比较了传统和基于VS Code的新型教学模式,得出基于VS Code的实验教学中软件安装设置简单、编程界面美观、实验安排合理、操作便捷等结论,能有效增强学生编写代码的兴趣,训练微机编程思维,提高编程效率,改善教学效果,提升教学质量,可以将这种方法推广到其他编程设计类课程中。
参考文献:
[1] 中华人民共和国教育部.教育部关于一流本科课程建设的实施意见 [EB/OL].(2019-10-30).http://www.moe.gov.cn/srcsite/A08/s7056/201910/t20191031_406269.html.
[2] 刘丽娟,寇科,张祖漪.“微机接口技术”课程线上实验教学模式构建与应用 [J].现代信息科技,2020,4(24):178-181.
[3] 李红刚,殷立新,李红彪.“汇编语言程序设计”教学方法研讨 [J].无线互联科技,2018,15(23):73-74.
[4] 梁伟.汇编语言程序上机调试运行方法 [J].信息记录材料,2018,19(7):226-228.
[5] 解定东.Web版VS Code的自主搭建与应用 [J].科学技术创新,2020(29):94-95.
[6] 陈常念,孔维广,曹剑文,等.基于Visual Studio Code的C语言程序设计实践教学探索 [J].计算机教育,2020(5):43-47.
作者简介:刘丽娟(1989—),女,汉族,陕西渭南人,助理工程师,硕士,研究方向:微机原理、嵌入式等实验教学;寇科(1988—),男,汉族,陕西榆林人,讲师,博士,研究方向:激光自混合干涉测量、微机原理及接口技术本科教学。