摘要:匯編語言是一種能充分發揮和利用計算機硬件特性的語言,但在高職高專院校教學中,內容滯后于硬件的發展,與實際脫節,學生缺乏學習積極性。針對這一現狀,本文提出其重要性,并從教學內容、理論與實驗教學方式上作了一些改革。
關鍵詞:匯編語言;交互式教學;DEBUG
《匯編語言》是計算機提供給用戶的能利用計算機的所有硬件特性并能直接控制硬件的語言,它不僅是計算機組成原理、接口技術、控制系統、操作系統等核心課程的先修課,而且對于訓練學生掌握程序設計方法和技能,熟悉上機操作和程序調試技術有獨到之處。從軟件的角度,《匯編語言》使用了中斷技術,ROM BIOS功能調用,DOS功能調用以及對配套芯片端口的編程,在實時控制及工業過程控制領域起重要作用。從目前我國的國情來看,我們是發展中國家,要趕超世界經濟強國就必須在工業上不斷革新技術,使工業生產逐步在計算機控制下實現自動化,要提高工業領域的計算機應用水平,需要大量掌握計算機應用技術和控制基礎知識的應用人才,以適應市場的要求。從高職高專院校培養人才教育的辦學方向來看,按照市場需求,培養生產、建設、管理和服務第一線的高級技術應用性人才,教育更應以應用為主。《匯編語言》課程集硬件、軟件兩方面為一體,無疑應該選為高職高專類計算機專業的必修課,并且隨著硬件和軟件技術的發展以及計算機應用領域廣度和深度的拓展,必須重視《匯編語言》課程的教學改革。
1. 《匯編語言》的教學現狀
目前,在眾多程序設計語言中,匯編語言是面向機器的語言。雖然匯編語言可以充分利用計算機的硬件特性,用于編制對時間和空間要求很高的程序,在需要直接控制硬件的場合,匯編語言更是無可替代的。但是隨著Windows、Linux以及Unix等多任務的操作系統出現,DOS操作系統慢慢地退出歷史舞臺,建立在該操作系統之上的8086匯編語言也逐漸遠離了人們的視線。這也是匯編語言課程的教學所面臨的最大尷尬。目前,絕大多數的高職高專院校開設本課程的教材仍然停留在DOS下的8086匯編語言階段,教學內容更新速度滯后于軟件和硬件的發展速度,不適應當前計算機技術發展,與實際脫節,學生對其重要性認識不夠,缺乏學習積極性。
2. 《匯編語言》的教學改革
多數高職高專學校將匯編語言仍然指定為8086匯編程序設計,教學手段、方法比較陳舊,這對于提高該課程的教學質量是不現實的,建議從以下幾方面進行教學改革。
2.1. 理論內容的教學改革方法
2.1.1進行企業發展史和科技發展的教育,誘發學生的學習興趣。教師在上理論課時就要巧妙地設計教案,把一些大企業的發展史介紹給學生,使學生對計算機硬件編程由陌生進而產生興趣。如關于儀器/儀表控制、家用電器和民用產品控制等眾多企業的現狀及發展前景,這樣可縮短學生和計算機硬件的距離,激發他們學習的興趣。
2.1.2對課程中一些原理盡量用生活實例加以解釋,使理論學習深入淺出。在硬件教學中,可結合實際,把一些枯燥的理論性內容用形象生動的生活實例來闡明,當講到總線時,用教室間的過道加以說明。通過舉例,使同學們覺得計算機硬件并不深奧,而是與生活實際密切聯系,使他們產生學習興趣,并化為一種學習動力。
2.1.3利用多媒體教室等手段,增強直觀教學效果,培養學生學習興趣。我們利用可交互式的CAI多媒體教學軟件及多媒體課件運用于課堂教學,可極大減少煩瑣板書的時間,使學生將主要精力用于理解、應用上,同時滿足學生對新技術的追求。總之,直觀教學能使許多疑難問題迎刃而解,既可培養學生興趣,又可增強其學習的自信心。
2.1.4交互式教學,提高課堂上學習的效率。如果教師把一個程序從頭到尾、逐字逐句地講給學生,學生很容易失去耐心,思想上開小差。此時我們可以考慮使用演繹法,學生對一個程序已經建立起整體概念,細化的工作讓學生自己去做。即讓學生自己去讀程序,教師可以提幾個相關的問題.讓學生在讀的過程中注意思考,學生帶著問題去理解程序,互相之間可以交流,通過這種方式可大大提高課堂上學習的效率。
2.2. 上機內容的教學改革方法
匯編語言是一門實踐性很強的課程,它要求學生掌握調試程序,以及匯編語言源程序的編輯、匯編、連接和調試的開發過程。由于學生不熟悉Dos操作系統、不習慣單調的命令行操作方式,還由于調試程序(DEBUG.EXE)本身的功能所限和與匯編程序的差異,掌握調試程序成了實踐當中的一個難點。學生應盡早學會熟練地使用DEBUG。DEBUG是匯編語言的重要調試工具,它通過單步、設置斷點等方式為程序員提供了非常有效的調試手段,也是學生了解機器世界的一個重要窗口。講解時多采用一些有趣味性、實用性的例題。例如:在講串操作指令時,可以利用病毒的核心程序例子;其他如猜數程序,拋硬幣正面朝上概率計算,時鐘顯示程序,打字速度測試程序等。趣味性的程序易引起學生的注意,增強學習的積極性,實驗調試則更加趣味橫生了。
另外實驗內容可以根據學生學習的情況分為兩類,一類是必做實驗,主要包括:DEBUG命令的使用;DEBUG下指令執行情況分析;編寫簡單的算術運算小程序;編寫簡單的分支、循環程序,掌握轉移指令的用法;子程序設計;編寫程序通過Dos功能調用完成I/O操作。另一類主要針對學有余力的學生,安排了選做實驗,內容主要有:打印所有的“水仙花”數;編寫填充指定屏幕區域的程序;打字速度測試程序;編寫用鍵盤選擇計算機演奏歌曲的程序;DOS的屏保程序等,作為平時成績加分的依據,學生的積極性就被很好地調動起來了,學生普遍反應良好,主動承擔選做實驗的占全班總人數的70%以上。這種激勵的教學模式能使學生由被動變主動學習,更能使學生從“知識型”向“創造型”轉變。
最后我們應舍棄一些過時的應用技術,而引入一些實用的匯編語言程序設計方法,例如開發大型程序需要的模塊化方法、高級語言的混合編程技術如C/C++混合編程等。
匯編語言雖然是一門低級的計算機語言,但隨著計算機軟、硬件技術的發展,匯編語言也不甘落后。另80X86的指令體系還在不斷擴展,匯編語言的重要用途仍將值得關注。對匯編語言的教學,我認為,講授這門課應結合匯編語言的特點,進行必要的實踐和理論探索,才能提高教學效果。
參考文獻:
[1] 溫冬蟬等.IBM-PC機匯編語言程序設計[M].北京:清華大學出版社,1997.
[2] 丁輝等.匯編語言程序設計(第2版)[M].北京:電子工業出版社,2005.
[3] 徐建民.匯編語言程序設計[M].北京:電子工業出版社,2002.
[4] 譚毓安.Windows 匯編語言程序設計教程[M].北京:電子工業出版社,2005.