張洪業 宋人杰 周欣欣

摘要:“匯編語言”是高等院校計算機及相關專業本科生的一門基礎課。本文分析了目前高等院校匯編語言課程的教學現狀,指出了匯編語言教學改革的必要性,對改革的方向做了探討,提出了自己的看法,同時將其應用于實踐教學中,其目的在于突破傳統的教學模式,探索出一條更加科學、合理、有效、適用于當前教學實際的教學模式。
關鍵詞:教學模式;匯編語言;虛擬PC;模擬器
中圖分類號:G642 文獻標識碼:B
1引言
“匯編語言程序設計”是高校計算機、自動化、電子、通信等專業必修的一門主干課程,尤其是對計算機專業來說,它是一門體現軟硬件結合的基礎課程。因此,學好匯編語言,不但能使學生以后能更好地理解計算機的組成及工作原理、了解計算機內部運行機制,還能為將來進行程序設計打下良好的基礎;同時它對學習“微機原理及接口技術”、“操作系統”等后續課程有非常重要的作用。
2當前教學現狀及存在的問題
匯編語言與計算機有著密不可分的關系:匯編指令與機器指令一一對應;能直接操作系統硬件。同時,匯編語言目標程序短、運行速度快,相對于機器語言來說便于書寫、閱讀和調試,因此從其誕生伊始就迅速地替代了機器語言,成為程序設計人員的最愛。經過數十年的發展,匯編語言早已廣泛應用于程序優化、軟件安全、系統工具的編寫等各個方面。當前,幾乎每個高校的計算機及其相關專業都把匯編語言程序設計作為專業必修課向本科生開設。然而,經過實踐教學發現,由于其先修課程少,課程本身指令復雜,規定繁多,學生往往感到乏味厭學。這樣常常導致教師教得累、學生學得煩,教學效果明顯欠佳。
概括起來,目前“匯編語言”課程教學中存在的主要問題有如下幾點:
(1) 學生的課程認識不正確
學生往往不知道學習該門課程的必要性。在開設這門課程之前,往往已經先修了C語言課程,而C語言明顯比匯編語言具有更好的邏輯性,更接近于自然語言,更符合人類的思維方法,更簡單易懂,應用更廣泛。相反,匯編語言指令瑣碎,知識點太多,學習戰線太長,這樣學生往往會由苦學到厭學,最后不學。當然,造成這種情況的原因除了“匯編語言”課程本身的特點外,任課教師引導失誤是主要原因。
(2) 學生的學習方法有偏差
匯編語言復雜難學,是一門非常重視基礎的課程,如要想學好指令,必須扎實理解其尋址方式。而學生在學習中,不重視基礎,往往學了后面忘了前面,不去認真理解,而往往死記硬背,結果事倍功半。例如學完尋址方式后,再學習數據傳送指令時,還有較多的學生寫出兩個存儲器之間直接傳遞數據的指令,很顯然這是基礎不牢造成的。
(3) 教師的教學手段存在缺陷
傳統的板書式教學方式正逐漸被多媒體教學手段所取代。多媒體課件信息量大、生動直觀,在很大程度上激發了學生的學習興趣,提高了教學效果。但其缺點也是明顯的:信息量大往往使學生對知識消化吸收困難,找不到重點,理不出頭緒。而且采用多媒體方式,學生往往產生一種依賴情緒,一旦遇到困難就想課后看課件,從而導致注意力分散,使得問題不能得到及時解決。
(4) 實驗和實踐環節重視不足
實驗和實踐環節對于學好匯編語言來說是非常重要的。學生只有經過上機實驗和課后實踐,才能很好的理解教科書上的內容,從而打下堅實的理論基礎,反過來才能更好地指導實踐。目前的上機實驗時間往往很短,常常是學生才剛剛有點入門,實驗環節就結束了;且課外實踐環節幾乎沒有,導致學生即使課內學的再好也不會應用。
3解決方法研究與探討
(1) 強調學生對課程的正確認識,端正學生的學習態度。
匯編語言指令采用助記符等符號書寫,與機器指令一一對應,比機器指令容易記憶和理解。通過學習和使用匯編語言,我們能夠感知、理解機器的邏輯功能;實踐中向上可以理解軟件,向下可以感知硬件。因此在課程講述過程中,我們應不斷強調:學習匯編語言是理解計算機系統的最佳起點和最有效途徑;在實際應用中,匯編語言在調試程序或開發底層內核程序方面都有較大的競爭優勢。除此之外,教學中還需要例舉一些大家比較熟悉的應用匯編語言的實例,讓學生們感覺到匯編語言的重要性。這一環節,也可讓學生們課后自己去圖書館或網上查找資料,然后課內組織大家一起討論。學生們一旦理解了匯編語言的重要性,自然會端正自己的學習態度。課堂教學中,要鼓勵學生打好基礎,引導學生不斷回憶以前的內容,使他們能自己發現問題,然后盡量用簡單的例子對問題進行講解。
(2) 指導學生采取正確的學習方法,培養學生的學習興趣。
在實驗課程中及課后學習中,積極引導學生對匯編語言的學習興趣:指導學生編寫一些平時常見的并且有實際應用功能的程序,如文件加密程序;讓學生閱讀或嘗試編寫一些有趣的小游戲,如迷宮小游戲;讓學生閱讀并用自己的方法修改別人的源程序,如對已有程序進行優化,比較誰的程序最簡單高效;指導學生使用反編譯工具對較小的軟件進行反編譯,然后對結果進行分析。
(3) 采用豐富的教學方法和教學手段。
將課堂教學、自主學習、網絡教學等有機地結合起來,并充分利用多媒體教學手段提高教學效率和教學效果。在教室中,將多種教學方法有機地結合起來,通過電子教案、軟件仿真等手段,讓學生邊學習、邊實踐,引導學生自己發現問題、思考問題、解決問題。在講解不易理解的問題時,應放慢速度,除用多媒體課件直觀演示外,應盡量結合板書講解,這樣更有助于學生對講述內容的消化吸收。同時,在教學中應多采用類比的方法,盡量用生動的語言、鮮活的事例對比講解某一問題,既能激發學生的學習興趣,又使其加深對內容的理解。
(4) 增強實驗環節,做一些實際項目 。
在實踐教學中,積極創造學習環境,擠出時間加強實踐環節和編程上機操作的訓練。實驗室硬件資源有限,學生上機實驗次數受限,因此在學習masm等基本匯編工具基礎上,指導學生課外利用一些軟件模擬工具,如emu8086等進行匯編程序的學習。這些軟件基本上都結合了先進的原始編輯器、組譯器、反組譯器、具除錯功能的軟件模擬工具(虛擬PC),有的還有循序漸進的指導工具。它們都是可視化的環境,可以完全模擬計算機硬件系統。由于模擬器在虛擬PC中執行程序,因此它不會去存取實際硬件,程序運行中可以隨時看到各寄存器、標志位、存儲器單元的狀態,不但可以很方便地進行程序的調試,還可以對計算機硬件進行深層次的了解,而且這些軟件完全兼容Intel 的后繼處理器,包括Pentium II、Pentium 4等等。圖1就是采用emu8086可視化8086模擬器調試匯編程序的畫面。
另外,在實驗過程中,可以將學生分成若干組,各組間互相進行提問、講解和討論;各組在課后可以自己尋找感興趣的題目或實際應用項目(如廣告牌等)進行實踐,這樣就能明顯提高學生的動手實踐能力。
4結束語
基于以上的考慮,我們進行了教學改革的嘗試,通過一段時間的實踐取得了較好的效果。既加深了學生對課程的理解和掌握程度,同時又使教師加強了對該課程的教學能力。當然,良好的教學效果是我們永遠追求的目標,因此在今后的教學中,我們還需要不斷進行探索、研究和嘗試,不斷更新觀念,取得教學藝術中的精華。
參考文獻:
[1] 沈美明,溫冬嬋. IBM-PC匯編語言程序設計[M]. 2版. 北京:清華大學出版社,2001.
[2] (美)布魯姆,著. 匯編語言程序設計[M]. 馬朝暉,譯. 北京:機械工業出版社,2006.
[3] 仝選悅,趙煥平. 匯編語言的教學改革和思考[J]. 福建電腦,2008(2):201.
[4] 何武超. 淺談《微機原理與匯編語言》的教學改革[J]. 滄州師范專科學校學報,2008,24(1):76-77.