- 相關推薦
匯編語言程序設計教學方法分析論文
摘要:“匯編語言程序設計”是我國高校計算機專業(yè)一門重要的專業(yè)課程,是一門軟硬件并重的課程。該課程在學習上存在著一定的難度,如何調動學生對匯編語言的學習興趣,提高學習的效果,在文章中總結一些心得體會,希望與大家共同探討。
關鍵詞:匯編語言;教學方法;實踐
“匯編語言程序設計”課程是計算機及相關專業(yè)開設的一門重要的專業(yè)課程,許多大學都開設此課程。匯編語言還是學習“編譯原理”“微機原理”“操作系統(tǒng)”等課程的前序課程。當今,越來越廣泛地使用高級程序語言,導致許多學生沒有學習匯編語言的積極性和動力,因為學生普遍認為學習匯編語言沒有用武之地。其實,匯編語言是一種能夠充分發(fā)揮計算機硬件特性的高效語言,會經常出現在一些特殊的場合,比如數據加密、解密、分析和防患病毒攻擊等。而且,學習匯編語言可以有助于學生更好地掌握計算機工作的原理,可以提高學生分析、解決實際問題的能力。匯編語言是面向機器的低級語言,是離計算機硬件最近的編程語言,具有執(zhí)行效率高的特點[1]。但由于匯編語言是面向機器的,必須對計算機有相當深入的了解,才能使用匯編語言進行程序設計。匯編語言由于指令多,有近百條指令,語法規(guī)則嚴格,同時還要熟悉硬件結構,學習過程抽象,學生普遍反映匯編語言難學,難以產生學習興趣。如何較好地解決這些問題呢?在多年的實踐教學過程中,我們總結、實施了一些教學方法,取得了較好的效果。
1學會使用Debug調試工具
Debug調試工具是Windows操作系統(tǒng)自帶的調試工具。在Debug調試工具中,根據逐條執(zhí)行每條匯編指令,大家可以看到每條指令的執(zhí)行結果,以及對各個標志寄存器的影響以及存儲器單元的變化,學生因此清楚了解指令下的執(zhí)行步驟和作用。學會使用Debug調試工具執(zhí)行程序段,通過依靠Debug提供的指令來查看存儲單元的變化[2]。例如,執(zhí)行以下指令后AX寄存器的內容是什么?TABLEDW20,30,40,50,60...MOVAX,[BX]在得到答案后,我們怎么才能確定自己的答案是否正確呢?我們可以在Debug調試工具中執(zhí)行完這幾條指令,然后通過查看AX寄存器中的內容就可以知道自己所得的答案是否正確了。問題的重點是在于調試工具Debug不能直接表示符號地址,那么如何表示出符號地址呢,我們可以通過替換的方式來實現,先換為具體的存儲器的地址,等執(zhí)行完對應的指令之后,去具體的存儲器查看數據,從而判斷出答案對錯與否。通過以上步驟,學生可以充分掌握匯編語言的直接尋址和寄存器間接尋址之間的區(qū)別以及操作數和地址之間的關系[3]。
2通過植入錯誤,提高調試經驗
由于匯編語言采取英文助記符的形式,與高級語言相比可讀性較差,因此,匯編語言源程序的調試比高級語言程序調試更加困難。在調試程序的時候,雖然系統(tǒng)會給出錯誤提示,但是由于錯誤提示是英文提示,很多同學由于缺乏專業(yè)英語的基礎,不明白這些提示的含義,更不知道如何處理這些錯誤。因此,為了讓學生積累調試程序的經驗,我們采用植入錯誤的方法。寫一個簡單的程序,在里面設置一些典型的語法或邏輯錯誤,讓學生對其進行調試和修改。通過逐步引導學生對一些典型的錯誤建立良好的認知,讓學生在錯誤中不斷積累調試經驗,并通過成功調試而獲得成就感,從而激發(fā)學生的學習興趣[4]。
3從細節(jié)入手,不放過一個細節(jié)
例如,當教師講授匯編語言程序設計課程中地址的概念的時候,由于匯編語言使用分段編程,每個存儲空間對應一個20位的物理地址,用邏輯地址表示實際尋址中20位的物理地址,把它分為段地址和偏移地址。當段地址和偏移地址形成物理地址時,段地址向左移位4位,即乘以16后加上偏移地址。這導致兩個段彼此最接近,并且段地址僅相差一個,然而實際物理地址上是相差16,也就是說,段的兩個最近段首地址之間的最小距離也是16個字節(jié)。每個段的大小應該是16的整數倍,最小的段是16個字節(jié)。有些老師在講解這個知識點時都是一帶而過,沒有詳細地講述,學生在學習時會感到比較抽象,難以理解。因此,教師不能輕易放過這些細節(jié),而應該只用1個字節(jié)定義一個數據段,然后在學生的調試命令中向學生展示該數據段實際占用的空間,學生可以明確地看到,雖然只有1個字節(jié)的數據段也要占用內存空間的16個字節(jié)。講授內容可以繼續(xù)引申,空間為17個字節(jié),實際占用的空間應該為多少字節(jié)?學生應該不難得出結論17等于16加1,額外的1字節(jié)也占用16個字節(jié)的空間。因此,該段占用的實際空間應為16加16,即32字節(jié)。
4重視實踐,加強實驗考核
要想學習好一門編程語言,盡可能多的編程實戰(zhàn)是必由之路。學習匯編語言也是這樣,作者認為編程應用有兩個層次,比較低的層次是在學校實驗室中應用的匯編語言,指的是匯編語言課程中經典的編程項目和實驗環(huán)節(jié);較高的層次是匯編語言在日常工作生活中的應用,主要是指利用匯編語言解決實際生活中遇到的問題。匯編語言由于貼近硬件,對中斷以及外部設備的控制部分感覺很抽象,我們可以通過設置一些相關實驗,讓學生逐步對這一問題建立起較好的認知。比如。模擬紅綠燈的實驗,先在計算機中編好匯編控制程序,然后在計算機的端口連接好8255等外部芯片,通過執(zhí)行匯編程序來控制外接燈的開關以及開關的時間,從而實現對紅綠燈的控制。通過設計這些實驗,學生不僅能清楚了解匯編語言對硬件的控制方式,還能產生學習匯編語言的濃厚興趣。再者,將“匯編語言程序設計”與“單片機”“微機原理”等課程相結合開發(fā)出綜合性、設計性實驗也有非常好的效果。加強實驗考核也是一個很有效的方法。通過學生的反饋以及多年積累的教學經驗來看,通過加強實驗考核,對提高學生掌握好匯編語言很有效果。實踐考核考查的是比較理論和基本的內容,通過實驗考核使學生學會用盡可能多的方法去解決問題,開拓思路[5-6]。
5對比學習,聯(lián)系記憶,歸類總結
匯編語言編程的特點是簡短而精確,程序的執(zhí)行效率非常高,源程序可以直接對應于以前的機器語言,高級語言是不同的,并且在將其源程序編譯成可執(zhí)行文件之后,會生成冗余機器代碼。以最常用的“helloworld!”程序為例,用C語言和匯編語言單獨編寫,再生成可執(zhí)行文件。相比之下,學生可以清楚地了解上述特征,從而對匯編語言有直觀和感性的理解,這可以激發(fā)學生學習匯編語言的興趣。學習匯編語言時,學生已經具備了高級語言編程的良好基礎,使用兩種語言比較方法。針對匯編語言指令多、規(guī)則多、不宜于記憶的特點,采用聯(lián)系記憶法和歸類總結法[7-8]。例如,把幾個工作寄存器的使用方法與寄存器的英文聯(lián)系起來記憶,將具有類似功能的指令一起記憶等。通過對比學習方式和歸類總結法,可以直觀地看出匯編語言的特點,從而幫助學生學習匯編語言課程。
6結語
總的來說,我們一直在不斷地探索和研究“匯編語言程序設計”課程的教學改革,學校也是大力支持、提供方便條件,在培養(yǎng)方案制定、教學大綱修訂上給予足夠的權限和自由。即使學生學習匯編語言有一定難度,但如果在教師講授過程中,通過改進教學方法,調整教學內容,提高學生的學習興趣,降低課程的學習難度、培養(yǎng)學生的編程能力、調試能力、實踐動手能力,能夠幫助學生順利渡過入門關,那么學生掌握好這門編程語言就并非難事,從而提高整體教學效果,來適應計算機技術的發(fā)展。無線互聯(lián)科技技術應用
[參考文獻]
[1]沈美明,溫冬嬋.IBM-PC匯編語言程序設計[M].北京:清華大學出版社,2002.
[2]王成耀.匯編語言程序設計[M].北京:機械工業(yè)出版社,2003.
[3]解志堅,張引瓊,陳剛.匯編語言程序設計教學方法的探討[J].電腦知識與技術,2015(32):89-91.
[4]曾韻,王立新,司彬彬,等.匯編語言教學改革的思考與探索[J].計算機教育,2015(13):60-62.
[5]張曉亞,唐東成,黎鈺珍,等.匯編語言程序設計的重要性[J].電子技術,2017(6):70-71.
[6]劉明,蘇靜.“匯編語言程序設計”課程教學探討[J].福建電腦,2011(11):34.
[7]龐新法.如何輕松學好匯編語言[J].價值工程,2014(19):193-194.
[8]葉劍芯,彭華林.高職院校匯編語言課程教學改革的探討[J].科技資訊,2012(3):211.
【語言程序設計教學方法分析論文】相關文章:
淺談C語言程序設計的教學方法04-29
軟件工程C語言程序設計初探的論文04-27
《程序設計課程》教學方法的探索與實踐04-29
探討VB程序設計課程的教學方法04-29
Delphi程序設計論文04-27
中職學校VB程序設計的教學方法探索05-01
改革地理教學方法,培養(yǎng)學生分析問題的能力論文05-01
計算機程序設計課程教學方法探討04-29
直觀性教學方法在程序設計教學中的應用05-02