亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        用實驗方法改革匯編語言程序設計的教學

        2007-01-01 00:00:00金海溶孟學多
        計算機教育 2007年1期

        摘要:我們在多門計算機課程的教學實踐中,摸索出一套“把實驗實踐環(huán)節(jié)與理論教學相融合,抓實驗實踐教學促進學科理論知識學習”的教學方法,有效地提高了學生的學習興趣和課程的教學效果。實踐證明,這樣的教學方法符合“實踐、認識、再實踐、再認識”的辯證唯物主義認識論。本文從我國大眾化高等教育的實際出發(fā),從匯編語言及其教學現狀、教學內容的分層次設計、把實驗作為課程的主要教學手段以及實驗教學改革與創(chuàng)新的成果等諸方面介紹了筆者對“匯編語言程序設計”課程的教改思路和實驗創(chuàng)新成果。

        關鍵詞:匯編語言程序設計;實驗;教學改革

        中圖分類號:G64 文獻標識碼:A

        文章編號:1672-5913(2007)01-0034-04

        在傳統(tǒng)教學模式中,理論教學 (或者說是課堂教學) 與實驗教學是區(qū)別對待的,后者通常用來“輔助”前者 (例如實驗教材歷來被認為是輔助教材) ,學生通過實驗教學環(huán)節(jié)來“驗證”理論教學的內容。但是,在大眾化高等教育的背景下,課堂教學的效果普遍出現滑坡,導致淡化了“驗證性”實驗的基礎,因而嚴重地影響了課程的教學質量。

        近年來,我們在多門計算機課程的教學實踐中,摸索出一套“把實驗實踐環(huán)節(jié)與理論教學相融合,抓實驗實踐教學促進學科理論知識學習”的教學方法,有效地提高了學生的學習興趣,以此提高了大眾化高等教育背景下計算機專業(yè)課程的教學效果和教學質量。本文中,我們結合“匯編語言程序設計”課程的實驗創(chuàng)新,來探討新的教育形勢下計算機課程教學方法的改革。

        1匯編語言及其教學的現狀

        計算機中真正可以處理的只是由“0”和“1”組成的二進制代碼,這種指令代碼易出錯且不易修改。于是,人們發(fā)明了“指令的助記符”,用幾個字母 (往往就是其含義的英文單詞或縮寫) 來代替某條指令,如加法用ADD表示,減法用SUB表示等,這種符號系統(tǒng)最終擴大形成了匯編語言。匯編語言就是機器語言的一種可以被人讀懂的形式,只不過它更容易記憶。使用匯編語言編程,優(yōu)點是運行效率高,可直接對硬件內部進行控制,缺點是使用者需要對硬件有更深入的了解,編程效率不高,并且匯編語言與機器的體系結構有一定的依賴關系,每種計算機都有自己的匯編語言,使用極不方便。

        匯編語言易學卻很難真正掌握,編寫快速、高效,并且能夠讓計算機處理器“舒服地執(zhí)行”的匯編語言程序是一件很困難的事情。由于教師開展教學困難,學生學習和掌握困難,教學效果很差,以至于不少學校甚至取消了這門課程。

        盡管與發(fā)展初期相比,計算機開發(fā)和應用技術已經有了根本性的變化,我們有了各種高級語言、我們有了網絡應用開發(fā)的許多編程工具,很多程序甚至可以自動生成,但機器語言、匯編語言和高級語言的程序設計語言體系仍然是計算機技術的基礎,也是計算機技術的重要知識體系之一。對于計算機及其相關專業(yè)的學生以及喜歡計算機的一般學生和讀者來說,匯編語言程序設計肯定是需要掌握的重要專業(yè)基礎知識之一。不能了解和熟悉匯編語言知識不僅將導致學生知識結構的缺乏,也可能導致學生認知水平的降低、開發(fā)手段的貧乏。在一些應用中,匯編語言甚至是其開發(fā)工具的唯一選擇。

        匯編語言是機器語言之外最接近計算機硬件的編程語言。由于它如此地接近計算機硬件,因此,它可以最大限度地發(fā)揮計算機硬件的性能。用匯編語言編寫的程序的速度通常要比高級語言(例如C/C++),快很多倍,甚至成百上千倍。選擇匯編,意味著選擇性能而不是可移植或便于調試。在一些實際的應用系統(tǒng)中,我們往往會用匯編徹底重寫某些經常調用的部分以期獲得更高的性能。應用匯編也許不能提高程序的穩(wěn)定性,但至少它也不會降低穩(wěn)定性;與此同時,它可以大大地提高程序的運行速度。至少,匯編語言的知識可以告訴你一些有用的東西,比如,你有多少個寄存器可以使用。有時,手工的優(yōu)化比編譯器的優(yōu)化更為有效,而且,你可以完全控制程序的實際行為。

        “匯編語言程序設計”課程的任務是為“計算機原理”、“計算機接口技術”、“操作系統(tǒng)原理”等后繼課程提供必要的基礎知識,它對訓練學生掌握程序設計技術、熟悉上機操作和程序調試技術都有重要作用,為從事計算機的應用開發(fā)提供了強有力的編程工具。

        通過學習匯編語言,學生可以了解到如何有效地設計數據結構,讓計算機處理得更快,并使用更少的存儲空間;同時,學習匯編語言可以讓學生熟悉計算機內部運行機制,并有效地提高調試能力。經驗表明,調試一個非結構化程序的困難程度,要比調試一個結構化程序的難度高很多,因為“結構化”是以犧牲運行效率來提高可讀性與可調試性的,這對于完成一般軟件工程的編碼階段是非常必要的。然而,在一些地方,比如,硬件驅動程序、操作系統(tǒng)底層,或者程序中經常需要執(zhí)行的代碼,結構化程序設計的這些優(yōu)點有時就會被它的低效率所抹煞。另外,如果你想真正地控制自己的程序,只知道源代碼級的調試是遠遠不夠的。

        通常情況下,“匯編語言程序設計”課程的教師必須決定其課程是集中于問題和理論,還是為學生提供一個能夠對匯編語言程序設計進行實驗的環(huán)境。“匯編語言程序設計”課程本身具有的理論抽象性和鮮明的應用性,決定了我們必須充分重視這門課程的實踐環(huán)節(jié)。

        2教學內容的分層次設計

        教育部計算機科學與技術專業(yè)教學指導分委員會在其發(fā)布的“中國計算機本科專業(yè)發(fā)展戰(zhàn)略研究報告”中指出:大多數院校都有比較完善的教學大綱、教學計劃和進度表、教學檔案等,實踐著一套有效的管理規(guī)范。但同時教學內容的研究則需要加強。報告進一步指出:

        1) 有些學校計算機專業(yè)的教學內容設計存在明顯的盲目性,還有些學校在培養(yǎng)人才定位上有明顯偏差。盡管CC1991開創(chuàng)了一種對計算機科學教育的創(chuàng)造性的、理性的思考,但它并不應該成為我國所有大學計算機專業(yè)教學實踐所共同追求的目標。

        2) 作為一種比較普遍的規(guī)律或者現象,學生就業(yè)通常會有較強的地域性:一個企業(yè)通常在周邊地區(qū)招收較多員工,一個學校的畢業(yè)生大都就業(yè)在學校周邊地區(qū)的單位。因此,學校周邊地區(qū)社會發(fā)展的情況對計算機專業(yè)的教學內容的設計應該是很有參考意義的。

        ……

        由于大多數大專院校一般都設置有計算機科學技術及其相關專業(yè),我們至少可以認為:根據所在院校的辦學類型不同、培養(yǎng)目標不同、所在地及其周邊地區(qū)社會需求的不同,這些計算機專業(yè)的教學內容應該有所不同,這些計算機專業(yè)對于“匯編語言程序設計”這門課程的教學內容也應該是有所不同的。對于那些非研究型院校的相關專業(yè),對“匯編語言程序設計”的教學可以集中在適度的理論知識和充分的操作實踐上,通過實驗與實踐,了解匯編語言程序設計的基本概念和知識,激發(fā)對相關理論知識的學習興趣,理解和掌握匯編語言程序設計的基本方法。

        匯編語言程序設計的應用面廣,涉及技術領域寬泛,要讓學生真正理解匯編語言程序設計的基礎理論知識,具備將匯編語言技術應用于社會實踐的能力,積極加強匯編語言程序設計課程的實驗環(huán)節(jié)是至關重要的。

        3把實驗作為課程的主要教學手段

        “匯編語言程序設計”課程一向都有上機實驗的教學要求,但教學主體是課堂教學,無論是實驗設計還是實驗強度都遠遠不夠,帶有強烈的“驗證性”色彩。然而,單憑課堂教學和一般作業(yè),要真正領會匯編語言程序設計課程所介紹的概念、原理、方法和技巧等,是很困難的。經驗表明,學習并真正體會和掌握匯編語言程序設計的最好方式是對它進行充分的實踐。把實驗作為學習匯編語言程序設計的主導方法,為學生提供了一個掌握匯編語言程序設計全新的學習方法,可以由此來體驗匯編語言程序設計的知識及其應用技巧。當然,通過實驗,也一定能夠很好地提高學生匯編語言程序設計能力。

        根據以上思考,我們在實驗內容的選擇、實驗步驟的設計和實驗文檔的組織等諸方面都做了精心的考慮和安排,嘗試為“匯編語言程序設計”課程編寫了《匯編語言程序設計實驗教程》教材。該實驗教材依據課程教學大綱,充分理解課程的大多數主教材,遵循課程教學的規(guī)律和節(jié)奏,體現了實驗的可操作性,幫助學生切實把握本課程的知識內涵和理論與實踐的水平。

        全部實驗結合目前廣泛使用的PC機Intel 80x86 CPU來開展教學,目的是通過一系列使用80x86和Windows環(huán)境下32位匯編語言的實驗練習,把匯編語言程序設計的概念和理論知識融入到實踐當中,從而加深對匯編語言程序設計的認識和理解。實驗練習幾乎覆蓋了匯編語言程序設計教學的各個方面 (見表1), 內容涉及匯編語言編程基礎、構建匯編語言編程環(huán)境、匯編語言程序設計、輸入輸出與中斷、Win32匯編語言程序設計及匯編語言與C/C++的混合編程等。

        表1實驗內容的分布

        實驗1:匯編語言編程基礎。包括匯編語言的計算環(huán)境、使用DEBUG調試工具、用DEBUG熟悉指令功能和尋址方式、用DEBUG熟悉Intel 80x86指令等實驗。通過實驗理解匯編語言程序設計的基本概念,了解Intel CPU的組成,熟悉8086/8088寄存器組、8086/8088存儲器組織、8086/8088標志等與匯編語言程序設計相關的基礎概念;了解匯編語言的應用領域和學科,了解匯編語言的發(fā)展和版本;通過因特網搜索與瀏覽,了解80x86匯編語言的計算環(huán)境,了解因特網網絡環(huán)境中主流的匯編語言程序設計技術網站;掌握通過專業(yè)網站不斷豐富匯編語言程序設計最新知識的學習方法,嘗試通過專業(yè)網站的輔助與支持來開展匯編語言程序設計的應用實踐;初步掌握調試程序DEBUG的使用,熟悉DEBUG常用命令,特別是D、R、E、A、U、T、G等命令的運用;利用調試程序DEBUG學習80x86 CPU的數據和轉移地址尋址方式,學習和掌握80x86微處理器的基本指令系統(tǒng)。

        實驗2:構建匯編語言編程環(huán)境。包括構建masm編程環(huán)境、匯編語言程序的格式等實驗。通過實驗學習建立匯編語言masm實驗環(huán)境,學習匯編語言程序的編輯、匯編、連接與調試操作;初步了解匯編語言程序設計,掌握匯編語言程序格式,熟悉匯編語言源程序的編輯和匯編、目標模塊的連接以及可執(zhí)行程序的調試。

        實驗3:匯編語言程序設計。包括匯編語言簡單程序設計、循環(huán)程序設計、分支程序設計、子程序設計和宏匯編程序設計等實驗。通過實驗熟悉匯編語言源程序的編輯和匯編、目標模塊的連接以及可執(zhí)行程序的調試,熟悉80x86 CPU的基本指令系統(tǒng);掌握編寫循環(huán)處理程序的方法及技巧,了解和掌握程序設計過程中算法的選擇;熟悉匯編語言中各種跳轉指令的功能和用法,學會用程序流程圖來分析和設計分支與多分支程序,了解和掌握程序設計過程中算法的選擇;了解匯編語言子程序的概念,掌握子程序的定義、調用和返回,掌握設計子程序及過程的基本方法;通過順序、循環(huán)和分支等結構來掌握匯編語言程序設計的主要方法,了解宏匯編、重復匯編、條件匯編和模塊化程序設計等匯編語言程序的概念,掌握宏匯編程序設計的基本方法。

        實驗4:輸入輸出與中斷。包括輸入輸出程序設計、中斷處理程序編寫、常用系統(tǒng)中斷——時鐘顯示、鍵盤和顯示器、使用鼠標的程序設計等實驗。通過實驗學習和了解匯編語言程序設計中輸入輸出的相關知識,掌握通過Windows的“設備管理器”了解計算機輸入輸出設備屬性的方法,學習直接輸入輸出端口程序設計方法,在了解揚聲器硬件端口及控制原理的基礎上,編寫簡易的聲音輸出程序;學習和了解匯編語言程序設計中有關中斷處理的相關知識,了解軟中斷的基本編寫步驟;通過對匯編語言時鐘顯示程序的分析,熟悉匯編語言輸入輸出程序設計的基本概念,熟悉和時間相關的系統(tǒng)中斷及調用;掌握在DOS和BIOS中對屏幕和鍵盤中斷的調用方法,了解對鼠標進行匯編語言程序設計的要求。

        實驗5:Win32匯編語言程序設計。包括32位微處理器與32位指令集、保護模式下的32位匯編語言程序設計等實驗。通過實模式/虛擬86模式下的32位匯編語言程序設計實驗,了解32位CPU結構及存儲管理的變化;通過編寫簡單的Win32實驗程序,了解和熟悉Win32編程環(huán)境、Win32匯編程序結構和開發(fā)過程。

        實驗6:匯編語言與C/C++的混合編程。包括C/C++程序與匯編語言程序的連接、嵌入匯編與模塊調用、匯編語言在Visual C++中的應用等實驗。通過實驗熟悉匯編語言與C/C++語言混合程序設計方法,了解嵌入式匯編和模塊調用匯編方法;學習匯編語言與Visual C++語言混合編程的知識,了解Visual C++嵌入式匯編方法和模塊調用匯編方法。

        實驗7:匯編語言程序設計實驗總結。全部實驗完成后,要求學生回顧所有實驗內容,進行一次系統(tǒng)的概括、評價和總結,以鞏固通過實驗所了解和掌握的匯編語言程序設計相關知識和技術。

        附錄:包括Intel 80x86指令系統(tǒng)、匯編語言MASM偽指令和操作符、中斷向量地址一覽、DOS系統(tǒng)功能調用 (INT 21H) 、BIOS功能調用和匯編出錯提示信息等內容。

        全書共21個實驗練習、1個實驗總結和1組附錄。各實驗練習之間的難度不斷增加,循序漸進,學生在實驗中遇到困難,還可以搜索更早的實驗來幫助解決問題。每個實驗中都包含背景知識介紹、所需的工具及準備工作和實驗指導等,以幫助學生加深對課程教材中所介紹概念的理解。每個實驗完成后,要求學生根據個人感受完成實驗總結;師生通過“實驗總結”和“教師評價”部分,交流對學科知識、實驗內容的理解與體會。

        4認識與提高

        毛澤東在其哲學著作《實踐論》中指出:“通過實踐而發(fā)現真理,又通過實踐而證實真理和發(fā)展真理。從感性認識而能動地發(fā)展到理性認識,又從理性認識而能動地指導革命實踐,改造主觀世界和客觀世界。實踐、認識、再實踐、再認識,這種形式,循環(huán)往復以至無窮,而實踐和認識之每一循環(huán)的內容,都比較地進到了高一級的程度。這就是辯證唯物論的全部認識論,這就是辯證唯物論的知行統(tǒng)一觀?!?/p>

        顯然,學生在“匯編語言程序設計”等課程中產生的學習困難,首先來自于他們對所學知識缺乏必要的感性認識,而我們在教學中采用“先做后說”的方法,把根據學科理論知識精心設計的實驗實踐環(huán)節(jié)與學科理論教學相融合,抓實驗實踐教學促進學科理論知識學習,較好地解決了學生的認知困難,符合特定的學生對象,取得了很好的教學效果。

        我們在“匯編語言程序設計”課程上所做的教改工作,尤其是針對實驗教學所做的工作,已經先后體現在如操作系統(tǒng)原理、軟件工程、多媒體技術、數據結構與算法、網頁設計與網站建設,甚至是信息資源管理、電子商務概論等課程中,真可謂“屢試屢爽”,積累了不少成功的教學經驗,也贏得了學生的廣泛好評,所編寫的系列實驗教程也得到了許多教師的積極評價。

        參考文獻:

        [1] 教育部計算機科學與技術專業(yè)教學指導分委員會.中國計算機本科專業(yè)發(fā)展戰(zhàn)略研究報告[R].

        [2] 劉均,周蘇,金海溶,等.匯編語言程序設計實驗教程[M].北京:科學出版社,2006.

        [3] 周蘇,王文,等.大學計算機專業(yè)基礎課程實驗教學的改革與創(chuàng)新.首屆大學計算機基礎課程報告論壇 (西安,2005) 論文集[C].北京:高等教育出版社,2005,194-198.

        [4] 周蘇,等.電子商務實驗教學的創(chuàng)新與發(fā)展.第三屆中美電子商務高級論壇論文集[C].北京:萬國學術出版社,2006,585-588.

        [5] 周蘇,王文.軟件工程實驗教學的設計與創(chuàng)新[J].計算機教育,2006,(10):27-29.

        [6] 周蘇,王文.信息資源管理教學改革與實驗創(chuàng)新[J].信息技術與信息化,2006,(5).

        [8] 周蘇,金海溶. 操作系統(tǒng)原理的教改思路與實驗創(chuàng)新.第二屆大學計算機課程報告論壇 (南京,2006) 論文集[C].北京:高等教育出版社,2006.

        投稿日期:2006-11-10

        作者簡介:周蘇,男,蘇州人,教授。

        日本一级淫片免费啪啪| 精品久久久久久中文字幕| 国产综合色在线视频| 加勒比亚洲视频在线播放| 国产av在线观看一区二区三区| 亚洲精品久久久www小说| 精品一区二区三区在线观看| 久久久久久久久中文字幕| va精品人妻一区二区三区| 欧美成人www在线观看| 久久发布国产伦子伦精品| 亚洲精品亚洲人成在线播放| 加勒比av在线一区二区| 国产精品久久久久一区二区三区| 无套内谢的新婚少妇国语播放| 国产精品98视频全部国产| 视频区一区二在线观看| 夜夜爽妓女8888888视频| 国产96在线 | 亚洲| 青青草免费高清视频在线观看| 亚洲精品有码日本久久久| 无码人妻av免费一区二区三区| 精品国产免费Av无码久久久| 中文字幕久久国产精品| 无码国产精品一区二区免费式芒果 | 久久无码一一区| 91久久国产露脸国语对白| 麻豆国产精品va在线观看不卡| 亚洲欧美日韩综合久久| 色窝综合网| 亚洲成人av在线蜜桃| 人妻丰满熟妇av无码区hd| 精品中文字幕制服中文| 亚洲精品成人一区二区三区| 国产精品av在线| 日韩精品中文字幕无码专区| 久久夜色精品国产亚洲av老牛 | 日韩国产自拍视频在线观看| 国产精品国产三级国产专播| 中文无码成人免费视频在线观看 | 国产 麻豆 日韩 欧美 久久|