摘 要:針對(duì)匯編語言程序設(shè)計(jì)課程教學(xué)現(xiàn)狀,提出常規(guī)教學(xué)與實(shí)訓(xùn)教學(xué)相結(jié)合的新思路。在以課堂和實(shí)驗(yàn)教學(xué)為導(dǎo)向進(jìn)行的常規(guī)教學(xué)過程中,強(qiáng)調(diào)重視算法教學(xué),注重培養(yǎng)學(xué)生的興趣和動(dòng)手能力。提出改革匯編語言實(shí)驗(yàn)教學(xué)的設(shè)計(jì)思路,最后給出了詳細(xì)具體的實(shí)驗(yàn)內(nèi)容安排。
關(guān)鍵詞:匯編語言;實(shí)驗(yàn)教學(xué);實(shí)驗(yàn)安排;實(shí)驗(yàn)教改
中圖分類號(hào):TP313-4
匯編語言作為面向機(jī)器的軟件,在計(jì)算機(jī)應(yīng)用中擁有重要的地位,主要應(yīng)用在對(duì)實(shí)時(shí)性要求高、對(duì)硬件設(shè)備進(jìn)行控制的場(chǎng)合:比如在過程控制、媒體接口、通信等用高級(jí)語言難以實(shí)現(xiàn)操作的場(chǎng)合,必須使用匯編語言。雖然目前系統(tǒng)軟件的開發(fā)已有不少采用高級(jí)語言,但給出的目標(biāo)程序往往還是采用匯編語言的形式,并且還有不少系統(tǒng)軟件要求必須使用匯編語言編寫。因此,對(duì)于計(jì)算機(jī)的開發(fā)、應(yīng)用技術(shù)人員,必須熟練掌握匯編語言才能分析、修改和擴(kuò)充計(jì)算機(jī)系統(tǒng)軟件、增加計(jì)算機(jī)功能。
1 實(shí)驗(yàn)教學(xué)環(huán)節(jié)在匯編語言教學(xué)中的地位和作用
計(jì)算機(jī)學(xué)科在許多方面與其他學(xué)科不同,特別是與硬件密切相關(guān)的課程。由于匯編語言課程是與硬件的操作密切相關(guān),實(shí)驗(yàn)環(huán)節(jié)在教學(xué)活動(dòng)中占據(jù)了重要地位,對(duì)提高學(xué)生的閱讀、編輯和調(diào)試功能中起著不可替代的作用。在正常情況下,計(jì)算機(jī)高校會(huì)指出要加強(qiáng)上機(jī)實(shí)踐環(huán)節(jié),學(xué)生通過實(shí)驗(yàn)課的理解工作有CPU,內(nèi)存,接口和外部設(shè)備,在計(jì)算機(jī)的表達(dá)和傳輸數(shù)據(jù)產(chǎn)生的看法。在匯編語言的實(shí)驗(yàn),以達(dá)到更好的理解和掌握,從感性認(rèn)識(shí)到理性認(rèn)識(shí)。因此,在匯編語言程序設(shè)計(jì)教學(xué)中應(yīng)注意的不僅是實(shí)驗(yàn)和理論教學(xué)應(yīng)認(rèn)真貫徹落實(shí)是基于實(shí)驗(yàn)的原理。實(shí)踐能力的重要組成部分,思維能力,創(chuàng)新能力,很顯然學(xué)生在這個(gè)過程中出現(xiàn)的困難,第一他們需要從缺乏必要的感性認(rèn)識(shí),沒有足夠的實(shí)驗(yàn)時(shí)間。
2 匯編語言實(shí)驗(yàn)教學(xué)的現(xiàn)狀分析
首先,匯編語言屬于低級(jí)語言,對(duì)于初學(xué)者而言,學(xué)習(xí)高級(jí)語言等于電腦在遷就人的思維方式,而學(xué)習(xí)匯編語言則需要人去遷就電腦的思維方式,要設(shè)身處地地用電腦的角度去思考問題,這就是學(xué)生學(xué)習(xí)匯編語言時(shí)遇到的最大障礙。
其次,匯編語言程序設(shè)計(jì)課程在教學(xué)方法上基本還是采用傳統(tǒng)的授予式的教學(xué)方法,和所有的程序設(shè)計(jì)語言一樣,要學(xué)好匯編語言,實(shí)驗(yàn)是必不可少的環(huán)節(jié)。很多學(xué)生都有這樣的體會(huì),書上的程序都能看懂,基本原理也都明白,但是在真正要親自動(dòng)手去編寫程序的時(shí)候卻無從下手,甚至連第一句怎么寫都不知道。這就要求教師在講解理論知識(shí)的同時(shí)注意讓學(xué)生及時(shí)上機(jī)練習(xí)。因此,在教學(xué)方法和教學(xué)手段上應(yīng)該有所創(chuàng)新和突破。
再次,教師受傳統(tǒng)教育的影響,普遍存在重理論輕實(shí)驗(yàn)的思想,一方面,教學(xué)方法普遍采用的仍然是講授法。另一方面,隨著科技的飛速發(fā)展,現(xiàn)在課堂教學(xué)大部分使用多媒體教室,這就使得部分教師授課時(shí)過分依賴多媒體演示,很多內(nèi)容都是通過多媒體演示僅讓學(xué)生看看了事,并不重視讓學(xué)生進(jìn)行實(shí)際操作。
最后,因?yàn)閰R編語言本身具有難學(xué)、難理解、難調(diào)試、難維護(hù)、可移植性差這些缺點(diǎn),隨著計(jì)算機(jī)運(yùn)行速度的提高和內(nèi)存容量的增加,人們對(duì)時(shí)空效率的要求已不再那么迫切,匯編語言的優(yōu)勢(shì)已不再那么突出,學(xué)生學(xué)習(xí)匯編語言固然存在著不少困難,但匯編語言在某些方面仍然有著高級(jí)語言無法比擬的優(yōu)勢(shì)。所謂“興趣是好的老師”,作為教師要注意激發(fā)學(xué)生的學(xué)習(xí)興趣,并在開學(xué)初就明確告訴學(xué)生這種考核制度的存在,使之開始就消除怠慢的情緒,從根本思想上重視實(shí)驗(yàn)。
3 實(shí)驗(yàn)教學(xué)內(nèi)容的設(shè)計(jì)新思路
“匯編語言”是實(shí)踐性很強(qiáng)的課程,而且有些內(nèi)容只有通過學(xué)生上機(jī)調(diào)試過,才會(huì)有更深的體會(huì)。所以實(shí)驗(yàn)教學(xué)安排應(yīng)按照由淺入深,循序漸進(jìn)的方式進(jìn)行,合理選擇實(shí)驗(yàn)內(nèi)容,盡量避免過多過雜。有些實(shí)驗(yàn)內(nèi)容可以安排在講課之前,即“實(shí)踐先行”或“項(xiàng)目驅(qū)動(dòng)”讓學(xué)生先實(shí)際操作然后帶著問題來學(xué)習(xí),這樣會(huì)大大增加學(xué)生的學(xué)習(xí)興趣。在內(nèi)容選擇時(shí)應(yīng)注意舉一反三,即以啟發(fā)思維為主,對(duì)設(shè)計(jì)型、綜合型實(shí)驗(yàn)只要求能夠完成預(yù)定實(shí)驗(yàn)?zāi)繕?biāo)即可,不苛求實(shí)驗(yàn)過程與步驟的統(tǒng)一。在實(shí)驗(yàn)課上,可以將教師演示和學(xué)生實(shí)踐穿插進(jìn)行,并且注意重復(fù)對(duì)比,讓學(xué)生及時(shí)發(fā)現(xiàn)自己操作上的失誤,加深對(duì)匯編語言編程操作規(guī)范的理解。另外,在實(shí)驗(yàn)中教師不需要處處包辦,要學(xué)會(huì)適時(shí)放手,鼓勵(lì)學(xué)生自己動(dòng)手修改程序,有時(shí)學(xué)生對(duì)自己編的程序沒有把握,一旦經(jīng)上機(jī)實(shí)驗(yàn)親手調(diào)試后就會(huì)很清楚了。學(xué)生在計(jì)算機(jī)上修改程序,觀察修改后的結(jié)果,實(shí)際上就是了解改動(dòng)部分在整個(gè)程序中所起到的作用,這種作用的認(rèn)識(shí)和理解不是通過說教得來的,而是切身經(jīng)歷的、看到的,學(xué)生對(duì)于它的理解、記憶就要深刻的多。
3.1 改革實(shí)驗(yàn)方法。摒棄傳統(tǒng)的DOS環(huán)境,采用匯編語言集成環(huán)境AsmEdit。該環(huán)境具有如下特點(diǎn):(1)以Windows為平臺(tái);(2)有一個(gè)功能與Windows的記事本相同的編輯環(huán)境,可方便地編輯匯編語言源程序;(3)在設(shè)置匯編、連接、調(diào)試等可執(zhí)行文件的位置后,可以在集成環(huán)境中通過菜單或者快捷按鈕來進(jìn)行匯編、連接、調(diào)試等工作,而不需要分別執(zhí)行相應(yīng)的命令。還可以顯示如果在DOS下操作時(shí)這一步操作所需要敲入的命令行;(4)只要按幾下鼠標(biāo)就可以快速插入一些內(nèi)容:預(yù)先設(shè)定的一些文件格式,DOS下的EXE文件,COM文件等;匯編語言指令及其使用格式;偽指令以及預(yù)先設(shè)定的一些程序片段,如過程定義等等。
3.2 利用Debug調(diào)試工具,加強(qiáng)實(shí)踐環(huán)節(jié)。匯編語言和高級(jí)語言一個(gè)很大的不同之處在于用匯編語言編寫的源程序在上機(jī)調(diào)試時(shí)大部分的程序不能直接看到運(yùn)行結(jié)果,所以需要充分領(lǐng)用好Debug這個(gè)調(diào)試工具,能夠熟練利用這個(gè)工具,可以幫助學(xué)生理解指令和程序,有效提高學(xué)生的編程能力和上機(jī)調(diào)試能力。
為了充分發(fā)揮Debug的作用,需要把Debug的使用方法貫穿到整個(gè)課堂教學(xué)和實(shí)驗(yàn)教學(xué)的始終,比如,在講授CPU內(nèi)部的寄存器結(jié)構(gòu)時(shí)候,可以教學(xué)生用Debug查看各寄存器的狀態(tài)等。在程序設(shè)計(jì)部分,Debug發(fā)揮更大的作用:大部分程序的運(yùn)行都需要借助Debug來查看運(yùn)行的結(jié)果,當(dāng)程序運(yùn)行錯(cuò)誤時(shí),還需要借助Debug來進(jìn)行調(diào)試,利用Debug來隨時(shí)查看寄存器和內(nèi)存單元的內(nèi)容,找出錯(cuò)誤所在,從而不斷修改直到程序運(yùn)行通過。
4 實(shí)驗(yàn)內(nèi)容的具體安排
具體的實(shí)驗(yàn)內(nèi)容應(yīng)覆蓋匯編語言程序設(shè)計(jì)課程教學(xué)中的各個(gè)要點(diǎn),主要包括DEBUG、匯編語言編程環(huán)境、匯編語言程序設(shè)計(jì)。實(shí)驗(yàn)類型分為選作和必做。每個(gè)實(shí)驗(yàn)分屬驗(yàn)證型、設(shè)計(jì)型或綜合型?;谝陨纤伎迹P者在實(shí)驗(yàn)內(nèi)容的選擇、實(shí)驗(yàn)步驟的設(shè)計(jì)和實(shí)驗(yàn)文檔的組織等諸方面都做了精心的考慮和安排,嘗試為“匯編語言程序設(shè)計(jì)”課程編寫了《匯編語言程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)書》。下面列舉其中幾個(gè)具有代表性的實(shí)驗(yàn):
實(shí)驗(yàn)一 匯編語言實(shí)驗(yàn)平臺(tái)及調(diào)試工具的應(yīng)用
5 結(jié)束語
參考文獻(xiàn):
[1]趙樹聲,楊建軍.DOS/Windows匯編語言程序設(shè)計(jì)教程[M].北京:清華大學(xué)出版社,2005.6.
[2]沈美明,溫冬嬋.IBM-PC匯編語言程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2001,7.
[3]劉均,周蘇,金海溶等.匯編語言程序設(shè)計(jì)實(shí)驗(yàn)教程[M].北京:科學(xué)出版社,2006.
[4]錢曉捷.32位匯編語言教學(xué)技巧[J].計(jì)算機(jī)教育,2012(02):88-91.
[5]陳逸菲,趙麗玲,張穎超等.匯編語言的對(duì)比教學(xué)法[J].計(jì)算機(jī)教育,2011 (24):45-48.
[6]熊小兵.“匯編語言程序設(shè)計(jì)”的比較教學(xué)法[J].計(jì)算機(jī)教育,2010(03):151-153.
作者簡(jiǎn)介:王小林(1980.04-),女,江蘇徐州人,講師,研究方向:計(jì)算機(jī)應(yīng)用。
作者單位:江蘇師范大學(xué)計(jì)算機(jī)學(xué)院,江蘇徐州 221000