一二三区在线播放国内精品自产拍,亚洲欧美久久夜夜综合网,亚洲福利国产精品合集在线看,香蕉亚洲一级国产欧美

  • 期刊 科普 SCI期刊 投稿技巧 學(xué)術(shù) 出書(shū) 購(gòu)物車(chē)

    首頁(yè) > 優(yōu)秀范文 > 匯編語(yǔ)言程序設(shè)計(jì)

    匯編語(yǔ)言程序設(shè)計(jì)樣例十一篇

    時(shí)間:2023-03-08 15:38:53

    序論:速發(fā)表網(wǎng)結(jié)合其深厚的文秘經(jīng)驗(yàn),特別為您篩選了11篇匯編語(yǔ)言程序設(shè)計(jì)范文。如果您需要更多原創(chuàng)資料,歡迎隨時(shí)與我們的客服老師聯(lián)系,希望您能從中汲取靈感和知識(shí)!

    篇1

    中圖分類(lèi)號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2011)09-2111-02

    Teaching Thinking of Assembly Language Programming Course

    LUO Xing

    (Hanshan Normal University, Hanshan 521041, China)

    Abstract: This paper discusses the problem appear in teaching of assembly language programming course, propose some methods to improve student's ability to master the knowledge and learning interest. Discuss the assembly language teaching in Win32 platfrom in the last.

    Key words: assembly language programming; teaching improvement

    1 匯編語(yǔ)言程序設(shè)計(jì)課程教學(xué)現(xiàn)狀

    匯編語(yǔ)言程序設(shè)計(jì)作為一門(mén)計(jì)算機(jī)專(zhuān)業(yè)的課程,其存在的合理性在近年受到爭(zhēng)議。有些人認(rèn)為,匯編語(yǔ)言作為一種低級(jí)語(yǔ)言,指令繁多,難以掌握。另外,編程效率也不高,一個(gè)高級(jí)語(yǔ)言用一條語(yǔ)句實(shí)現(xiàn)的功能,在匯編語(yǔ)言中需要很多條指令才能實(shí)現(xiàn)。此外,匯編語(yǔ)言在時(shí)間上和空間上的優(yōu)勢(shì)由于高速CPU和大容量存儲(chǔ)器的出現(xiàn),也變得意義不大。

    我認(rèn)為學(xué)習(xí)匯編語(yǔ)言仍然具有重要意義??梢詺w納如下:

    1) 可以比較深入了解計(jì)算機(jī)硬件的底層工作原理,例如:CPU的工作模式,寄存器的概念,內(nèi)存的尋址方式,中斷的工作原理等。

    2) 熟悉各種數(shù)據(jù)表示方法。如各種數(shù)制的轉(zhuǎn)化,各種類(lèi)型的數(shù)據(jù)在內(nèi)存中的存儲(chǔ)方式。學(xué)生在系統(tǒng)學(xué)習(xí)匯編語(yǔ)言程序設(shè)計(jì)這門(mén)課程后,對(duì)二進(jìn)制,十進(jìn)制以及十六進(jìn)制相互間的轉(zhuǎn)換應(yīng)該非常熟練。對(duì)數(shù)據(jù)在內(nèi)存中兩種排列方式即大端方式(Big Endian,低地址存放高位字節(jié))與小端方式(Little Endian,低地址存放低位字節(jié))有清晰的理解。而這些相關(guān)的概念的牢固掌握對(duì)高級(jí)語(yǔ)言中的數(shù)據(jù)類(lèi)型以及計(jì)算機(jī)網(wǎng)絡(luò)編程的學(xué)習(xí)具有很大的幫助。

    3) 通過(guò)匯編語(yǔ)言編程學(xué)習(xí),可以促進(jìn)對(duì)高級(jí)編程語(yǔ)言相關(guān)概念的理解。高級(jí)語(yǔ)言在編譯的時(shí)候,一般都是先生成匯編代碼,然后再生成的二進(jìn)制代碼。所以,通過(guò)對(duì)比分析匯編代碼與高級(jí)語(yǔ)言代碼的實(shí)現(xiàn)方式,對(duì)程序的執(zhí)行效率,數(shù)據(jù)在內(nèi)存中存放方式,堆棧的概念,函數(shù)的調(diào)用及參數(shù)傳遞的方式等都會(huì)有進(jìn)一步的了解。

    在教學(xué)中,我也遇到一些問(wèn)題。一方面就是學(xué)生的積極性不高。主要原因包括:指令很多,難以記憶。對(duì)于幾個(gè)大類(lèi)的指令,如果每次課上一類(lèi),學(xué)生課后如果不進(jìn)行主動(dòng)復(fù)習(xí),往往到下一次課的時(shí)候,就會(huì)忘記前面所學(xué)的內(nèi)容或者發(fā)生混淆。另外,在學(xué)習(xí)匯編課程之前,他們已經(jīng)學(xué)過(guò)一門(mén)高級(jí)語(yǔ)言,如C/C++等,匯編語(yǔ)言的學(xué)習(xí)方式與高級(jí)語(yǔ)言的學(xué)習(xí)方式有所不同,高級(jí)語(yǔ)言比較容易上機(jī)練習(xí),也容易對(duì)程序運(yùn)行結(jié)果驗(yàn)證,對(duì)于開(kāi)發(fā)實(shí)用軟件也相對(duì)容易,所以學(xué)生的興趣比較大。而匯編語(yǔ)言一方面涉及到底層的硬件概念,比較難以理解,另一方面上機(jī)也比較困難,可以這么說(shuō),如果按照課本的順序講課,要到差不多講完課,學(xué)生才可以上機(jī)完成一個(gè)功能比較完整的程序。

    2 促進(jìn)學(xué)生對(duì)知識(shí)的掌握

    要解決這些問(wèn)題,我認(rèn)為要在學(xué)生的知識(shí)掌握方式以及學(xué)習(xí)興趣的培養(yǎng)上下功夫。對(duì)于知識(shí)的掌握,除了每次新課內(nèi)容講完后,精心給學(xué)生布置作業(yè)習(xí)題之外。還應(yīng)該注意到由于匯編語(yǔ)言的指令及相關(guān)的知識(shí)點(diǎn)很多,對(duì)于剛接觸這門(mén)課程的學(xué)生一開(kāi)始往往不大適應(yīng),容易混淆前面學(xué)過(guò)的內(nèi)容,所以教師及時(shí)對(duì)所學(xué)過(guò)知識(shí)點(diǎn)進(jìn)行比較和總結(jié)就很有必要。此外還應(yīng)該定期對(duì)學(xué)生的學(xué)習(xí)效果進(jìn)行檢測(cè),從過(guò)去的教學(xué)經(jīng)驗(yàn)看,匯編語(yǔ)言這門(mén)課程是學(xué)生比較容易與教師的教學(xué)進(jìn)度脫離的一門(mén)課程,不少學(xué)生在一開(kāi)始由于在掌握知識(shí)遇到困難,問(wèn)題越積越多,最終可能放棄聽(tīng)課。在檢測(cè)的方法上,可以借助網(wǎng)上考試系統(tǒng)。教師可以自主出題,也可以讓系統(tǒng)自動(dòng)出題。通過(guò)分析學(xué)生的測(cè)試結(jié)果,教師可以及時(shí)調(diào)整教學(xué)進(jìn)度,學(xué)生也會(huì)有一定的學(xué)習(xí)壓力,使他們花更多時(shí)間查補(bǔ)缺漏的知識(shí)。

    程序設(shè)計(jì)學(xué)習(xí)的最佳方法就是上機(jī)實(shí)踐。匯編語(yǔ)言上機(jī)練習(xí)跟高級(jí)語(yǔ)言的上機(jī)練習(xí)相比,對(duì)于學(xué)生來(lái)說(shuō)比較困難。一方面是由于一個(gè)完整的匯編程序涉及的知識(shí)點(diǎn)很多,而教材往往按知識(shí)點(diǎn)分類(lèi)進(jìn)行編排。所以學(xué)生要想在剛開(kāi)始學(xué)習(xí)階段,就編出完整的程序有一定的難度。另一方面,匯編程序的運(yùn)行結(jié)果較難在屏幕上輸出,匯編語(yǔ)言只有字符與字符串的輸入輸出,對(duì)于一道簡(jiǎn)單的算術(shù)運(yùn)算題目,其結(jié)果的輸出都要通過(guò)一大段的轉(zhuǎn)換程序來(lái)實(shí)現(xiàn)。對(duì)于第一個(gè)問(wèn)題,教師可以對(duì)教材內(nèi)容進(jìn)行選講,把實(shí)驗(yàn)所涉及到的知識(shí)點(diǎn)先進(jìn)行講解。對(duì)于第二個(gè)問(wèn)題, 我認(rèn)為應(yīng)該重點(diǎn)培養(yǎng)學(xué)生熟練使用調(diào)試工具的能力,通過(guò)掌握調(diào)試工具如DEBUG,CV等的使用,一方面學(xué)生可以直接觀察程序的運(yùn)行結(jié)果,另一方面,對(duì)于程序的邏輯錯(cuò)誤也可以進(jìn)行跟蹤、分析以及解決。此外,由于匯編語(yǔ)言作為一種低級(jí)語(yǔ)言,編程都由一條條指令進(jìn)行構(gòu)造,所以相對(duì)繁瑣,應(yīng)盡早讓學(xué)生應(yīng)用模塊化思路,掌握子程序及宏的使用方法。這樣把一些常用功能做成模塊,如輸入輸出功能,以后學(xué)生在編程的時(shí)候就可以直接調(diào)用這些模塊,從而專(zhuān)注于實(shí)驗(yàn)的其它方面。

    3 提高學(xué)生的學(xué)習(xí)積極性

    對(duì)于如何提高學(xué)生的學(xué)習(xí)興趣,我認(rèn)為主要讓學(xué)生意識(shí)到匯編語(yǔ)言的作用。一方面可以引入一些接口技術(shù)相關(guān)內(nèi)容,使學(xué)生熟練掌握中斷的概念以及I/O指令,然后上機(jī)編寫(xiě)中斷程序,在中斷控制器(8259A)進(jìn)行驗(yàn)證,由于這些實(shí)驗(yàn)有按鍵輸入,有屏幕輸出,還能直接看到程序控制設(shè)備的效果,所以學(xué)生興趣會(huì)比較大。此外,教師也可以適當(dāng)拓展一些知識(shí),如嵌入式編程相關(guān)概念,有興趣的同學(xué)可以在課后自主進(jìn)行學(xué)習(xí)。另外,由于不少學(xué)生對(duì)硬盤(pán)相關(guān)的問(wèn)題感興趣,比如硬盤(pán)數(shù)據(jù)的存放方式,數(shù)據(jù)的修復(fù)等??梢砸龑?dǎo)學(xué)生對(duì)這些問(wèn)題進(jìn)行思考,然后通過(guò)匯編語(yǔ)言提供的I/O指令和中斷子功能,編程實(shí)現(xiàn)對(duì)硬盤(pán)的MBR,文件分配表等數(shù)據(jù)結(jié)構(gòu)的讀取,備份,修復(fù)等功能。教師通過(guò)布置一些學(xué)生比較感興趣的課外作業(yè),并適當(dāng)提供協(xié)助,往往能提高學(xué)生的學(xué)習(xí)積極性。

    另外,在匯編語(yǔ)言的學(xué)習(xí)過(guò)程中,教師應(yīng)該有意識(shí)引導(dǎo)學(xué)生將匯編語(yǔ)言與高級(jí)語(yǔ)言的各個(gè)對(duì)應(yīng)的部分進(jìn)行比較。學(xué)生在學(xué)習(xí)匯編語(yǔ)言之前,通常已經(jīng)學(xué)過(guò)一門(mén)高級(jí)語(yǔ)言,如C/C++等。高級(jí)語(yǔ)言在編譯的時(shí)候,一般是先轉(zhuǎn)換成匯編代碼,所以它們具有相通性。大部分學(xué)生編寫(xiě)應(yīng)用程序的時(shí)候是用高級(jí)語(yǔ)言,所以通過(guò)比較分析高級(jí)語(yǔ)言與低級(jí)語(yǔ)言在數(shù)據(jù)定義,程序流程控制,函數(shù)的定義及調(diào)用等的對(duì)應(yīng)部分內(nèi)容,對(duì)于學(xué)生更好的使用高級(jí)語(yǔ)言編寫(xiě)程序是很有幫助的。比如:匯編語(yǔ)言里有分段的概念,一般把變量定義到數(shù)據(jù)段,把代碼定義的代碼段。而C語(yǔ)言是把數(shù)據(jù)與代碼都定義在一起,那么C語(yǔ)言編寫(xiě)的程序在編譯成可執(zhí)行文件后,它的全局變量,局部變量的空間是如何分配的。另外,對(duì)于動(dòng)態(tài)內(nèi)存分配,堆與棧的區(qū)別在哪里。還有函數(shù)的定義與調(diào)用,參數(shù)的傳遞順序是如何的?這些疑問(wèn),都可以讓學(xué)生編寫(xiě)簡(jiǎn)單的C語(yǔ)言程序,生成可執(zhí)行文件后,然后通過(guò)調(diào)試工具進(jìn)行反匯編進(jìn)行分析。此外,在利用VC++,Dephi等IDE開(kāi)發(fā)工具進(jìn)行程序編寫(xiě)時(shí),都會(huì)用到里面的調(diào)試功能?;旧险{(diào)試功能都會(huì)包括反匯編與內(nèi)存查看的功能,教師可以引導(dǎo)學(xué)生進(jìn)行這方面的訓(xùn)練,使他們?cè)谝院缶幊虝r(shí)能熟練應(yīng)用這個(gè)工具解決一些疑難問(wèn)題,例如:內(nèi)存非法訪問(wèn),指針的非法引用等。

    4 Win32平臺(tái)下的匯編語(yǔ)言教學(xué)思考

    目前很多高校在匯編程序設(shè)計(jì)教學(xué)中講解的是8088/8086 CPU實(shí)模式環(huán)境,實(shí)際上是虛擬8086模式,因?yàn)檎嬲膶?shí)模式工作DOS下,而現(xiàn)在匯編語(yǔ)言實(shí)驗(yàn)環(huán)境都是在windows 2000以上。由于現(xiàn)在大部分CPU都是32位以上,并且是工作上保護(hù)模式之上,此外這些CPU的寄存器類(lèi)型以及尋址方式都已經(jīng)發(fā)生較大變化。所以教師有必要對(duì)實(shí)模式與保護(hù)模式在邏輯地址轉(zhuǎn)化為物理地址的方式的差異,還有16位與32位的指令在用法的不同點(diǎn)進(jìn)行重點(diǎn)講解。因?yàn)閰R編語(yǔ)言現(xiàn)在的實(shí)際應(yīng)用基本上采用工作于保護(hù)模式的Win32平臺(tái),在Windows操作系統(tǒng)控制下,匯編語(yǔ)言雖然不能再直接存取硬件,但是能通過(guò)調(diào)用系統(tǒng)提供的API函數(shù)完成各種功能。其實(shí)這里的API函數(shù)當(dāng)于DOS下的中斷調(diào)用,但是Window API函數(shù)無(wú)論從數(shù)量上、功能上還是易用性上都大大超過(guò)了DOS或BIOS的中斷調(diào)用功能。所以現(xiàn)在在Win32平臺(tái)下,匯編語(yǔ)言就像高級(jí)語(yǔ)言一樣,可以方便的開(kāi)發(fā)各種Windows應(yīng)用程序。有些教師認(rèn)為,既然在實(shí)模式講解匯編語(yǔ)言很少涉及實(shí)用性,那就應(yīng)該直接遷移到Win32匯編平臺(tái),講解用匯編語(yǔ)言開(kāi)發(fā)的Windows應(yīng)用程序設(shè)計(jì)實(shí)例,從而提高學(xué)生積極性。我認(rèn)為如果采用這種教學(xué)方法,可能會(huì)存在以下問(wèn)題:首先由于上課時(shí)間有限,學(xué)生需要大量的時(shí)間才能熟練掌握各類(lèi)指令,匯編語(yǔ)言的語(yǔ)法,程序結(jié)構(gòu)等方面的知識(shí)。如果過(guò)多涉及Windows程序設(shè)計(jì)實(shí)例,對(duì)于不熟悉Windows編程機(jī)制的學(xué)生的來(lái)說(shuō),又多了一個(gè)不小的學(xué)習(xí)負(fù)擔(dān),這樣子反而影響了匯編語(yǔ)言基礎(chǔ)知識(shí)的掌握。另外,DOS下的實(shí)模式與Window下的保護(hù)模式下的編程在本質(zhì)上并無(wú)很大的區(qū)別,只要學(xué)生熟練掌握各類(lèi)指令用法,理解16位與32位的指令及尋址方式的區(qū)別,邏輯地址與物理地址轉(zhuǎn)換機(jī)制等知識(shí),他們就可以通過(guò)自主學(xué)習(xí),較容易的掌握用匯編語(yǔ)言進(jìn)行Win32應(yīng)用程序的開(kāi)發(fā)。對(duì)于教師,除了幫學(xué)生打好匯編語(yǔ)言的基礎(chǔ),可以適當(dāng)以課外作業(yè)的形式,引入一些匯編語(yǔ)言在不同應(yīng)用領(lǐng)域的簡(jiǎn)單實(shí)例,如加密與解密,軟件的逆向工程等,這些課外作業(yè)的完成對(duì)學(xué)生匯編語(yǔ)言的應(yīng)用能力的提高將會(huì)有不小的幫助。

    5 結(jié)束語(yǔ)

    匯編語(yǔ)言難教難學(xué)是教師與學(xué)生的共識(shí),但是作為計(jì)算機(jī)科學(xué)中一門(mén)低級(jí)程序設(shè)計(jì)語(yǔ)言,通過(guò)對(duì)它的良好掌握,確實(shí)可以促進(jìn)對(duì)計(jì)算機(jī)軟硬件底層的了解,而這又能促進(jìn)編程能力的提高。作為教師,在教學(xué)中應(yīng)該不斷嘗新的教學(xué)方法,不斷積累經(jīng)驗(yàn),只有這樣,才能把這門(mén)課上好。

    篇2

    與其它高級(jí)語(yǔ)言相比,匯編語(yǔ)言存在指令繁多、尋址方式多樣、程序可讀性差、編程效率不高等缺點(diǎn),這使得學(xué)生對(duì)該課程的重要性認(rèn)識(shí)不足。此外,學(xué)生的學(xué)習(xí)目的相當(dāng)務(wù)實(shí),有些學(xué)生認(rèn)為即便是在計(jì)算機(jī)應(yīng)用場(chǎng)合,使用匯編語(yǔ)言的可能性也很小,所以怕苦怕難,沒(méi)有學(xué)習(xí)這門(mén)課的積極性。實(shí)際上,只有通過(guò)學(xué)習(xí)匯編語(yǔ)言,學(xué)生才能深入了解計(jì)算機(jī)的硬件和軟件,從朦朧的計(jì)算機(jī)世界中走出來(lái),進(jìn)而理解編譯和解釋程序,在審視高級(jí)語(yǔ)言的時(shí)候,才能夠透徹地理解最根本的計(jì)算機(jī)技術(shù)[1]。所以,不了解匯編語(yǔ)言, 不僅會(huì)導(dǎo)致學(xué)生認(rèn)知水平降低,編程開(kāi)發(fā)手段貧乏,更會(huì)導(dǎo)致學(xué)生的知識(shí)結(jié)構(gòu)失衡。

    2實(shí)驗(yàn)教學(xué)在《匯編語(yǔ)言程序設(shè)計(jì)》教學(xué)中的作用在培養(yǎng)人的科學(xué)思維、創(chuàng)新意識(shí),掌握科學(xué)方法、提高綜合實(shí)踐能力方面,實(shí)踐環(huán)節(jié)有著重要的作用,是課堂理論教學(xué)無(wú)法替代的。實(shí)驗(yàn)課是進(jìn)行實(shí)踐教學(xué)的重要學(xué)習(xí)場(chǎng)地,學(xué)生通過(guò)對(duì)實(shí)驗(yàn)內(nèi)容的思考,對(duì)課堂上的理論知識(shí)進(jìn)行了鞏固;實(shí)驗(yàn)過(guò)程中的操作,可以發(fā)現(xiàn)理論教學(xué)的不足;實(shí)驗(yàn)過(guò)后的心得分析,為以后解決實(shí)際問(wèn)題打下堅(jiān)實(shí)基礎(chǔ)。實(shí)驗(yàn)還可以將算法的實(shí)現(xiàn)和計(jì)算機(jī)的操作過(guò)程相結(jié)合,使學(xué)生體會(huì)到算法的邏輯含義是通過(guò)計(jì)算機(jī)的實(shí)際執(zhí)行過(guò)程實(shí)現(xiàn)的[2]。

    匯編語(yǔ)言與硬件關(guān)系密切,通過(guò)實(shí)驗(yàn)課,學(xué)生可以更好地理解cpu、寄存器、存儲(chǔ)器、接口及外部設(shè)備的工作原理。《匯編語(yǔ)言程序設(shè)計(jì)》課程的實(shí)驗(yàn)是培養(yǎng)學(xué)生的動(dòng)手能力、增強(qiáng)學(xué)生的學(xué)習(xí)興趣、提高學(xué)生閱讀、編輯和調(diào)試程序能力的關(guān)鍵環(huán)節(jié)。

    3實(shí)驗(yàn)教學(xué)中存在的問(wèn)題

    3.1教學(xué)內(nèi)容安排方面

    計(jì)算機(jī)語(yǔ)言課程的學(xué)習(xí)需要理論聯(lián)系實(shí)踐,實(shí)驗(yàn)課是學(xué)好計(jì)算機(jī)語(yǔ)言的必備條件,匯編語(yǔ)言的學(xué)習(xí)亦是如此,實(shí)驗(yàn)課程開(kāi)始越早對(duì)學(xué)生的學(xué)習(xí)越有利。《匯編語(yǔ)言程序設(shè)計(jì)》這門(mén)課程的教材安排順序一般是:基礎(chǔ)知識(shí)、計(jì)算機(jī)系統(tǒng)的組織、匯編要素、基本指令、程序設(shè)計(jì)、輸入/輸出、系統(tǒng)調(diào)用、高級(jí)匯編語(yǔ)言技術(shù)。實(shí)驗(yàn)教學(xué)往往是配合理論教學(xué)進(jìn)行,通常在理論課程第5~7周后,實(shí)驗(yàn)課才得以開(kāi)設(shè)。這樣的教學(xué)安排效果并不理想,在實(shí)驗(yàn)課程開(kāi)設(shè)的前幾周不利于學(xué)生很好地掌握學(xué)習(xí)內(nèi)容,從而對(duì)匯編語(yǔ)言產(chǎn)生厭學(xué)情緒。

    高等院校普遍存在對(duì)專(zhuān)業(yè)課程的課時(shí)進(jìn)行壓縮的現(xiàn)象,使得《匯編語(yǔ)言程序設(shè)計(jì)》的理論課時(shí)和實(shí)驗(yàn)課時(shí)都有不同程度的壓縮,實(shí)驗(yàn)課時(shí)的壓縮相對(duì)于理論課時(shí)更加嚴(yán)重,導(dǎo)致實(shí)驗(yàn)內(nèi)容的安排不能覆蓋該課程的重點(diǎn),而且重點(diǎn)實(shí)驗(yàn)內(nèi)容也相對(duì)淺顯,無(wú)法進(jìn)行深入研究。

    另外,有些教師圍繞課本基礎(chǔ)結(jié)構(gòu)部分的知識(shí)講授,沒(méi)有結(jié)合實(shí)際應(yīng)用進(jìn)行擴(kuò)展,對(duì)實(shí)驗(yàn)內(nèi)容的設(shè)計(jì)也比較淺顯,無(wú)法激起學(xué)生的興趣。這些行為都導(dǎo)致了學(xué)生對(duì)匯編語(yǔ)言的學(xué)習(xí)興趣降低甚至放棄。

    3.2學(xué)生態(tài)度不夠端正

    很多學(xué)生認(rèn)為實(shí)驗(yàn)課不重要,實(shí)驗(yàn)做得好否對(duì)最終的成績(jī)判斷沒(méi)有關(guān)聯(lián)。目前多數(shù)院校的學(xué)生學(xué)習(xí)成績(jī)判定, 以期末考試成績(jī)?yōu)橹?,這就使得很多學(xué)生重理論、輕實(shí)驗(yàn)。另外,匯編語(yǔ)言不像其它高級(jí)語(yǔ)言那樣應(yīng)用廣泛,學(xué)生認(rèn)為其對(duì)就業(yè)幫助不大,從思想上輕視匯編語(yǔ)言,對(duì)《匯編語(yǔ)言程序設(shè)計(jì)》的實(shí)驗(yàn)課程更是不愿付出精力,甚至出現(xiàn)拷貝代碼的現(xiàn)象。

    3.3考核體系不明確

    匯編語(yǔ)言的實(shí)驗(yàn)教學(xué)環(huán)節(jié)沒(méi)有受到足夠的重視,導(dǎo)致沒(méi)有明確的評(píng)價(jià)體系。在進(jìn)行實(shí)驗(yàn)課時(shí),有些教師只是布置了相關(guān)的實(shí)驗(yàn)內(nèi)容,實(shí)驗(yàn)過(guò)程沒(méi)有進(jìn)行必要的監(jiān)督和輔導(dǎo),導(dǎo)致學(xué)生對(duì)實(shí)驗(yàn)教學(xué)態(tài)度怠慢,出現(xiàn)學(xué)生在實(shí)驗(yàn)課上玩游戲和課下實(shí)驗(yàn)報(bào)告抄襲的現(xiàn)象。

    4提高匯編語(yǔ)言實(shí)驗(yàn)教學(xué)效果的措施

    4.1合理設(shè)置實(shí)驗(yàn)內(nèi)容

    實(shí)驗(yàn)課的內(nèi)容按照由淺入深、循序漸進(jìn)的方式進(jìn)行,以啟發(fā)思維為主。對(duì)設(shè)計(jì)型、綜合型實(shí)驗(yàn)只要能達(dá)到實(shí)驗(yàn)?zāi)康?,其?shí)驗(yàn)過(guò)程和步驟可以多樣,通過(guò)實(shí)驗(yàn)課復(fù)習(xí)理論知識(shí),引出欲

    講解的新內(nèi)容。針對(duì)學(xué)期初不安排實(shí)驗(yàn)的問(wèn)題,可以嘗試開(kāi)展“先實(shí)驗(yàn)后理論”的教學(xué),在實(shí)驗(yàn)中理解基礎(chǔ)理論,加大實(shí)驗(yàn)課的比例并且及早實(shí)行開(kāi)展實(shí)驗(yàn)教學(xué),在整個(gè)教學(xué)過(guò)程中實(shí)行以“學(xué)生動(dòng)手為主,教師講解為輔”的教學(xué)模式[3]。

    4.2引入新的實(shí)驗(yàn)教學(xué)模式,培養(yǎng)學(xué)生學(xué)習(xí)興趣

    實(shí)驗(yàn)教學(xué)中要充分調(diào)動(dòng)學(xué)生的積極性,照顧不同層次的學(xué)生。匯編語(yǔ)言指令繁瑣,初始使用時(shí)比較抽象,學(xué)生對(duì)待實(shí)驗(yàn)內(nèi)容往往無(wú)從下手,所以任課教師應(yīng)該先對(duì)實(shí)驗(yàn)內(nèi)容進(jìn)行講解。起初的實(shí)驗(yàn)內(nèi)容,教師應(yīng)該進(jìn)行詳細(xì)的演示,可以先引導(dǎo)學(xué)生“臨摹”,避免學(xué)生出現(xiàn)無(wú)從下手、喪失信心等問(wèn)題。后面的實(shí)驗(yàn)內(nèi)容可以進(jìn)行講解并提示實(shí)驗(yàn)方法,但不要求每個(gè)學(xué)生都按照此方法進(jìn)行實(shí)驗(yàn),鼓勵(lì)學(xué)生創(chuàng)新,并在考核中給予一定的獎(jiǎng)勵(lì)。每次實(shí)驗(yàn)內(nèi)容,任課教師都要進(jìn)行總結(jié),以解決學(xué)生在實(shí)驗(yàn)過(guò)程中的“通病”。

    《匯編語(yǔ)言程序設(shè)計(jì)》的實(shí)驗(yàn)一般設(shè)置16~24學(xué)時(shí),存在實(shí)驗(yàn)學(xué)時(shí)偏少的問(wèn)題。為了盡可能提高實(shí)驗(yàn)效率,教師可以提前給學(xué)生布置實(shí)驗(yàn)內(nèi)容,給學(xué)生留出時(shí)間準(zhǔn)備。如果在實(shí)驗(yàn)課上臨時(shí)給出實(shí)驗(yàn)內(nèi)容,大多數(shù)學(xué)生無(wú)法按時(shí)完成實(shí)驗(yàn)?zāi)繕?biāo),會(huì)打擊學(xué)生學(xué)習(xí)的積極性。對(duì)實(shí)驗(yàn)內(nèi)容進(jìn)行準(zhǔn)備后再上機(jī)操作,大多數(shù)學(xué)生就可以在規(guī)定的時(shí)間內(nèi)完成實(shí)驗(yàn)。學(xué)生在上機(jī)的過(guò)程中獲得了成就感,樹(shù)立了信心,就會(huì)產(chǎn)生學(xué)習(xí)興趣,并主動(dòng)在課下花時(shí)間鉆研有關(guān)課程實(shí)驗(yàn)的內(nèi)容。

    為了培養(yǎng)學(xué)生的團(tuán)隊(duì)合作精神,也可以設(shè)計(jì)一些綜合應(yīng)用實(shí)驗(yàn),讓學(xué)生分組完成。每組選出一位組長(zhǎng),負(fù)責(zé)組織學(xué)生課下進(jìn)行實(shí)驗(yàn)內(nèi)容的預(yù)習(xí)、實(shí)驗(yàn)方案的制定和課上組員提出問(wèn)題的解決方案等工作。教師在進(jìn)行實(shí)驗(yàn)考核時(shí),要對(duì)每個(gè)組的完成情況進(jìn)行總結(jié),對(duì)于完成較好的組,給予成員一定的加分,以鼓勵(lì)學(xué)生注重團(tuán)隊(duì)合作精神,培養(yǎng)學(xué)生的學(xué)習(xí)興趣。

    4.3建立嚴(yán)格的考核體系

    《匯編語(yǔ)言程序設(shè)計(jì)》課程一般需要16~18個(gè)教學(xué)周才能完成教學(xué)任務(wù),在這段時(shí)間內(nèi),很少有學(xué)生能對(duì)其一直保持較高的學(xué)習(xí)熱情,大部分學(xué)生都是以成績(jī)驅(qū)動(dòng)自己的學(xué)習(xí),所以需要一套嚴(yán)謹(jǐn)?shù)膶?shí)驗(yàn)考核體系,公平公正地評(píng)價(jià)學(xué)生的實(shí)驗(yàn)過(guò)程[4]。筆者學(xué)校的實(shí)驗(yàn)課程成績(jī)由學(xué)生出勤、預(yù)習(xí)、實(shí)驗(yàn)操作過(guò)程和實(shí)驗(yàn)報(bào)告4部分組成,涵蓋了學(xué)生實(shí)驗(yàn)上機(jī)的全過(guò)程。各部分的比例按10%、20%、40%、30%的權(quán)重計(jì)算實(shí)驗(yàn)總成績(jī)。除了出勤情況外,預(yù)習(xí)、實(shí)驗(yàn)操作過(guò)程和實(shí)驗(yàn)報(bào)告這3部分按等級(jí)評(píng)定,每個(gè)等級(jí)對(duì)應(yīng)的分?jǐn)?shù)為: a(90~100)、b(80~89)、c(70~79)、d(60~69)、e(50);對(duì)于前4個(gè)等級(jí),教師可根據(jù)學(xué)生完成的情況給出該等級(jí)的加減等級(jí)。以a等級(jí)為例,a+對(duì)應(yīng)100分,a對(duì)應(yīng)95分,a-對(duì)應(yīng)90分,這樣每個(gè)等級(jí)都有對(duì)應(yīng)的分?jǐn)?shù),可以做到客觀地評(píng)價(jià)學(xué)生的實(shí)驗(yàn)過(guò)程。

    5結(jié)語(yǔ)

    本文根據(jù)筆者的教學(xué)實(shí)踐,分析了《匯編語(yǔ)言程序設(shè)計(jì)》課程的教學(xué)現(xiàn)狀,指出了實(shí)驗(yàn)教學(xué)在《匯編語(yǔ)言程序設(shè)計(jì)》教學(xué)過(guò)程中的重要性,并對(duì)匯編語(yǔ)言的實(shí)驗(yàn)教學(xué)進(jìn)行了深入的分析和思考。根據(jù)實(shí)際情況提出了幾點(diǎn)可行的措施,即合理安排實(shí)驗(yàn)內(nèi)容,引入新的實(shí)驗(yàn)教學(xué)模式和建立嚴(yán)格的考核體系,從而達(dá)到發(fā)掘?qū)W生潛能、提高實(shí)踐動(dòng)手能力、增強(qiáng)學(xué)習(xí)匯編語(yǔ)言興趣等目的。《匯編語(yǔ)言程序設(shè)計(jì)》課程的實(shí)驗(yàn)教學(xué)還需要廣大教師積極探索,引入多種符合實(shí)際的教學(xué)方法,使匯編語(yǔ)言對(duì)計(jì)算機(jī)專(zhuān)業(yè)課程后續(xù)的學(xué)習(xí)發(fā)揮應(yīng)有的作用。

    參考文獻(xiàn)參考文獻(xiàn):

    \[1\]劉正紅.對(duì)匯編語(yǔ)言實(shí)驗(yàn)教學(xué)的幾點(diǎn)看法[j].信息與電腦,2012(6):198199.

    [2]木林.《匯編語(yǔ)言程序設(shè)計(jì)》實(shí)驗(yàn)教學(xué)的探討[j].呼倫貝爾學(xué)院學(xué)報(bào),2012 (4):9295.

    [3]張學(xué),陸慶.匯編語(yǔ)言實(shí)驗(yàn)教學(xué)的思考[j].教學(xué)研究,2009(15):8182.

    [4]侯宏霞.提高匯編語(yǔ)言課程實(shí)驗(yàn)教學(xué)質(zhì)量的幾點(diǎn)思考[j].內(nèi)蒙古農(nóng)業(yè)大學(xué)學(xué)報(bào):社會(huì)科學(xué)版,2011(13):173174.

    篇3

    匯編語(yǔ)言作為一種用助記符表示的面向機(jī)器的符號(hào)語(yǔ)言,如何認(rèn)識(shí)該課程的作用和地位,如何取得更好的教學(xué)效果?在長(zhǎng)期從事該課程的教學(xué)過(guò)程中,筆者嘗試各種提高該課程教學(xué)質(zhì)量的探索,有些體會(huì),供大家參考。

    1 目前《匯編語(yǔ)言程序設(shè)計(jì)課程》的教學(xué)狀況

    匯編語(yǔ)言是面向機(jī)器的一種符號(hào)語(yǔ)言,它與機(jī)器的結(jié)構(gòu)密切相關(guān),是直接針對(duì)CPU、內(nèi)存和I/O端口編程的程序設(shè)計(jì)語(yǔ)言。而目前的各種高級(jí)語(yǔ)言和網(wǎng)絡(luò)應(yīng)用開(kāi)發(fā)工具很多程序幾乎可以自動(dòng)生成。然而機(jī)器語(yǔ)言、匯編語(yǔ)言和高級(jí)語(yǔ)言的程序設(shè)計(jì)語(yǔ)言體系仍然是計(jì)算機(jī)技術(shù)的基礎(chǔ),也是計(jì)算機(jī)技術(shù)的重要知識(shí)體系之一。對(duì)于計(jì)算機(jī)及其相關(guān)專(zhuān)業(yè)的學(xué)生以及計(jì)算機(jī)愛(ài)好者來(lái)說(shuō),匯編語(yǔ)言程序設(shè)計(jì)是需要掌握的重要專(zhuān)業(yè)基礎(chǔ)知識(shí)之一??捎捎趨R編語(yǔ)言面向機(jī)器的特點(diǎn),不僅需要硬件知識(shí)的配合,而且它有大量的語(yǔ)法規(guī)則需要記憶,加之上機(jī)調(diào)試單調(diào)且容易出錯(cuò),導(dǎo)致了大部分同學(xué)對(duì)于《匯編語(yǔ)言程序設(shè)計(jì)》課程的畏難情緒,學(xué)生初學(xué)階段普遍反映該課程難學(xué),很多學(xué)生在學(xué)習(xí)過(guò)程中感覺(jué)比較難入手。

    2 教學(xué)方法探討

    2.1 合理組織課程內(nèi)容

    教學(xué)過(guò)程中為了讓學(xué)生掌握所學(xué)知識(shí)并用于程序開(kāi)發(fā),在課程教學(xué)中把握教材的難點(diǎn)和重點(diǎn)尤為關(guān)鍵。

    (1)基礎(chǔ)知識(shí)的教學(xué)。

    主要包括計(jì)算機(jī)硬件和指令系統(tǒng)的教學(xué)。對(duì)計(jì)算機(jī)硬件基礎(chǔ)知識(shí)的理解和掌握程度直接影響學(xué)生對(duì)匯編語(yǔ)言地理解和掌握,其中包括CPU內(nèi)部的構(gòu)成、總線的作用、寄存器的設(shè)置和用途以及內(nèi)存的使用等是較難理解的部分,在實(shí)際教學(xué)中,可將相關(guān)內(nèi)容融匯在一起來(lái)進(jìn)行教學(xué)。通過(guò)應(yīng)用如:圖片和動(dòng)畫(huà)等形象化的方法將這些比較抽象的知識(shí)以較容易理解的方式展現(xiàn)出來(lái)。作為編程的指令系統(tǒng)對(duì)匯編語(yǔ)言程序設(shè)計(jì)而言是很重要的一部分內(nèi)容,在進(jìn)行該部分內(nèi)容教學(xué)時(shí),可以盡量通過(guò)演示程序來(lái)進(jìn)行講解,解釋各條指令的運(yùn)用方法、效果等,同時(shí)也可以適當(dāng)應(yīng)用動(dòng)畫(huà)等方式演示指令的執(zhí)行過(guò)程。

    (2)程序控制結(jié)構(gòu)的教學(xué)。

    程序控制結(jié)構(gòu)是程序設(shè)計(jì)教學(xué)中的重點(diǎn),匯編語(yǔ)言中的選擇結(jié)構(gòu)和循環(huán)程序結(jié)構(gòu)程序設(shè)計(jì)則是此部分的難點(diǎn)。為了使學(xué)生更好地掌握,在教學(xué)過(guò)程中,可選擇部分典型的例題,如:解決漢諾塔問(wèn)題和階乘的計(jì)算等。

    2.2 教學(xué)手段上采用傳統(tǒng)教學(xué)與多媒體教學(xué)相結(jié)合

    在教學(xué)過(guò)程中我們可以有選擇地使用多媒體教學(xué),例如:用動(dòng)畫(huà)模擬匯編語(yǔ)言中尋址方式、子程序調(diào)用的堆棧變化過(guò)程、中斷調(diào)用過(guò)程等。運(yùn)用多媒體教學(xué),增強(qiáng)學(xué)生的直觀感,加深對(duì)問(wèn)題的。在講用匯編語(yǔ)言指令編程序的內(nèi)容時(shí),采用傳統(tǒng)的教學(xué)方法,教會(huì)學(xué)生如何思考、推理,如何用指令實(shí)現(xiàn)算法,培養(yǎng)學(xué)生的抽象思維、邏輯推理能力。傳統(tǒng)教學(xué)方法與多媒體教學(xué)相結(jié)合,將有助于提高學(xué)生的理解能力及綜合思維能力。

    2.3 隨堂寫(xiě)一些小程序增強(qiáng)記憶

    在課堂上多加練習(xí)編寫(xiě)小程序段會(huì)提高學(xué)生對(duì)指令的記憶及理解掌握。經(jīng)過(guò)幾年的教學(xué)發(fā)現(xiàn),課堂上練習(xí)少了以后,很多同學(xué)往往出現(xiàn)在編寫(xiě)程序時(shí)有些指令寫(xiě)不出來(lái)或不會(huì)用相關(guān)指令來(lái)組織程序。在課堂上練習(xí),使學(xué)生可以增強(qiáng)記憶,對(duì)指令的使用方法有了進(jìn)一步了解,能夠運(yùn)用自如。

    2.4 注重案例教學(xué)

    案例教學(xué)法在當(dāng)前面向各個(gè)層次學(xué)生的教學(xué)過(guò)程中已得到廣泛應(yīng)用,具體是指教師需要根據(jù)課程教學(xué)目標(biāo)與內(nèi)容的要求,選擇相關(guān)典型的實(shí)例并組織學(xué)生學(xué)習(xí)、組織學(xué)生討論從而最大程度調(diào)動(dòng)學(xué)生的創(chuàng)造性思維的教學(xué)方法。其具體執(zhí)行有兩種形式。

    (1)案例講解。

    案例講解需要在理論知識(shí)講授之后進(jìn)行,通過(guò)案例講解輔助,達(dá)到加深學(xué)生理解的目標(biāo)。

    (2)案例分析法。

    案例分析方法的重點(diǎn)在于討論和分析,其主要目的是培養(yǎng)學(xué)生的創(chuàng)造性思維。案例的選擇應(yīng)注意培養(yǎng)學(xué)生理解知識(shí),提高學(xué)生分析問(wèn)題和解決問(wèn)題的能力。在匯編語(yǔ)言程序設(shè)計(jì)的教學(xué)中綜合運(yùn)用案例講解法和分析法,能夠使學(xué)生盡快理解匯編語(yǔ)言程序設(shè)計(jì)的本質(zhì)特征并迅速掌握編程方法。

    2.5 注重實(shí)驗(yàn)內(nèi)容的實(shí)用性和趣味性

    把實(shí)驗(yàn)實(shí)踐環(huán)節(jié)與理論教學(xué)相融合,用實(shí)踐教學(xué)促進(jìn)學(xué)科理論知識(shí)學(xué)習(xí),激發(fā)學(xué)生學(xué)習(xí)興趣。對(duì)于任何一門(mén)計(jì)算機(jī)語(yǔ)言課程來(lái)說(shuō),實(shí)驗(yàn)都是教學(xué)中非常重要的一個(gè)環(huán)節(jié),實(shí)驗(yàn)可以加深對(duì)理論知識(shí)的理解,提高學(xué)生的實(shí)踐動(dòng)手能力。為了避免傳統(tǒng)的程序三大結(jié)構(gòu)、數(shù)據(jù)組織與數(shù)值計(jì)算、代碼轉(zhuǎn)換和數(shù)制轉(zhuǎn)換等方面的枯燥無(wú)味的實(shí)驗(yàn),應(yīng)將實(shí)驗(yàn)內(nèi)容和實(shí)際應(yīng)用相結(jié)合,如將匯編語(yǔ)言和計(jì)算機(jī)的系統(tǒng)維護(hù)等實(shí)際相聯(lián)系,用匯編語(yǔ)言編寫(xiě)簡(jiǎn)單的設(shè)備驅(qū)動(dòng)程序等等,增加圖形化的實(shí)驗(yàn)內(nèi)容等方法和手段,使實(shí)驗(yàn)變得實(shí)用有趣,增強(qiáng)學(xué)生動(dòng)手的積極性和提高學(xué)生的動(dòng)手能力。

    2.6 突出重點(diǎn)和難點(diǎn)

    另外,在教學(xué)過(guò)程中,加強(qiáng)傳統(tǒng)的教學(xué)方法也是重要的,如在教學(xué)過(guò)程中要突出重點(diǎn)和難點(diǎn);課堂上多做練習(xí),課后注意答疑、輔導(dǎo)。

    如:講解指令系統(tǒng)時(shí)部分指令應(yīng)結(jié)合指令編碼(即機(jī)器指令)來(lái)介紹,這樣學(xué)生更容易理解和接受。

    例如:講解轉(zhuǎn)移指令中段間轉(zhuǎn)移直接尋址和段間轉(zhuǎn)移間接尋址問(wèn)題,如果只列出樣例:

    段間直接尋址:jmp far ptr target1

    段間間接尋址:jmp dword ptr addr [bx]

    學(xué)生很難理解,具體怎么實(shí)現(xiàn)跳轉(zhuǎn)。但是如果結(jié)合指令編碼來(lái)講解上述兩條轉(zhuǎn)移指令則效果會(huì)有很大改進(jìn)。

    如:

    段間轉(zhuǎn)移直接尋址指令編碼需要5個(gè)字節(jié),如圖1所示。

    也就是說(shuō),上例中Jmp far ptr target1 的target1給出的是轉(zhuǎn)移地址,即包括段地址和偏移地址。

    而段間轉(zhuǎn)移間接尋址的指令編碼是2~4字節(jié),如圖2所示。

    篇4

    中圖分類(lèi)號(hào):G642文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2011)10-2459-03

    Research on Teaching Method of Assembly Language and Programming

    HE Li-xin, WANG Kun-lun, LIU Deng-sheng, WU Xiao-qin, TU Jing

    (Key Laboratory of Net work and Intelligent Information Processing, Hefei University, Hefei 230601, China)

    Abstract: At present,it is very hard to get a satisfied effect of teaching. This paper discusses how to get a better effect on teaching of assembly language by four facets. The four facets include that interesting the students in studying the course, and declining the difficulty of the course, and improving the teaching of experiment, and that a reasonable method of assessment is established. Practice proves the efficiency of this method.

    Key words: assembly language; case methods of teaching; methods of assessment

    《匯編語(yǔ)言程序設(shè)計(jì)》是高等院校計(jì)算機(jī)軟、硬件及應(yīng)用專(zhuān)業(yè)的專(zhuān)業(yè)基礎(chǔ)(核心)課,它不僅是計(jì)算機(jī)原理、接口技術(shù)及操作系統(tǒng)等其它核心課程的先行課,而且對(duì)訓(xùn)練學(xué)生掌握程序設(shè)計(jì)技術(shù)、加深對(duì)計(jì)算機(jī)工作原理的理解有非常重要的作用。 在實(shí)際應(yīng)用當(dāng)中,可以使用匯編語(yǔ)言進(jìn)行計(jì)算機(jī)系統(tǒng)維護(hù)、操作系統(tǒng)維護(hù)、操作系統(tǒng)分析、反病毒分析,還可以直接被用于嵌入式軟件開(kāi)發(fā)之中,更為重要是在與硬件直接打交道時(shí)匯編語(yǔ)言是唯一的選擇。因此,搞好《匯編語(yǔ)言程序設(shè)計(jì)》課程的教學(xué)很重要,如何搞好該課程教學(xué)值得廣大教師們探討和總結(jié)。

    1 現(xiàn)狀分析

    目前,匯編語(yǔ)言課程教學(xué)存在的如下問(wèn)題:

    1)絕大多數(shù)同學(xué)對(duì)匯編語(yǔ)言課程的目的認(rèn)識(shí)不夠,且錯(cuò)誤地認(rèn)為匯編語(yǔ)言已經(jīng)過(guò)時(shí),沒(méi)有用,從而對(duì)這門(mén)課程的學(xué)習(xí)沒(méi)有興趣。

    絕大多數(shù)學(xué)生把匯編語(yǔ)言作為一門(mén)純粹的編程語(yǔ)言課程來(lái)對(duì)待,這是一個(gè)較大的誤區(qū),這從思想上和意識(shí)上把匯編語(yǔ)言放到一個(gè)普通的程序設(shè)計(jì)軟件的位置,這樣勢(shì)必難以達(dá)到較好的教學(xué)效果。而本課程的一個(gè)主要目的就是讓學(xué)生學(xué)習(xí)與認(rèn)識(shí)基本存儲(chǔ)控制思想、底層設(shè)備操縱方法、系統(tǒng)輸入輸出特點(diǎn)等內(nèi)容,為學(xué)生在高層應(yīng)用與底層的系統(tǒng)結(jié)構(gòu)組織與實(shí)現(xiàn)之間架設(shè)一座橋梁,使他們能夠建立一個(gè)完整的系統(tǒng)思想體系,為將來(lái)更好地應(yīng)用和發(fā)展打下一個(gè)良好的基礎(chǔ)[1]。

    另外,目前直接用匯編語(yǔ)言編寫(xiě)軟件的情況的確不多,所以有不少學(xué)生都錯(cuò)誤地認(rèn)為在高級(jí)語(yǔ)言盛行的時(shí)代匯編語(yǔ)言已經(jīng)過(guò)時(shí)且在企業(yè)的實(shí)際應(yīng)用中沒(méi)有用途,因此對(duì)這門(mén)課程沒(méi)有興趣。

    2)匯編語(yǔ)言難學(xué),挫傷了學(xué)生對(duì)該課程的學(xué)習(xí)熱情。

    由于匯編語(yǔ)言程序設(shè)計(jì)涉及到計(jì)算機(jī)底層硬件,學(xué)習(xí)內(nèi)容枯燥,需要記憶的內(nèi)容繁多,起步比較困難,不像計(jì)算機(jī)高級(jí)語(yǔ)言起步容易并在現(xiàn)在的應(yīng)用程序設(shè)計(jì)中占有絕對(duì)的優(yōu)勢(shì),相對(duì)于匯編語(yǔ)言,高級(jí)語(yǔ)言接近人類(lèi)的自然語(yǔ)言,易學(xué)易用,很多功能用高級(jí)語(yǔ)言里只要一條語(yǔ)句就可實(shí)現(xiàn),而用匯編語(yǔ)言則要好幾條甚至幾十條語(yǔ)句才能實(shí)現(xiàn),這在很大程度上挫傷了學(xué)生對(duì)該課程的學(xué)習(xí)熱情。

    3)實(shí)驗(yàn)內(nèi)容枯燥無(wú)味,實(shí)驗(yàn)考核方法不夠好,實(shí)驗(yàn)課效果差。

    當(dāng)前絕大多數(shù)學(xué)校的實(shí)驗(yàn)與實(shí)踐環(huán)節(jié)的組織對(duì)學(xué)生學(xué)習(xí)匯編語(yǔ)言沒(méi)有起到太大的幫助,匯編語(yǔ)言實(shí)驗(yàn)內(nèi)容仍然停留在程序三大結(jié)構(gòu)、數(shù)據(jù)組織與數(shù)值計(jì)算、代碼轉(zhuǎn)換和數(shù)制轉(zhuǎn)換等方面,這會(huì)導(dǎo)致學(xué)生對(duì)本課程實(shí)驗(yàn)和實(shí)踐環(huán)節(jié)沒(méi)有興趣,不能激發(fā)學(xué)生的學(xué)習(xí)熱情。另外,很多實(shí)驗(yàn)課基本上是學(xué)生做實(shí)驗(yàn),有問(wèn)題請(qǐng)教老師,教師指導(dǎo),實(shí)驗(yàn)課結(jié)束就意味著同學(xué)們都通過(guò)了該實(shí)驗(yàn)這種方式進(jìn)行的。很顯然這種方式對(duì)自我要求不高的學(xué)生沒(méi)有任何監(jiān)督力,實(shí)驗(yàn)課教學(xué)效果差是很自然的事情。

    4)課程考核方法不夠完善,對(duì)學(xué)習(xí)過(guò)程的考核不夠嚴(yán)謹(jǐn)。

    傳統(tǒng)的考核方法是按照期末考試占70%,平時(shí)成績(jī)占30%來(lái)計(jì)算總評(píng)成績(jī)的,有點(diǎn)甚至直接用期末考試成績(jī)代替總評(píng)成績(jī)。顯然這些方法對(duì)學(xué)習(xí)過(guò)程的表現(xiàn)考慮不夠,這就導(dǎo)致有些平時(shí)不愛(ài)學(xué)習(xí)的同學(xué),經(jīng)常采取考試之前突擊學(xué)習(xí)、押題等臨時(shí)抱佛腳的方法來(lái)應(yīng)付,這樣的學(xué)習(xí)方式有時(shí)能僥幸通過(guò)考試,但很顯然學(xué)到的知識(shí)不牢固,不全面,考過(guò)之后很快就會(huì)忘記的。

    2 問(wèn)題的解決方案

    1)引領(lǐng)學(xué)生認(rèn)識(shí)匯編語(yǔ)言課程的重要性,結(jié)合企業(yè)對(duì)匯編語(yǔ)言人才的需求和實(shí)例激發(fā)學(xué)生學(xué)習(xí)匯編語(yǔ)言的興趣。

    人們常說(shuō)“興趣是最好的老師”,事實(shí)的確如此,當(dāng)學(xué)生們對(duì)課程產(chǎn)生了興趣時(shí)他們會(huì)很主動(dòng)地去學(xué)習(xí),遇到困難會(huì)積極思考。為了激發(fā)學(xué)生的學(xué)習(xí)興趣,作者在教學(xué)中使用了如下方法:

    第一、強(qiáng)調(diào)《匯編語(yǔ)言》課程的重要性?!秴R編語(yǔ)言》是高等院校計(jì)算機(jī)軟、硬件及應(yīng)用專(zhuān)業(yè)的專(zhuān)業(yè)基礎(chǔ)(核心)課,它不僅是計(jì)算機(jī)原理、接口技術(shù)及操作系統(tǒng)等其它核心課程的先行課,而且對(duì)訓(xùn)練學(xué)生掌握程序設(shè)計(jì)技術(shù)、加深對(duì)計(jì)算機(jī)工作原理的理解有非常重要的作用。同時(shí)也是我們學(xué)習(xí)高級(jí)語(yǔ)言的利器[2]。

    第二、介紹匯編語(yǔ)言在計(jì)算機(jī)系統(tǒng)維護(hù)等方面的實(shí)際應(yīng)用,并選擇有代表性的問(wèn)題現(xiàn)場(chǎng)演示,讓學(xué)生親身體會(huì)到匯編語(yǔ)言的用途。雖然目前用匯編語(yǔ)言編寫(xiě)軟件的情況的確不多。但是在實(shí)際應(yīng)用中可以使用匯編語(yǔ)言進(jìn)行計(jì)算機(jī)系統(tǒng)維護(hù)、操作系統(tǒng)維護(hù)、操作系統(tǒng)分析、反病毒分析,另外在一些嵌入式軟件開(kāi)發(fā)中有時(shí)還需要用到匯編語(yǔ)言,更為重要是在與硬件直接打交道時(shí)匯編語(yǔ)言是唯一的選擇。

    第三、用與生活中密切相關(guān)的實(shí)例現(xiàn)場(chǎng)演示,激發(fā)興趣。

    演示事先準(zhǔn)備好的用匯編語(yǔ)言開(kāi)發(fā)的與日常生活密切相關(guān)的應(yīng)用實(shí)例,如:交通燈系統(tǒng),空調(diào)單暖溫度控制器,以及銀行排隊(duì)系統(tǒng)等等。使學(xué)生親身體會(huì)到匯編語(yǔ)言的用途,從而徹底扭轉(zhuǎn)學(xué)生們的編語(yǔ)言沒(méi)有用的思想,激發(fā)學(xué)生學(xué)習(xí)匯編語(yǔ)言的興趣。

    第四、強(qiáng)調(diào)企業(yè)中需要懂匯編語(yǔ)言的人才??湛跓o(wú)憑,可以打開(kāi)百度或Google的網(wǎng)頁(yè),輸入“匯編語(yǔ)言 招聘”進(jìn)行搜索就會(huì)發(fā)現(xiàn)的確有不少企業(yè)在招聘懂匯編的高級(jí)人才且待遇豐厚。親眼見(jiàn)到上述企業(yè)的招聘廣告,學(xué)生會(huì)深刻體會(huì)到《匯編語(yǔ)言程序設(shè)計(jì)》決非無(wú)用課程。

    教學(xué)的實(shí)踐表明:當(dāng)學(xué)生明白了該課程的重要性和學(xué)習(xí)該課程的目的,學(xué)生們就會(huì)覺(jué)得學(xué)好該課程是很有必要的;而當(dāng)學(xué)生們親眼見(jiàn)到匯編語(yǔ)言在計(jì)算機(jī)維護(hù)等方面的實(shí)際應(yīng)用和用匯編語(yǔ)言開(kāi)發(fā)的與生活中密切相關(guān)的應(yīng)用實(shí)例的演示時(shí),他們就會(huì)體會(huì)到匯編語(yǔ)言的用途,激起他們的興趣;最后當(dāng)學(xué)生們看到網(wǎng)上不少企業(yè)在招聘懂匯編的高級(jí)人才且待遇豐厚時(shí),學(xué)生們就會(huì)真正感受到匯編語(yǔ)言課程的魅力,激起他們更大的學(xué)習(xí)興趣。

    2)通過(guò)合理安排教學(xué)內(nèi)容和充分利用多媒體教學(xué)的優(yōu)勢(shì)等方法降低匯編語(yǔ)言學(xué)習(xí)的難度,提高教學(xué)效果。

    有了學(xué)習(xí)興趣固然是好事,但如果在學(xué)習(xí)過(guò)程中遇到的困難太多或太大都會(huì)挫傷學(xué)生的學(xué)習(xí)熱情。

    而要想學(xué)習(xí)好一門(mén)課程,首先要選擇一本好的教材。我們選擇教材的原則是:結(jié)構(gòu)清晰、主線特出,內(nèi)容要有一定的深度和廣度,所選例題要有代表性。根據(jù)該原則,我們選用普通高等教育“九五” 國(guó)家教委重點(diǎn)教材(沈美明,溫冬嬋 編著.《80X86匯編語(yǔ)言程序設(shè)計(jì)》. 北京:清華大學(xué)出版社, 2001.7)作為本課程的教材[3],該教材也得到了全國(guó)廣大匯編語(yǔ)言教師的認(rèn)可。經(jīng)過(guò)多年的教學(xué)以及和學(xué)生的交流中我們發(fā)現(xiàn),如果直接按照該教材的順序教學(xué)效果不是很好。為了提高教學(xué)效果,作者在教學(xué)過(guò)程中做了如下四方面的改進(jìn)。

    第一,合理調(diào)整課程內(nèi)容的先后順序,將枯燥無(wú)味、需要大量記憶的內(nèi)容分散到多個(gè)章節(jié)中講授。例如:本書(shū)第三章 80x86的指令系統(tǒng)和尋址方式,這一章的指令太多,內(nèi)容太雜,枯燥無(wú)味,要記憶的內(nèi)容多。 若將該章中的串處理指令、控制轉(zhuǎn)移指令等放到第五章的循環(huán)與分支程序設(shè)計(jì)中結(jié)合例題講解效果更好,而將與子程序相關(guān)的指令放到第六章講更合適,因?yàn)榻?jīng)過(guò)這樣調(diào)換后,不僅避免了指令集中講解時(shí)的指令太多,太枯燥,難記憶等問(wèn)題,而且剛剛講到的指令很快就能在例題中得到應(yīng)用,學(xué)生對(duì)指令的理解和掌握會(huì)更加深入。第六章的dos系統(tǒng)功能調(diào)用內(nèi)容也應(yīng)該放到第五章中穿插講授,這樣提前的目的是為了讓學(xué)生在實(shí)驗(yàn)中使用dos系統(tǒng)功能調(diào)用,因?yàn)樯系降谖逭聲r(shí)就要求學(xué)生上機(jī)動(dòng)手編寫(xiě)程序并用到這些知識(shí)點(diǎn)。

    第二,充分利用計(jì)算機(jī)綜合處理教學(xué)中的文字、聲音、圖象、圖形、動(dòng)畫(huà)等教學(xué)信息,進(jìn)一步優(yōu)化《匯編語(yǔ)言程序設(shè)計(jì)》多媒體教學(xué)課件,從而降低匯編語(yǔ)言的學(xué)習(xí)難度。例如:初學(xué)者對(duì)于用匯編語(yǔ)言編寫(xiě)程序往往較難入門(mén),可以首先對(duì)問(wèn)題進(jìn)行分析,用多媒體動(dòng)畫(huà)形式畫(huà)出流程圖,并用動(dòng)畫(huà)形式將每一步流程圖與相應(yīng)的實(shí)現(xiàn)該步驟的匯編指令一一對(duì)應(yīng)起來(lái),教學(xué)實(shí)踐表明這樣學(xué)生入門(mén)起來(lái)就要容易得多;再如:在子程序遞歸調(diào)用的講解中,堆棧中的數(shù)據(jù)變化是學(xué)習(xí)的難點(diǎn),很多學(xué)生被搞糊涂了,此時(shí)若將指令的逐條執(zhí)行與相應(yīng)的堆棧內(nèi)數(shù)據(jù)變化情況采用動(dòng)畫(huà)的形式表現(xiàn)出來(lái),學(xué)生就很容易理解這樣難點(diǎn)內(nèi)容了。像這樣的例子還很多,由于篇幅有限,在此就不再列舉了。

    第三,抓住匯編語(yǔ)言的教學(xué)主線(即存儲(chǔ)控制思想)進(jìn)行教學(xué)。 匯編語(yǔ)言不像其他程序設(shè)計(jì)語(yǔ)言采用抽象了的數(shù)據(jù),它采儲(chǔ)存取控制的方式組對(duì)數(shù)據(jù)進(jìn)行組織和操作,這既是匯編語(yǔ)言和其他程序設(shè)計(jì)語(yǔ)言的不同之處,同時(shí)也是這也體現(xiàn)出匯編語(yǔ)言與計(jì)算機(jī)硬件和操作系統(tǒng)之間的有著緊密聯(lián)系,因此,匯編語(yǔ)言課程的教學(xué)主線是存儲(chǔ)控制,該主線貫穿于整個(gè)教學(xué)過(guò)程。牢牢把握該主線,有利于掌握匯編語(yǔ)言程序設(shè)計(jì)的思想精髓和更好地抓住匯編語(yǔ)言面向機(jī)器的特點(diǎn)。

    第四,采用案例教學(xué)法[4]進(jìn)行教學(xué)。在教學(xué)當(dāng)中,我經(jīng)常使用案例教學(xué)法,教學(xué)效果很好。案例教學(xué)法就是教師使用與教學(xué)內(nèi)容密切相關(guān)的實(shí)際案例來(lái)解決教學(xué)中的各種問(wèn)題,以提高學(xué)生思考問(wèn)題、分析問(wèn)題和解決問(wèn)題的能力,培養(yǎng)學(xué)生濃厚的學(xué)習(xí)興趣的一種教學(xué)方法。運(yùn)用這種教學(xué)方法,關(guān)鍵在于教師要準(zhǔn)備大量與教學(xué)內(nèi)容緊密相關(guān)的案例,并有計(jì)劃、有意識(shí)、靈活地運(yùn)用到教學(xué)實(shí)踐中去,以取得預(yù)期的效果和目的。

    3)增強(qiáng)實(shí)驗(yàn)內(nèi)容的實(shí)用性和趣味性,增加匯編語(yǔ)言與高級(jí)語(yǔ)言混合編程的教學(xué)內(nèi)容,建立合理可行的實(shí)驗(yàn)制度和考核方法。

    對(duì)于任何一門(mén)計(jì)算機(jī)語(yǔ)言課程來(lái)說(shuō),實(shí)驗(yàn)都是教學(xué)中非常重要的一個(gè)環(huán)節(jié),實(shí)驗(yàn)可以加深對(duì)理論知識(shí)的理解,提高學(xué)生的實(shí)踐動(dòng)手能力。

    為了避免傳統(tǒng)的程序三大結(jié)構(gòu)、數(shù)據(jù)組織與數(shù)值計(jì)算、代碼轉(zhuǎn)換和數(shù)制轉(zhuǎn)換等方面的枯燥無(wú)味的實(shí)驗(yàn),我們將實(shí)驗(yàn)內(nèi)容和實(shí)際應(yīng)用相結(jié)合,如將匯編語(yǔ)言和計(jì)算機(jī)的系統(tǒng)維護(hù)等實(shí)際相聯(lián)系,用匯編語(yǔ)言編寫(xiě)簡(jiǎn)單的設(shè)備驅(qū)動(dòng)程序等等,增加圖形化的實(shí)驗(yàn)內(nèi)容等方法和手段,使實(shí)驗(yàn)變得實(shí)用有趣,增強(qiáng)學(xué)生動(dòng)手的積極性和提高學(xué)生的動(dòng)手能力。

    另外,在實(shí)驗(yàn)中還要增加匯編語(yǔ)言與高級(jí)語(yǔ)言混合編程的教學(xué)內(nèi)容。高級(jí)語(yǔ)言在軟件開(kāi)發(fā)中比匯編語(yǔ)言的使用要廣泛的多,但是匯編語(yǔ)言有它自己獨(dú)特的優(yōu)點(diǎn):占用空間小,速度快,可以與硬件直接打交道,而且與硬件直接打交道時(shí)匯編語(yǔ)言也是唯一的選擇。因此要使匯編語(yǔ)言具有更多更好的應(yīng)用性,就必須增加匯編語(yǔ)言與高級(jí)語(yǔ)言混合編程的教學(xué)內(nèi)容,以引導(dǎo)學(xué)生在今后的實(shí)際應(yīng)用程序開(kāi)發(fā)中合理使用匯編語(yǔ)言開(kāi)發(fā)出高效率的軟件。

    實(shí)驗(yàn)制度和考核方法的建立有利于進(jìn)一步提高實(shí)驗(yàn)課的學(xué)習(xí)效果,實(shí)驗(yàn)課應(yīng)使學(xué)生做到實(shí)驗(yàn)前預(yù)習(xí),實(shí)驗(yàn)后總結(jié),實(shí)驗(yàn)中逐個(gè)通過(guò)的方法。實(shí)驗(yàn)前預(yù)習(xí)是為了讓學(xué)生在實(shí)驗(yàn)前對(duì)實(shí)驗(yàn)題目進(jìn)行分析,查找相關(guān)資料,做好充分的準(zhǔn)備以便保證學(xué)生在規(guī)定時(shí)間內(nèi)完成實(shí)驗(yàn);實(shí)驗(yàn)中逐個(gè)提高的方法是對(duì)每個(gè)完成實(shí)驗(yàn)的同學(xué)進(jìn)行單獨(dú)提3至4個(gè)問(wèn)題,讓其回答,只有回答正確才算該實(shí)驗(yàn)通過(guò),這樣做的主要目的是防止作弊和查找學(xué)生薄弱點(diǎn);實(shí)驗(yàn)后總結(jié)則是總結(jié)經(jīng)驗(yàn)和不足之處,達(dá)到進(jìn)一步加深對(duì)相關(guān)知識(shí)點(diǎn)的理解和應(yīng)用。上述三個(gè)環(huán)節(jié)在實(shí)驗(yàn)考核中分別占30%、40%和30%。教學(xué)實(shí)踐表明建立實(shí)驗(yàn)制度和考核方法可以在很大程度上促進(jìn)學(xué)生學(xué)習(xí)。

    4)建立既注重期末考試結(jié)果又注重平時(shí)學(xué)習(xí)過(guò)程的課程考核方法

    每門(mén)課程學(xué)習(xí)結(jié)束都需要對(duì)學(xué)生進(jìn)行考核,有些同學(xué)平時(shí)不愛(ài)學(xué)習(xí),經(jīng)常采取考試之前突擊學(xué)習(xí)、押題等臨時(shí)抱佛腳的方法來(lái)應(yīng)付,這樣的學(xué)習(xí)方式有時(shí)能僥幸通過(guò)考試,但很顯然學(xué)到的知識(shí)不牢固,不全面,考過(guò)之后很快就會(huì)忘記的。

    為了防止這種現(xiàn)象的產(chǎn)生,在教學(xué)中采用“N+2”的考核方法,其中的“N”是教學(xué)過(guò)程中的考核次數(shù)或項(xiàng)目數(shù),“N+2”中的“2”中的“1”是期末考試,另一個(gè)“1”是課堂筆記。針對(duì)每門(mén)課程, N不小于3且不大于5,過(guò)程考核可采用的形式有:作業(yè)、平時(shí)表現(xiàn)、單元(階段)測(cè)試、期中考試、課程論文、課程實(shí)驗(yàn)、綜合性實(shí)驗(yàn)等。一般來(lái)說(shuō)課堂筆記占總分比例不得超過(guò)10%,期末考試占總分比例范圍為40%~50%,實(shí)驗(yàn)占20%,其他的根據(jù)實(shí)際需要靈活選擇。在這種考核方法下,那些臨時(shí)抱佛腳的同學(xué)即便在期末考試中考了六七十分,但也會(huì)由于平時(shí)成績(jī)不理想也無(wú)法通過(guò)該課程的考核,也就是說(shuō)這種考核方法既注重期末考試結(jié)果又注重平時(shí)學(xué)習(xí)過(guò)程,因此那些原本平時(shí)不愛(ài)學(xué)習(xí)的同學(xué)在這種考核制度的要求下也不得不抓緊時(shí)間學(xué)習(xí)了。實(shí)踐表明該考核方法的確行之有效,平時(shí)學(xué)習(xí)的同學(xué)越來(lái)越多了,知識(shí)的掌握程度有了明顯的提高,補(bǔ)考的人數(shù)顯著下降,有些班級(jí)甚至沒(méi)有人需要補(bǔ)考。

    3 結(jié)束語(yǔ)

    本文是作者將自己在教學(xué)過(guò)程中如何激發(fā)學(xué)生學(xué)習(xí)興趣,通過(guò)適當(dāng)?shù)姆椒ê褪侄谓档驼n程學(xué)習(xí)難度,重視和嚴(yán)格要求實(shí)驗(yàn)教學(xué),建立合理可行的課程教學(xué)制度和考核方法,從而達(dá)到改善教學(xué)效果的一些方法做了初步探討,作者深知要想取得更好的教學(xué)效果還需要廣大教師付出更多的努力,進(jìn)行更多的探索和廣泛的交流。

    參考文獻(xiàn):

    [1] 陳曉東.《匯編語(yǔ)言》教學(xué)方法探討[J].山西農(nóng)業(yè)大學(xué)學(xué)報(bào),2006,5(6):70-71.

    篇5

    1.前言

    匯編語(yǔ)言是我們理解整個(gè)計(jì)算機(jī)系統(tǒng)的最佳起點(diǎn)。人們往往認(rèn)為匯編語(yǔ)言的應(yīng)用范圍很小,因而忽視了它的重要性。其實(shí)匯編語(yǔ)言對(duì)學(xué)習(xí)計(jì)算機(jī)科學(xué)與技術(shù)的人是非常重要的。所有程序,不論用何種語(yǔ)言進(jìn)行編制,只有轉(zhuǎn)成機(jī)器指令,運(yùn)用機(jī)器的邏輯功能,功能才得以實(shí)現(xiàn)。

    匯編語(yǔ)言直接a描述機(jī)器指令,比機(jī)器指令更容易記憶和理解。通過(guò)學(xué)習(xí)和使用匯編語(yǔ)言,我們才能夠感知、體會(huì)、理解機(jī)器的邏輯功能,這樣不僅可以為理解各種軟件系統(tǒng)的原理打下技術(shù)理論基礎(chǔ),而且可以為掌握硬件系統(tǒng)的原理打下實(shí)踐應(yīng)用基礎(chǔ)。

    2.教學(xué)中存在的問(wèn)題

    當(dāng)前高級(jí)語(yǔ)言的發(fā)展非常迅速,各種開(kāi)發(fā)工具層出不窮,其功能也越來(lái)越強(qiáng)大。高級(jí)語(yǔ)言進(jìn)行程序設(shè)計(jì)的可操作性越來(lái)越強(qiáng),許多非計(jì)算機(jī)專(zhuān)業(yè)人員在不了解計(jì)算機(jī)的結(jié)構(gòu)、沒(méi)掌握計(jì)算機(jī)相關(guān)的專(zhuān)業(yè)理論和各種計(jì)算機(jī)語(yǔ)言具體編程等情況下,同樣能很好地使用高級(jí)語(yǔ)言。所以,高級(jí)語(yǔ)言的發(fā)展弱化了匯編語(yǔ)言的地位,這使部分高職學(xué)生覺(jué)得匯編語(yǔ)言已不重要了,學(xué)不好沒(méi)有多大的關(guān)系。所以,思想認(rèn)識(shí)上的不重視,導(dǎo)致了部分學(xué)生學(xué)不好這門(mén)課程。

    《匯編語(yǔ)言程序設(shè)計(jì)》的學(xué)習(xí)需要一定的英語(yǔ)知識(shí)。高職學(xué)生的英語(yǔ)基礎(chǔ)普遍差,據(jù)有關(guān)職業(yè)教育方面的統(tǒng)計(jì)資料顯示:在高職高專(zhuān)院校中60%的學(xué)生英語(yǔ)基礎(chǔ)差;30%的學(xué)生有一定的基礎(chǔ),但對(duì)英語(yǔ)學(xué)習(xí)不感興趣;10%的學(xué)生英語(yǔ)基礎(chǔ)較好。實(shí)際上,普通高職高專(zhuān)院校學(xué)生英語(yǔ)的基礎(chǔ)情況比統(tǒng)計(jì)的更嚴(yán)峻。這就為他們學(xué)習(xí)這一課程帶來(lái)了一定的障礙。

    針對(duì)這一系列的情況,筆者根據(jù)教學(xué)經(jīng)驗(yàn),總結(jié)了在高職院校教《匯編語(yǔ)言程序設(shè)計(jì)》的一些心得,希望對(duì)大家有所幫助。

    3.注重課堂教學(xué)

    3.1優(yōu)化教學(xué)內(nèi)容。

    本課程涉及內(nèi)容較多,教師應(yīng)在講課之前先對(duì)課本內(nèi)容進(jìn)行優(yōu)化。并不是課本上所羅列的內(nèi)容都需要講,教師要有選擇性講解:對(duì)學(xué)生有用的而課本上講得不全面的要補(bǔ)充講解,而對(duì)學(xué)生用處不大的可以不講或一帶而過(guò),爭(zhēng)取做到“少而精”。

    3.2讓學(xué)生充分認(rèn)識(shí)到該課程的重要性,提高學(xué)生的學(xué)習(xí)的興趣。

    “興趣是最好的老師”,如何讓學(xué)生對(duì)本課程感興趣?筆者認(rèn)為關(guān)鍵是把握好開(kāi)學(xué)第一堂課。在學(xué)生剛接觸本課程時(shí),教師不要急于介紹理論知識(shí),而是要強(qiáng)調(diào)該課程的實(shí)際應(yīng)用,通過(guò)介紹匯編語(yǔ)言的特點(diǎn)和匯編語(yǔ)言在一些典型系統(tǒng)開(kāi)發(fā)中的具體應(yīng)用來(lái)激發(fā)學(xué)生的學(xué)習(xí)興趣。

    目前對(duì)單片機(jī)的靈活編程已經(jīng)應(yīng)用到各個(gè)領(lǐng)域,無(wú)論是尖端科技,如軍事、通信、能源、機(jī)器人、交通、IT,還是現(xiàn)代工業(yè)、農(nóng)業(yè),如儀器儀表、汽車(chē)電子系統(tǒng)、家用電器、玩具、個(gè)人信息終端等諸多領(lǐng)域,都離不開(kāi)單片機(jī)。而單片機(jī)的編程里大部分都使用了匯編語(yǔ)言,匯編語(yǔ)言的易用和靈活的特性,使得匯編語(yǔ)言將繼續(xù)占有獨(dú)特的地位,其適用的領(lǐng)域要求執(zhí)行效率高、反應(yīng)快,如操作系統(tǒng)內(nèi)核、工業(yè)控制、實(shí)時(shí)系統(tǒng)、家用電器的計(jì)算機(jī)控制功能等。在講述其重要性和應(yīng)用領(lǐng)域時(shí),教師應(yīng)結(jié)合一些身邊的、具體的實(shí)例,如電梯升降的控制程序和廣場(chǎng)的大型噴泉的控制程序均是由匯編語(yǔ)言編寫(xiě)的,學(xué)生的興趣會(huì)被這些實(shí)例極大地調(diào)動(dòng)起來(lái)。

    3.3注重實(shí)踐環(huán)節(jié)。

    在計(jì)算機(jī)相關(guān)專(zhuān)業(yè)的教學(xué)領(lǐng)域,實(shí)驗(yàn)教學(xué)是培養(yǎng)學(xué)生學(xué)習(xí)能力、實(shí)踐能力、思考能力、創(chuàng)新能力的重要環(huán)節(jié)和有效途徑。學(xué)生在學(xué)習(xí)匯編語(yǔ)言這門(mén)課程中產(chǎn)生的困難,來(lái)自于他們對(duì)所學(xué)知識(shí)缺乏必要的感性認(rèn)識(shí),沒(méi)有得到充分的實(shí)踐。

    計(jì)算機(jī)在很多方面不同于其他學(xué)科,尤其是與硬件有密切關(guān)系的課程。由于匯編語(yǔ)言課程與硬件操作有著密切關(guān)系,因此實(shí)驗(yàn)環(huán)節(jié)在整個(gè)教學(xué)活動(dòng)中占據(jù)了舉足輕重的地位。匯編語(yǔ)言的實(shí)驗(yàn)對(duì)培養(yǎng)學(xué)生的動(dòng)手能力和學(xué)習(xí)興趣,提高學(xué)生閱讀、編輯和調(diào)試程序的能力,有著不可替代的重要作用。學(xué)生通過(guò)實(shí)驗(yàn)?zāi)苌钊肓私釩PU、存儲(chǔ)器、接口及外部設(shè)備的工作特性,對(duì)數(shù)據(jù)在計(jì)算機(jī)中的表達(dá)和傳送產(chǎn)生感性認(rèn)識(shí),在實(shí)驗(yàn)中學(xué)生能對(duì)匯編語(yǔ)言有更好的理解、掌握,從感性認(rèn)識(shí)上升到理論認(rèn)識(shí)。

    4.改進(jìn)教學(xué)方法

    4.1對(duì)照教學(xué)法。

    在講匯編語(yǔ)言時(shí),教師可以和其它語(yǔ)言對(duì)照講解,比如C語(yǔ)言。C語(yǔ)言作為一門(mén)基礎(chǔ)和先驅(qū)課程,在此時(shí)起到了很好的借鑒作用,由于大部分學(xué)生對(duì)C語(yǔ)言掌握得較好,基于語(yǔ)言的相通性,在匯編語(yǔ)言的相關(guān)教學(xué)中教師若以C語(yǔ)言作為對(duì)照展開(kāi)講解,將會(huì)收到很好的教學(xué)效果,也能增進(jìn)各科之間的知識(shí)和方法上的聯(lián)系。下面筆者結(jié)合教學(xué)實(shí)踐,列舉一些應(yīng)用對(duì)照教學(xué)法的實(shí)例。

    MOV指令是8088指令系統(tǒng)中首要講解的一個(gè)指令,也是匯編程序設(shè)計(jì)中使用最頻繁的指令,教師應(yīng)強(qiáng)調(diào)對(duì)操作數(shù)的要求。有幾點(diǎn)我們可以用C語(yǔ)言來(lái)對(duì)比解釋:

    傳送過(guò)程。其傳送過(guò)程類(lèi)似于C語(yǔ)言中的賦值,只是在這里是給寄存器或存儲(chǔ)單元賦值,其實(shí)C語(yǔ)言中的變量名本身就是一個(gè)符號(hào)地址,匯編程度的賦值最終應(yīng)對(duì)應(yīng)到存儲(chǔ)器的某些存儲(chǔ)單元。

    兩操作數(shù)的類(lèi)型匹配問(wèn)題。該內(nèi)容在C語(yǔ)言中已作了強(qiáng)調(diào),匯編中類(lèi)型匹配問(wèn)題也是一個(gè)重點(diǎn)。與C語(yǔ)言類(lèi)似,匯編語(yǔ)言操作數(shù)的位數(shù)要保持一致,只是在8088中常用的類(lèi)型為字節(jié)和字。

    強(qiáng)制類(lèi)型轉(zhuǎn)換。C語(yǔ)言中用到了該知識(shí),學(xué)生也已掌握,那么匯編語(yǔ)言中又如何實(shí)現(xiàn)呢?很自然地我們就可以引出“BYTE PTR”和“WORD PTR”這兩個(gè)操作符。

    4.2互動(dòng)式和啟發(fā)式教學(xué)。

    高職學(xué)生的課堂氣氛一般比較活躍,他們非常喜歡教師引導(dǎo)、提問(wèn),喜歡回答問(wèn)題。所以教師應(yīng)利用這一特點(diǎn)在上課過(guò)程中設(shè)計(jì)一些有意義的提問(wèn),利用提問(wèn)將要講的知識(shí)點(diǎn)引出來(lái),避免平鋪直敘地講解知識(shí)點(diǎn),這樣讓學(xué)生帶著問(wèn)題來(lái)學(xué)習(xí)知識(shí)點(diǎn),會(huì)起到事半功倍的作用。例如,在講解編程部分的循環(huán)結(jié)構(gòu)時(shí),筆者先舉了這樣一個(gè)例子:求1+2+3+……+100的和。學(xué)生立刻就說(shuō)出結(jié)果為5050。筆者接著問(wèn):加到1000呢?這樣很多學(xué)生饒有興趣地聽(tīng)講??梢?jiàn),教師所選的題目要由淺入深,要能激發(fā)學(xué)生的學(xué)習(xí)興趣,要想辦法讓學(xué)生變被動(dòng)學(xué)習(xí)為主動(dòng)學(xué)習(xí)。

    課堂練習(xí)也是互動(dòng)式教學(xué)一個(gè)非常重要的方法。在講解完某一個(gè)例題后,教師可以出一道類(lèi)似的習(xí)題讓學(xué)生在課上完成,請(qǐng)學(xué)生上講臺(tái)在黑板上寫(xiě)出解題步驟并進(jìn)行講解。例如剛學(xué)習(xí)了用循環(huán)的方法求1+2+3+……+100的和,教師可以讓學(xué)生練習(xí)一道2+4+6+……+100的和。這樣可以檢驗(yàn)學(xué)生的掌握情況,找到學(xué)生理解錯(cuò)誤的地方,從而對(duì)癥下藥。就學(xué)生理解錯(cuò)誤的知識(shí)點(diǎn)再進(jìn)行講解,這樣除了可以讓學(xué)生當(dāng)堂能夠掌握所學(xué)的知識(shí)點(diǎn),還能讓其做到舉一反三。

    4.3實(shí)例教學(xué)法。

    由于本課程是一門(mén)比較抽象的課程,因此教師在課堂講授中應(yīng)該盡量用一些通俗易懂的例子進(jìn)行教學(xué)。

    例如在講解匯編中存儲(chǔ)器地址分段的概念時(shí),為了便于學(xué)生理解,教師可以借助平時(shí)生活的居民樓,進(jìn)行舉例。一個(gè)小區(qū)有多個(gè)居民樓,如一號(hào)樓、二號(hào)樓等,每個(gè)樓里有多個(gè)室,如101室、102室等。我們可將樓號(hào)比作段基值,每個(gè)樓里的房間比作偏移地址,很顯然一號(hào)樓的101和二號(hào)樓的101是不一樣的。這個(gè)例子可以使學(xué)生易于理解分段的概念。

    再如在講解中斷的概念時(shí)有很多例子可舉。把教師上課比作CPU正在處理的事,門(mén)外有學(xué)生打報(bào)告,教師就暫停正在處理的事情讓學(xué)生進(jìn)來(lái),等學(xué)生進(jìn)來(lái)后接著講課。這樣學(xué)生很容易就能掌握中斷的概念。

    教師可以將難理解的知識(shí)點(diǎn)與日常生活中的小事相聯(lián)系,這樣既可以使學(xué)生學(xué)到扎實(shí)的理論知識(shí),又不會(huì)使學(xué)生學(xué)得吃力。

    5.充分發(fā)揮多媒體教學(xué)的作用

    匯編語(yǔ)言指令多、變化多,相對(duì)其他可編程語(yǔ)言來(lái)說(shuō)源程序長(zhǎng)而復(fù)雜,一個(gè)簡(jiǎn)單的問(wèn)題解決至少要幾十行,多則上百行,教師講解例題時(shí)如果板書(shū),就要花去大部分時(shí)間。如何解決這個(gè)問(wèn)題呢?多媒體能夠提高教學(xué)效果,擴(kuò)大教學(xué)范圍,延伸教師的教育功能。教師應(yīng)在課前準(zhǔn)備講解的程序,上課時(shí)直接操作計(jì)算機(jī),一邊講解指令的格式及算法,一邊將指令使用前后的情況、程序的效果等通過(guò)投影儀展示給學(xué)生。計(jì)算機(jī)教學(xué)還可借助網(wǎng)上豐富的資源、圖文并茂的生動(dòng)界面、多姿多彩的影像資料,這些可使教學(xué)具有感受性、新穎性、可組合性、可擴(kuò)充性,使學(xué)生的思維更加具有發(fā)散性,更容易培養(yǎng)學(xué)生的創(chuàng)新思維。

    6.結(jié)語(yǔ)

    筆者對(duì)匯編語(yǔ)言課程的教學(xué)內(nèi)容和教學(xué)方法進(jìn)行了探討,這些教學(xué)方法促進(jìn)了課程的建設(shè)與發(fā)展,為學(xué)生學(xué)好后續(xù)課程打下了一個(gè)良好的基礎(chǔ)。摸索一條適合高職學(xué)生需要的、有效的教學(xué)方法,使高職學(xué)生能更好地、更快地掌握匯編語(yǔ)言程序設(shè)計(jì),培養(yǎng)學(xué)生的分析問(wèn)題、解決問(wèn)題和實(shí)際操作能力,我們?cè)趨R編語(yǔ)言課程教學(xué)中需要繼續(xù)探索研究的目標(biāo)。

    篇6

    1課程的現(xiàn)狀

    匯編語(yǔ)言不同于其它高級(jí)語(yǔ)言,必須要求編程人員有一定的硬件基礎(chǔ),如對(duì)CPU的結(jié)構(gòu)、CPU與存儲(chǔ)器等部件的數(shù)據(jù)傳送過(guò)程必須要有基本的了解,這樣才能學(xué)好這門(mén)課程。在教學(xué)過(guò)程中,我們發(fā)現(xiàn)學(xué)生對(duì)高級(jí)語(yǔ)言編程學(xué)習(xí)積極性高,對(duì)匯編語(yǔ)言課程缺乏興趣,因?yàn)檎n程本身指令復(fù)雜,規(guī)定繁多,再加上學(xué)習(xí)匯編指令前對(duì)CPU的相關(guān)工作過(guò)程理解不透,導(dǎo)致學(xué)生厭學(xué),又由于本課程面對(duì)的低年級(jí)學(xué)生只有高級(jí)語(yǔ)言的基礎(chǔ),習(xí)慣于高級(jí)語(yǔ)言的自然表達(dá),初次接觸計(jì)算機(jī)硬件知識(shí)心理上有恐懼感,更難以適應(yīng)繁雜的低級(jí)語(yǔ)言。

    針對(duì)本課程的特點(diǎn),對(duì)教學(xué)內(nèi)容、環(huán)節(jié)、過(guò)程等進(jìn)行了精心設(shè)計(jì),下面就教學(xué)方法的設(shè)計(jì)、實(shí)踐教學(xué)方法、課程考核形式等方面進(jìn)行的一系列改革進(jìn)行詳細(xì)探討。

    2教學(xué)方法設(shè)計(jì)改革

    為了避免學(xué)生因指令復(fù)雜,規(guī)定繁多、難度大而對(duì)該課程產(chǎn)生畏懼的學(xué)習(xí)心理,教師有必要對(duì)教學(xué)內(nèi)容進(jìn)行合理組織,對(duì)教學(xué)過(guò)程進(jìn)行精心的設(shè)計(jì)。

    2.1利用FLASH技術(shù),使教學(xué)難點(diǎn)容易理解

    在多年的教學(xué)過(guò)程中,我發(fā)現(xiàn)學(xué)生在學(xué)習(xí)CPU結(jié)構(gòu)這章節(jié)中,對(duì)介紹的CPU由哪些寄存器(名稱(chēng)、大小)構(gòu)成,各個(gè)寄存器的含義,用途,CPU與存儲(chǔ)器等部件的數(shù)據(jù)傳送過(guò)程,會(huì)覺(jué)得很抽象,多數(shù)同學(xué)都是采用死記硬背的方式,這章節(jié)是第二章節(jié)的內(nèi)容,也是能否學(xué)好該課程關(guān)鍵的一章,如果理解不深,這無(wú)疑為后續(xù)的學(xué)習(xí),特別是尋址方式的學(xué)習(xí)埋下了隱患。

    針對(duì)這個(gè)問(wèn)題,教師有必要對(duì)教學(xué)過(guò)程進(jìn)行精心的設(shè)計(jì)。

    在這章節(jié)中我們利用FLASH技術(shù),把各種尋址方式下傳送指令的CPU與存儲(chǔ)器等部件的數(shù)據(jù)傳送過(guò)程以動(dòng)畫(huà)形式展現(xiàn)給學(xué)生,使得復(fù)雜,抽象的過(guò)程變得直觀,學(xué)生理解比較容易,也加深了對(duì)尋址方式的記憶。

    2.2對(duì)比法教學(xué)

    目前計(jì)算機(jī)專(zhuān)業(yè)的課程設(shè)置中,《匯編程序語(yǔ)言的程序設(shè)計(jì)》課程通常是學(xué)習(xí)完C語(yǔ)言課程之后開(kāi)始學(xué)習(xí)的。所以在教學(xué)中可以采用對(duì)比法來(lái)講解課程,對(duì)某些語(yǔ)法知識(shí)點(diǎn)和程序設(shè)計(jì)過(guò)程我們可以以C語(yǔ)言和匯編語(yǔ)言對(duì)應(yīng)分析。

    例如在介紹寄存器時(shí),由于在一般的c語(yǔ)言程序中并沒(méi)有直接使用到寄存器。因此,我們使用vC++6.0環(huán)境下的調(diào)試工具顯示一個(gè)c語(yǔ)言程序及其對(duì)應(yīng)的機(jī)器碼,讓學(xué)生看到編寫(xiě)匯編程序寄存器的用途,加深了學(xué)生對(duì)匯編語(yǔ)言程序的理解。

    int m=5,n=6,c;

    004010E8 mov dword ptr [ebp-4],5

    004010EF mov dword ptr [ebp-8],6

    c=m+n;

    004010F6 mov eax,dword ptr [ebp-4]

    004010F9 add eax,dword ptr [ebp-8]

    004010FC mov dword ptr [ebp-0Ch],eax

    在介紹語(yǔ)法知識(shí)時(shí),比如變量的定義:

    C語(yǔ)言中的變量定義形式如下:

    int c1,c2=0;

    匯編語(yǔ)言的變量定義形式如下:

    cl DW ?

    c2 DW 0 轉(zhuǎn)貼于

    2.3抽象概念的比喻教學(xué)法

    在對(duì)段地址和偏移地址的講解過(guò)程中,可以采用比喻法,把操作數(shù)比喻成學(xué)生,把教室的房間號(hào)比喻成段地址,教室內(nèi)每個(gè)座位編個(gè)號(hào),編號(hào)就是偏移地址,要想到教室把某個(gè)學(xué)生找到,就要找到相應(yīng)的教室號(hào),再到對(duì)應(yīng)的座位號(hào)找到這個(gè)學(xué)生,同理,要想把主存中的操作數(shù)找到就要找到段地址和相應(yīng)的偏移地址,另外要讓學(xué)生知道每個(gè)教室里的座位號(hào)都是從0號(hào)開(kāi)始編號(hào)的,也就是每個(gè)段里的偏移地址如果不特別指定,也是從0號(hào)開(kāi)始編號(hào)的。

    3實(shí)踐教學(xué)改革

    3.1增強(qiáng)實(shí)驗(yàn)環(huán)節(jié),做一些實(shí)際項(xiàng)目

    程序設(shè)計(jì)對(duì)于大多數(shù)的初學(xué)者來(lái)說(shuō)有一定的難度。對(duì)于給定的一個(gè)實(shí)驗(yàn)題目,許多學(xué)生往往感到無(wú)從下手。目前的上機(jī)實(shí)驗(yàn)時(shí)間往往很短,常常是學(xué)生才剛剛有點(diǎn)入門(mén),實(shí)驗(yàn)環(huán)節(jié)就結(jié)束了;且課外實(shí)踐環(huán)節(jié)幾乎沒(méi)有,導(dǎo)致學(xué)生即使課內(nèi)學(xué)的再好也不會(huì)應(yīng)用。

    在實(shí)驗(yàn)設(shè)計(jì)方面可以先把一些經(jīng)典的程序提供給學(xué)生,例如分支結(jié)構(gòu)的設(shè)計(jì)、循環(huán)結(jié)構(gòu)的設(shè)計(jì)等,讓學(xué)生在寫(xiě)出C語(yǔ)言程序之后再設(shè)計(jì)匯編程序,找出兩者編程思維的區(qū)別。這樣通過(guò)一段時(shí)間的經(jīng)驗(yàn)積累,就能夠編寫(xiě)比較復(fù)雜的的程序,由于上機(jī)時(shí)間有限,可以每次實(shí)驗(yàn)課之后布置一些題目供學(xué)生選擇思考,讓學(xué)生課外分組來(lái)設(shè)計(jì)這些程序,題目的類(lèi)型可以是研討型的讓學(xué)生從更多的角度去思考上機(jī)實(shí)驗(yàn)過(guò)的題目,編寫(xiě)出不同的程序;另一種為編程型,

    例如可以設(shè)置這2道題目,音樂(lè)小鍵盤(pán)、貪吃蛇游戲等,以加強(qiáng)同學(xué)們的編程能力的訓(xùn)練。

    3.2采用與高級(jí)語(yǔ)言混合編程

    目前越來(lái)越多的場(chǎng)合要使用匯編語(yǔ)言和高級(jí)語(yǔ)言進(jìn)行混合編程,因此在教學(xué)時(shí)應(yīng)強(qiáng)調(diào)匯編語(yǔ)言和C/C++的混合編程,并且這樣也可以為今后嵌入式系統(tǒng)軟件開(kāi)發(fā)的學(xué)習(xí)打下堅(jiān)實(shí)的軟硬件基礎(chǔ)。

    在實(shí)驗(yàn)課中可以借助 Visual C++開(kāi)發(fā)工具,采用內(nèi)聯(lián)匯編的方式,在 C/C++源程序中嵌入?yún)R編指令序列完成一定的功能,并讓學(xué)生設(shè)置斷點(diǎn)然后跟蹤執(zhí)行,同時(shí)注意觀察寄存器的內(nèi)容和變量的值。這樣可以一方面讓同學(xué)們熟練掌握兩種語(yǔ)言的切換使用,另一方面讓他們感受到兩種語(yǔ)言各有特點(diǎn)。例如可以利用匯編語(yǔ)言處理高級(jí)語(yǔ)言中不方便處理的一些問(wèn)題。

    4課程考核形式改革

    因?yàn)椤皡R編語(yǔ)言程序設(shè)計(jì)”是實(shí)踐性很強(qiáng)的一門(mén)課程,所以實(shí)驗(yàn)課成績(jī)應(yīng)該在總成績(jī)中占有相當(dāng)大的比重。目前大多數(shù)高校的匯編語(yǔ)言課程的實(shí)驗(yàn)課成績(jī)只占很小的比重,即理論知識(shí)往往占課程期末考核總成績(jī)的70%~80%,這樣往往會(huì)導(dǎo)致學(xué)生不得不將大量的精力放在理論知識(shí)的學(xué)習(xí)中,結(jié)果只會(huì)造就大批的應(yīng)試高手。在教學(xué)中,我們遇到過(guò)有的學(xué)生考試試卷能考90分以上,卻連最基本的計(jì)算機(jī)操作都不能動(dòng)手。今后這門(mén)課程的考核,實(shí)驗(yàn)課成績(jī)應(yīng)該提高到占總成績(jī)的1/2。老師在實(shí)驗(yàn)中應(yīng)該營(yíng)造出互動(dòng)氣氛,檢查每個(gè)學(xué)生的完成情況同時(shí)做好記錄,根據(jù)學(xué)生的實(shí)際動(dòng)手情況給出他們的平時(shí)實(shí)驗(yàn)成績(jī),而不是只依據(jù)交上來(lái)的實(shí)驗(yàn)報(bào)告,這樣也能杜絕抄襲之風(fēng)。

    5結(jié)束語(yǔ)

    通過(guò)教學(xué)改革的實(shí)踐,在一定程度上提高了他們對(duì)本課程的學(xué)習(xí)積極性,又降低了學(xué)習(xí)難度。良好的教學(xué)效果是永遠(yuǎn)追求的目標(biāo),在今后的教學(xué)中,我們還需要不斷進(jìn)行探索、研究和嘗試,不斷更新觀念,發(fā)現(xiàn)自身教學(xué)過(guò)程中的問(wèn)題,找到解決辦法,提高教學(xué)效果。

    參考文獻(xiàn)

    [1] 王成耀.80x86匯編語(yǔ)言程序設(shè)計(jì)[M].北京:人民郵電出版社,2008(第2版).

    篇7

    社會(huì)競(jìng)爭(zhēng)日益激烈,快速變化的社會(huì)環(huán)境對(duì)人才的綜合素質(zhì)提出更高要求,強(qiáng)調(diào)適應(yīng)能力和設(shè)計(jì)應(yīng)用能力的提高。為了提升我國(guó)高等教育的水平,盡快與國(guó)際高等教育接軌,近年來(lái)國(guó)家加大了對(duì)教育科研的投入,加強(qiáng)對(duì)高等教育的管理監(jiān)督,強(qiáng)調(diào)對(duì)學(xué)生動(dòng)手能力和創(chuàng)新能力的培養(yǎng)[1]。計(jì)算機(jī)作為現(xiàn)代工作生活必不可少的工具,人們的創(chuàng)新思想和設(shè)計(jì)理念都需要借助計(jì)算機(jī)來(lái)實(shí)現(xiàn),各個(gè)專(zhuān)業(yè)的學(xué)生都需要具備一定的程序設(shè)計(jì)能力,因此大多數(shù)理工科專(zhuān)業(yè)的學(xué)生在整個(gè)本科學(xué)習(xí)過(guò)程中會(huì)選修兩門(mén)以上程序設(shè)計(jì)方面的課程。如何合理地安排課程和實(shí)驗(yàn)內(nèi)容,提高學(xué)生的程序設(shè)計(jì)能力,對(duì)培養(yǎng)高素質(zhì)的綜合人才具有重要意義。目前大學(xué)課程的改革偏重于課程內(nèi)容以及課程設(shè)置方面的改革,而對(duì)教學(xué)實(shí)施改革的力度還不夠[2]。

    1程序設(shè)計(jì)能力的培養(yǎng)

    程序設(shè)計(jì)能力的培養(yǎng),首先是培養(yǎng)學(xué)生的設(shè)計(jì)能力,如何分析問(wèn)題,提出解決方案;如何表達(dá)自己的設(shè)計(jì)思想,進(jìn)而完善設(shè)計(jì)思路。設(shè)計(jì)能力的培養(yǎng)與具體的程序?qū)崿F(xiàn)沒(méi)有太大關(guān)系,然而卻是程序設(shè)計(jì)的基礎(chǔ)。因此,程序設(shè)計(jì)能力應(yīng)該由兩大部分組成:

    第一部分,也是基礎(chǔ)部分,分析問(wèn)題,表達(dá)并細(xì)化解決思路的能力。這一部分與課程內(nèi)容的聯(lián)系較為松散,卻是能力培養(yǎng)的基礎(chǔ)。

    第二部分,是與課程密切相關(guān)的編程實(shí)現(xiàn)和調(diào)試程序的能力。學(xué)生用課程中所學(xué)的某種編程語(yǔ)言,例如匯編語(yǔ)言或C語(yǔ)言,實(shí)現(xiàn)自己的設(shè)計(jì)思想,并實(shí)際動(dòng)手上機(jī),調(diào)試運(yùn)行程序,解決具體問(wèn)題。

    目前課程內(nèi)容設(shè)置以及教師的授課均偏重于第二部分,課堂上多講授具體指令的功能及應(yīng)用,大多數(shù)例題程序只有十多條,至多幾十條指令,并且教師在課堂授課時(shí)大多直接給出正確的程序,而不是向?qū)W生演示分析問(wèn)題、設(shè)計(jì)流程、編寫(xiě)程序、最后調(diào)試修改程序的整個(gè)程序設(shè)計(jì)過(guò)程。其結(jié)果就是,面對(duì)程序設(shè)計(jì)題目時(shí),學(xué)生大多直接開(kāi)始編寫(xiě)程序,而不是整理設(shè)計(jì)思路。盲目編寫(xiě)的程序往往邏輯混亂,缺乏調(diào)試經(jīng)驗(yàn)的學(xué)生無(wú)法調(diào)試得到正確結(jié)果,打擊了學(xué)生學(xué)習(xí)的自信心和積極性。因此在課堂教學(xué)活動(dòng)中,應(yīng)該強(qiáng)化對(duì)學(xué)生分析設(shè)計(jì)能力的培養(yǎng),通過(guò)例題和課堂問(wèn)答,詳細(xì)演示整個(gè)分析、修改,最后完成流程設(shè)計(jì)的過(guò)程,不要直接給出答案。大多情況下,引導(dǎo)學(xué)生完成的流程與例題的答案有所不同,分析兩者,改變學(xué)生始終希望有標(biāo)準(zhǔn)答案的習(xí)慣。有了流程后,引導(dǎo)學(xué)生用所學(xué)指令編寫(xiě)程序,利用多媒體教學(xué)手段,向?qū)W生演示整個(gè)調(diào)試修改程序的過(guò)程,強(qiáng)調(diào)分析問(wèn)題、整理設(shè)計(jì)流程的重要性,改變學(xué)生忽略流程設(shè)計(jì),直接編寫(xiě)程序的“惡習(xí)”。

    基金項(xiàng)目:重慶市高等教育教學(xué)改革研究項(xiàng)目(0634170);重慶大學(xué)教學(xué)改革項(xiàng)目(教200617)。

    作者簡(jiǎn)介:胡青(1975-),女,重慶人,講師,碩士,研究方向?yàn)槟J阶R(shí)別和智能系統(tǒng)。

    實(shí)際應(yīng)用中,人們分析解決問(wèn)題時(shí),多采用從大到小,從上到下逐漸細(xì)化的方法。然而在教學(xué)過(guò)程中,學(xué)生很難接受這種方法,面對(duì)一個(gè)稍微復(fù)雜的具體問(wèn)題時(shí),學(xué)生大多無(wú)從下手,不知道如何開(kāi)始分析?!皡R編語(yǔ)言程序設(shè)計(jì)”課程在整個(gè)本科教育體系中屬于基礎(chǔ)教育,開(kāi)設(shè)時(shí)間較早,大多開(kāi)設(shè)于大學(xué)二年級(jí),這也就意味著,本課程主要面向低年級(jí)的,獨(dú)立思考能力相對(duì)較差的學(xué)生。這類(lèi)學(xué)生可以解決具體的小問(wèn)題,對(duì)于稍微大一點(diǎn)的問(wèn)題,就不知道如何進(jìn)行分析。針對(duì)這種情況,培養(yǎng)學(xué)生思維分析能力時(shí),適宜采取從小到大的方法,逐步引導(dǎo)學(xué)生適應(yīng)分析方法,示例最好選擇學(xué)生熟悉的事務(wù),如學(xué)生成績(jī)管理等。從一個(gè)具體的小功能出發(fā),如統(tǒng)計(jì)某高考學(xué)生的總分,配合課程進(jìn)度,逐步添加功能。例如學(xué)習(xí)分支結(jié)構(gòu)及相應(yīng)指令后,就可以統(tǒng)計(jì)某個(gè)學(xué)生不及格的課程門(mén)數(shù),到課程結(jié)束時(shí)可以完成一個(gè)具有基本功能的學(xué)生成績(jī)管理系統(tǒng)。最后再引導(dǎo)學(xué)生用從大到小,從上到下的方法分析設(shè)計(jì)學(xué)生成績(jī)管理系統(tǒng)的功能,使學(xué)生了解熟悉這種分析方法。

    第二部分程序設(shè)計(jì)能力的培養(yǎng),要使學(xué)生適應(yīng)計(jì)算機(jī)的“思維”方法。計(jì)算機(jī)中使用二進(jìn)制,數(shù)據(jù)的儲(chǔ)存、運(yùn)算、傳輸都采用二進(jìn)制。這就需要教師耐心引導(dǎo),通過(guò)大量的例子和演示,使學(xué)生能夠切換到計(jì)算機(jī)的“思維”方法,而不是繼續(xù)停留在傳統(tǒng)的紙筆方式。貫穿整個(gè)程序設(shè)計(jì)的是數(shù)據(jù)流,從哪里得到原始數(shù)據(jù),對(duì)這個(gè)數(shù)據(jù)做何種處理,結(jié)果存放到哪里。調(diào)試驗(yàn)證程序的過(guò)程就是修改待處理數(shù)據(jù),觀察數(shù)據(jù)處理的結(jié)果是否正確,修改指令直到結(jié)果正確的過(guò)程。與其他非計(jì)算機(jī)類(lèi)的課程相比,“匯編語(yǔ)言程序設(shè)計(jì)”課程有其特殊性,程序設(shè)計(jì)是一個(gè)調(diào)試修改錯(cuò)誤,最終得到“正確”程序的過(guò)程,而其他非計(jì)算機(jī)類(lèi)的大多數(shù)課程都要求一次得到正確結(jié)果,不允許出現(xiàn)錯(cuò)誤,這就導(dǎo)致學(xué)生下意識(shí)追求直接寫(xiě)出“正確”程序,而不是調(diào)試程序。教材上的例題以及教師授課時(shí)都直接給出最終的程序,省略中間的調(diào)試修改過(guò)程,在一定程度上也加深了學(xué)生的這種傾向,剛接觸程序設(shè)計(jì)的學(xué)生往往有重指令、輕數(shù)據(jù)、忽略調(diào)試的傾向。因此充分利用多媒體手段,在課堂上引導(dǎo)學(xué)生動(dòng)手編程,演示調(diào)試修改過(guò)程,通過(guò)實(shí)際的例題說(shuō)明觀察數(shù)據(jù),調(diào)試修改程序的方法,對(duì)培養(yǎng)學(xué)生調(diào)試修改程序的意識(shí)和能力是及其必要和有效的。

    2教學(xué)及實(shí)驗(yàn)改革的實(shí)踐

    2.1增設(shè)習(xí)題課

    “匯編程序設(shè)計(jì)”課程是實(shí)踐性很強(qiáng)的課程,都配有一定的實(shí)驗(yàn)課程,教師對(duì)實(shí)驗(yàn)課的重要性已有了足夠的認(rèn)識(shí),然而強(qiáng)調(diào)實(shí)驗(yàn)課程對(duì)學(xué)生動(dòng)手能力的培養(yǎng)[3],在一定程度上忽略了課堂教學(xué)對(duì)學(xué)生“動(dòng)腦”能力的鍛煉。課堂教學(xué)不能局限于程序指令或語(yǔ)法規(guī)則的講授,固定不變的“靜態(tài)”內(nèi)容更多需要學(xué)生記憶,而不是理解和應(yīng)用。理論教學(xué)活動(dòng)以教師為主體,而習(xí)題課應(yīng)以學(xué)生為主,教師起輔助引導(dǎo)作用,習(xí)題課側(cè)重于“動(dòng)態(tài)”思維能力的培養(yǎng)。

    例如任何一本程序設(shè)計(jì)入門(mén)的教材都將程序設(shè)計(jì)分成了3種基本結(jié)構(gòu),即順序結(jié)構(gòu)、分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu),掌握這3種結(jié)構(gòu)的設(shè)計(jì)調(diào)試是整個(gè)程序設(shè)計(jì)的基礎(chǔ)。介紹相關(guān)指令和程序結(jié)構(gòu)后,在習(xí)題課上,通過(guò)具體的例子,引導(dǎo)學(xué)生分析問(wèn)題,提出解決問(wèn)題的流程,使用所學(xué)的指令和結(jié)構(gòu)編程實(shí)現(xiàn)。利用多媒體手段,演示程序的調(diào)試修改過(guò)程,設(shè)計(jì)調(diào)試數(shù)據(jù),調(diào)試學(xué)生編寫(xiě)的程序,引導(dǎo)學(xué)生自己發(fā)現(xiàn)解決錯(cuò)誤,整個(gè)過(guò)程中注意與學(xué)生的互動(dòng)。多個(gè)簡(jiǎn)單的例子組合起來(lái)就形成了一個(gè)稍微復(fù)雜的問(wèn)題,通過(guò)前面分步的分析,學(xué)生對(duì)這個(gè)問(wèn)題已經(jīng)熟悉了解,不會(huì)產(chǎn)生畏難情緒,之后再通過(guò)一個(gè)類(lèi)似的問(wèn)題,引導(dǎo)學(xué)生自行分析實(shí)現(xiàn)一個(gè)稍具規(guī)模的程序,可以有效地增強(qiáng)學(xué)生的自信心。習(xí)題課中要注意黑板與多媒體手段的結(jié)合,強(qiáng)調(diào)以學(xué)生為主體,教師引導(dǎo)提示。通過(guò)習(xí)題課使學(xué)生對(duì)如何分析設(shè)計(jì)調(diào)試程序有了直觀認(rèn)識(shí)后,再經(jīng)過(guò)實(shí)驗(yàn)環(huán)節(jié),加深學(xué)生的理解和應(yīng)用,最終達(dá)到培養(yǎng)學(xué)生能力的目的。

    2.2實(shí)驗(yàn)內(nèi)容的改革

    實(shí)驗(yàn)環(huán)節(jié)作為理論教學(xué)的補(bǔ)充,一直處于輔助地位,一般針對(duì)理論教學(xué)的章節(jié)安排設(shè)置實(shí)驗(yàn)內(nèi)容,而理論教學(xué)中各個(gè)章節(jié)的知識(shí)點(diǎn)都是相對(duì)獨(dú)立的,這就直接導(dǎo)致實(shí)驗(yàn)內(nèi)容相互間聯(lián)系松散,甚至各自獨(dú)立。根據(jù)各章節(jié)的知識(shí)點(diǎn)安排實(shí)驗(yàn)內(nèi)容,每次實(shí)驗(yàn)都只要求學(xué)生編寫(xiě)一小段程序,鍛煉檢查學(xué)生對(duì)具體知識(shí)點(diǎn)的掌握,前后實(shí)驗(yàn)之間聯(lián)系較為松散,到課程結(jié)束時(shí),學(xué)生編寫(xiě)過(guò)多個(gè)實(shí)驗(yàn)程序,但每個(gè)程序都只有幾十行代碼,很難將各個(gè)知識(shí)點(diǎn)融會(huì)貫通,靈活運(yùn)用,更加無(wú)法體會(huì)模塊化設(shè)計(jì)的必要性和設(shè)計(jì)思想。因此設(shè)置實(shí)驗(yàn)內(nèi)容時(shí),應(yīng)該加強(qiáng)實(shí)驗(yàn)間的聯(lián)系,每次實(shí)驗(yàn)都給出需要綜合應(yīng)用所學(xué)知識(shí)點(diǎn)的題目,隨著課程的進(jìn)展,實(shí)驗(yàn)內(nèi)容也從簡(jiǎn)單到復(fù)雜,到課程結(jié)束時(shí),學(xué)生應(yīng)該能夠進(jìn)行一定規(guī)模的程序設(shè)計(jì)。表1列出了本課程的綜合應(yīng)用實(shí)驗(yàn)題目,共分7次實(shí)驗(yàn),每次實(shí)驗(yàn)4學(xué)時(shí),每次實(shí)驗(yàn)均布置1~2道針對(duì)該次實(shí)驗(yàn)知識(shí)點(diǎn)的一般應(yīng)用題,外加綜合應(yīng)用前面所學(xué)知識(shí)的綜合應(yīng)用題。這樣的實(shí)驗(yàn)設(shè)置可以幫助學(xué)生融會(huì)貫通所學(xué)知識(shí),并能有效地改變學(xué)生忽略平時(shí)學(xué)習(xí),期末集中突擊的現(xiàn)象。

    表1 “匯編語(yǔ)言程序設(shè)計(jì)”課程綜合實(shí)驗(yàn)設(shè)置

    實(shí)驗(yàn)名稱(chēng)綜合實(shí)驗(yàn)題目

    實(shí)驗(yàn)1簡(jiǎn)單程序?qū)嶒?yàn)編程實(shí)現(xiàn)下列無(wú)符號(hào)數(shù)運(yùn)算,結(jié)果放在變量X中,X=(84÷6+5)*7-100

    實(shí)驗(yàn)2分支程序?qū)嶒?yàn)無(wú)符號(hào)字節(jié)型變量X取值范圍為[0,200],編程實(shí)現(xiàn)如下函數(shù)f(X),結(jié)果存放在變量Y中。

    f(X)= X/20≤X≤50

    (X÷6+10)*7-1050

    5*X 100

    實(shí)驗(yàn)3循環(huán)程序?qū)嶒?yàn)無(wú)符號(hào)字節(jié)型變量X取值范圍為[0,200],編程實(shí)現(xiàn)如下函數(shù)f(X),結(jié)果存放在變量Y中。

    f(X)= 0+1+2+…+X0≤X≤50

    (X÷6+10)*7-1050

    5*X 100

    實(shí)驗(yàn)4子程序?qū)嶒?yàn)編寫(xiě)一個(gè)子程序?qū)崿F(xiàn)實(shí)驗(yàn)3中綜合題的函數(shù)功能

    實(shí)驗(yàn)5DOS功能調(diào)用實(shí)驗(yàn)從鍵盤(pán)輸入X的值,并將f(X)結(jié)果顯示在屏幕上

    實(shí)驗(yàn)6圖形功能實(shí)驗(yàn)在屏幕上畫(huà)出f(X)函數(shù)的圖形

    實(shí)驗(yàn)7文件輸入輸出實(shí)驗(yàn)從鍵盤(pán)輸入X的值,共輸入10次,將f(X)的結(jié)果顯示在屏幕上,并且將X和f(X)的值寫(xiě)入文本文件OUT.TXT

    2.3實(shí)驗(yàn)過(guò)程管理的改革

    同理論課相比,實(shí)驗(yàn)課的管理相對(duì)要松散一些。實(shí)驗(yàn)課中學(xué)生遲到、早退、曠課、代人簽到等現(xiàn)象屢見(jiàn)不鮮。近年來(lái)我們加強(qiáng)了對(duì)實(shí)驗(yàn)環(huán)節(jié)的管理和監(jiān)督,規(guī)范實(shí)驗(yàn)報(bào)告的要求,要求教師批改每份報(bào)告,并給出評(píng)分等級(jí)。然而在實(shí)際執(zhí)行過(guò)程中發(fā)現(xiàn),學(xué)生抄襲報(bào)告現(xiàn)象較為嚴(yán)重,不少學(xué)生在實(shí)驗(yàn)前并沒(méi)有完成預(yù)習(xí)工作。由于批改工作量較大,一個(gè)教師要批改幾十甚至上百學(xué)生的實(shí)驗(yàn)報(bào)告,不少教師采取“粗放式”的批改辦法,實(shí)驗(yàn)報(bào)告制度在當(dāng)前情況下形式大于實(shí)效。

    計(jì)算機(jī)類(lèi)課程的實(shí)驗(yàn)有其特殊性,學(xué)生更容易復(fù)制抄襲,并且教師很難在短時(shí)間內(nèi)通過(guò)閱讀報(bào)告檢查出程序的錯(cuò)誤,發(fā)現(xiàn)抄襲報(bào)告的學(xué)生,也就很難合理公平地評(píng)定出實(shí)驗(yàn)成績(jī),這在一定程度上打擊了學(xué)生獨(dú)立完成實(shí)驗(yàn)的積極性。實(shí)驗(yàn)成績(jī)的評(píng)定既要重視實(shí)驗(yàn)結(jié)果,更要重視實(shí)驗(yàn)過(guò)程[4],只有建立相應(yīng)的管理機(jī)制杜絕抄襲現(xiàn)象,才能促使學(xué)生踏踏實(shí)實(shí)地完成平時(shí)的實(shí)驗(yàn),進(jìn)而達(dá)到鍛煉培養(yǎng)學(xué)生動(dòng)手能力的目的。每次實(shí)驗(yàn)都布置具體的實(shí)驗(yàn)任務(wù),設(shè)定截止日期,要求學(xué)生在截止日期前將自己編寫(xiě)的程序通過(guò)電子郵件發(fā)送給指導(dǎo)教師。教師直接運(yùn)行程序,檢查學(xué)生實(shí)驗(yàn)的完成情況,可以有效地提高批改速度和正確率,再利用計(jì)算機(jī)軟件比較學(xué)生提交的程序,相似度達(dá)到一定程度就可判定為抄襲,對(duì)于認(rèn)定為相互抄襲的學(xué)生,該次實(shí)驗(yàn)均判定為不合格,這樣既可以減輕教師批改報(bào)告的工作量,也可以較為客觀準(zhǔn)確地評(píng)定出學(xué)生的實(shí)驗(yàn)情況,對(duì)改變當(dāng)前抄襲報(bào)告的現(xiàn)象能起到積極作用。

    通過(guò)實(shí)際的教學(xué)活動(dòng)發(fā)現(xiàn),習(xí)題課上學(xué)生注意力比較集中,大部分同學(xué)都能跟隨教師的指導(dǎo)積極參與。同以往相比,上過(guò)習(xí)題課后,實(shí)驗(yàn)課中提問(wèn)的學(xué)生人數(shù)明顯增加,不少學(xué)生詢問(wèn)如何調(diào)試,而不是直接請(qǐng)求教師幫助解決問(wèn)題。采用上述措施后,抄襲實(shí)驗(yàn)報(bào)告的現(xiàn)象依然存在,但人數(shù)有所下降。說(shuō)明上述改革措施,對(duì)培養(yǎng)學(xué)生綜合應(yīng)用能力和調(diào)動(dòng)學(xué)生的學(xué)習(xí)主動(dòng)性起到了積極作用。

    3結(jié)束語(yǔ)

    隨著計(jì)算機(jī)技術(shù)的快速發(fā)展,計(jì)算機(jī)已經(jīng)深入人們生產(chǎn)、工作、生活的各個(gè)方面,良好的計(jì)算機(jī)應(yīng)用和設(shè)計(jì)能力是高素質(zhì)人才應(yīng)該具備的基本能力。本文針對(duì)“匯編語(yǔ)言程序設(shè)計(jì)”課程的特點(diǎn),對(duì)該課程的教學(xué)方法、內(nèi)容和管理模式進(jìn)行了改革實(shí)踐,這些措施對(duì)提高學(xué)生程序設(shè)計(jì)能力起到了積極作用。希望課程建設(shè)經(jīng)驗(yàn)?zāi)軌驅(qū)ζ渌嗨普n程的改革起到參考借鑒作用。

    參考文獻(xiàn):

    [1] 教育部. 國(guó)家教育事業(yè)發(fā)展“十一五”規(guī)劃綱要[Z]. 2008.

    [2] 周建平. 大學(xué)課程改革的“深度”缺失與覺(jué)醒[J]. 江蘇高教,2009(1):71-73.

    [3] 李麗濱,盧宇. 高校計(jì)算機(jī)實(shí)驗(yàn)教學(xué)改革的思考與探索[J]. 遼寧教育研究,2002(9):52-53.

    [4] 劉建英. 計(jì)算機(jī)硬件開(kāi)發(fā)性實(shí)驗(yàn)教學(xué)之我見(jiàn)[J]. 高等理科教育,2007(4):105-107.

    Reform in Teaching and Experiments of Course “Assembly Language Program Desgin”

    HU Qing, YOU Ji-yuan, SHI Xin

    篇8

    關(guān)鍵詞:匯編語(yǔ)言程序設(shè)計(jì);實(shí)驗(yàn)平臺(tái);教學(xué)改革

    中圖分類(lèi)號(hào):G642

    文獻(xiàn)標(biāo)識(shí)碼:B

    1教材系列化建設(shè)

    我們以CCC2002為依據(jù),參考IEEE-CS&ACM 制定的計(jì)算機(jī)課程指南,閱讀大量的國(guó)內(nèi)外相關(guān)優(yōu)秀教材,結(jié)合課程組科研實(shí)踐成果,按照系列化建設(shè)的思路,先后編寫(xiě)完成了《Intel 80x86/Pentium匯編語(yǔ)言程序設(shè)計(jì)》、《匯編語(yǔ)言程序設(shè)計(jì)(從DOS到Windows)》、《Windows匯編語(yǔ)言程序設(shè)計(jì)教程》、《Windows匯編語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)》等4本教材。其中1本被評(píng)為2006年北京市高等教育精品教材,1本被列為2007年“普通高等教育“十一五”國(guó)家級(jí)教材規(guī)劃”,2本作為2007年北京高等教育精品教材建設(shè)項(xiàng)目。通過(guò)編寫(xiě)、使用這些教材,為教學(xué)內(nèi)容改革奠定了堅(jiān)實(shí)的基礎(chǔ)。

    2教學(xué)內(nèi)容及教學(xué)方法改革

    在教學(xué)內(nèi)容和方法上加強(qiáng)與“微機(jī)原理與接口技術(shù)”、“計(jì)算機(jī)組織與結(jié)構(gòu)”、“操作系統(tǒng)”等課程間的聯(lián)系,有利于各門(mén)課程之間的融會(huì)貫通。教學(xué)內(nèi)容體現(xiàn)課程的時(shí)代性和先進(jìn)性,以32位匯編語(yǔ)言及Windows編程環(huán)境的內(nèi)容為主,從16位實(shí)模式轉(zhuǎn)換到32位保護(hù)模式,結(jié)合豐富的應(yīng)用性實(shí)例,使所學(xué)知識(shí)與目前主流的應(yīng)用環(huán)境相結(jié)合,為學(xué)生的創(chuàng)新能力奠定基礎(chǔ)。

    為實(shí)現(xiàn)教學(xué)模式從“教學(xué)型”向“研究型”的轉(zhuǎn)變,需要充分研究學(xué)生的認(rèn)知過(guò)程,掌握認(rèn)知規(guī)律。根據(jù)“匯編語(yǔ)言程序設(shè)計(jì)”課程本身的理論抽象性和鮮明應(yīng)用性,課程組以建構(gòu)主義理論為基礎(chǔ),探索并改進(jìn)教學(xué)方法。在教學(xué)設(shè)計(jì)中體現(xiàn)以學(xué)生為中心、以教師為主導(dǎo)的思想,采用重點(diǎn)難點(diǎn)精講、對(duì)比教學(xué)、形象教學(xué)、重視實(shí)驗(yàn)等方法,用多媒體手段、典型實(shí)例來(lái)展現(xiàn)抽象的編程概念。采用現(xiàn)代化網(wǎng)絡(luò)教育技術(shù)建立了課程網(wǎng)站及網(wǎng)絡(luò)教室,加強(qiáng)師生互動(dòng),拓展了交流空間。

    例如,在多門(mén)專(zhuān)業(yè)課中均涉及到“中斷”概念,在匯編語(yǔ)言程序設(shè)計(jì)課程中以編程實(shí)例將它具體化,使學(xué)生對(duì)抽象的理論概念有了直接的認(rèn)識(shí),從軟件和硬件兩個(gè)角度加深了對(duì)中斷機(jī)制底層的深層次理解,提高了學(xué)習(xí)興趣。

    又如學(xué)生難于理解間接尋址方式,但學(xué)生在學(xué)習(xí)本課程時(shí)已有了C語(yǔ)言知識(shí),在教學(xué)中就把間接尋址方式與C語(yǔ)言的指針類(lèi)比,通過(guò)與先前知識(shí)的銜接,經(jīng)過(guò)對(duì)比學(xué)習(xí),使學(xué)生建構(gòu)、衍生出更深層次的信息,很容易對(duì)新知識(shí)消化。對(duì)于較難理解的程序轉(zhuǎn)移地址的形成,采用動(dòng)畫(huà)方式幫助學(xué)生理解,并通過(guò)CASE結(jié)構(gòu)程序設(shè)計(jì)實(shí)踐鞏固。把宏指令與過(guò)程及高級(jí)語(yǔ)言的函數(shù)對(duì)比,學(xué)生很快掌握了其設(shè)計(jì)方法,他們通過(guò)主動(dòng)對(duì)知識(shí)的處理和轉(zhuǎn)化,又總結(jié)出“宏實(shí)際更像高級(jí)語(yǔ)言的預(yù)定義,用到它的地方都會(huì)有它一份拷貝,所以宏可能讓你的真正代碼量劇增”。

    通過(guò)精心組織教學(xué),選擇與實(shí)際應(yīng)用密切結(jié)合的教學(xué)案例,在課堂上和網(wǎng)絡(luò)支撐平臺(tái)上增加總結(jié)和討論環(huán)節(jié),鼓勵(lì)學(xué)生主動(dòng)反思,從而調(diào)整個(gè)體的認(rèn)知,幫助學(xué)生實(shí)現(xiàn)在原有認(rèn)知基礎(chǔ)上新知識(shí)的整合,在融合了多門(mén)課程知識(shí)的基礎(chǔ)上,形成系統(tǒng)的知識(shí)觀念,提高綜合應(yīng)用和創(chuàng)新能力。

    3構(gòu)建先進(jìn)的實(shí)驗(yàn)平臺(tái)

    在微機(jī)系統(tǒng)的教學(xué)和實(shí)驗(yàn)內(nèi)容上,Windows操作系統(tǒng)及32位保護(hù)模式已成為匯編語(yǔ)言的發(fā)展趨勢(shì)。然而,目前Windows環(huán)境下還沒(méi)有一種專(zhuān)門(mén)用于匯編語(yǔ)言的主流開(kāi)發(fā)工具,而底層匯編語(yǔ)言編程所面向的硬件型號(hào)和接口又存在巨大差異。為此,課程組開(kāi)展了改革匯編語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)環(huán)境的探索,編寫(xiě)了《Windows匯編語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)》教材,構(gòu)建了新型的實(shí)驗(yàn)環(huán)境,采用Microsoft Visual C/C++集成開(kāi)發(fā)工具來(lái)編寫(xiě)、調(diào)試匯編程序(見(jiàn)下圖),使匯編程序的編輯、編譯、連接、調(diào)試等過(guò)程均與C/C++程序一致,減輕了學(xué)生學(xué)習(xí)負(fù)擔(dān),提高了C/C++與匯編混合語(yǔ)言編程能力。應(yīng)用虛擬機(jī)軟件技術(shù),使匯編語(yǔ)言編程面向虛擬的、統(tǒng)一的硬件及其接口,保證了實(shí)驗(yàn)環(huán)境的統(tǒng)一性,提高了實(shí)驗(yàn)效率。

    4開(kāi)設(shè)體現(xiàn)前沿性、先進(jìn)性的匯編語(yǔ)言實(shí)驗(yàn)

    匯編語(yǔ)言程序設(shè)計(jì)是一門(mén)實(shí)踐性很強(qiáng)的課程。課程組跟蹤計(jì)算機(jī)軟硬件技術(shù)的最新發(fā)展,對(duì)國(guó)內(nèi)外的相關(guān)課程教學(xué)及實(shí)踐進(jìn)行了深入的調(diào)研,結(jié)合在科研實(shí)踐中取得的部分成果,開(kāi)設(shè)出一系列具有鮮明應(yīng)用特色的驗(yàn)證型、綜合型和創(chuàng)新型的層次實(shí)驗(yàn),并寫(xiě)進(jìn)《Windows匯編語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)》教材中,進(jìn)一步鞏固理論教學(xué)內(nèi)容。

    圖 VC集成環(huán)境下的匯編語(yǔ)言調(diào)試

    驗(yàn)證型實(shí)驗(yàn)以掌握單元知識(shí)為目標(biāo),著重訓(xùn)練基礎(chǔ)編程能力,如數(shù)據(jù)塊操作、數(shù)據(jù)顯示、字符串排序、素?cái)?shù)判斷、有序數(shù)組合并等。

    綜合型以融合本課程知識(shí)為主,如多模塊程序設(shè)計(jì)、中斷程序設(shè)計(jì)、線程同步、文件管理等。

    創(chuàng)新型以設(shè)計(jì)具有應(yīng)用背景的實(shí)驗(yàn)為主,培養(yǎng)學(xué)生對(duì)計(jì)算機(jī)知識(shí)體系的融會(huì)貫通及創(chuàng)新能力。如數(shù)據(jù)庫(kù)管理系統(tǒng)設(shè)計(jì)、全屏幕編輯器設(shè)計(jì)、緩沖區(qū)溢出實(shí)驗(yàn)、讀取硬盤(pán)序列號(hào)、硬盤(pán)DMA等。

    基于個(gè)體的差異性,學(xué)生可以按照自己的能力和興趣選做部分或全部實(shí)驗(yàn),充分發(fā)揮了學(xué)生的主觀能動(dòng)性。這種強(qiáng)調(diào)自主學(xué)習(xí)的教學(xué)過(guò)程和方法,有效地促進(jìn)了學(xué)生自我認(rèn)知的發(fā)展和新知建構(gòu)。通過(guò)實(shí)踐環(huán)節(jié),提高了學(xué)生的程序設(shè)計(jì)能力,為學(xué)習(xí)后續(xù)專(zhuān)業(yè)課程,設(shè)計(jì)硬件驅(qū)動(dòng)、性能優(yōu)化、代碼對(duì)抗等底層系統(tǒng)級(jí)軟件打下堅(jiān)實(shí)基礎(chǔ),培養(yǎng)了學(xué)生的創(chuàng)新能力。

    參考文獻(xiàn)

    [l] 李未. 提高教育質(zhì)量,培養(yǎng)創(chuàng)新人才[J]. 計(jì)算機(jī)教育,2008,(1).

    篇9

    中圖分類(lèi)號(hào):TP313 文獻(xiàn)標(biāo)識(shí)碼:B 文章編號(hào):1002-2422(2008)03-0086-02

    設(shè)計(jì)的I/O子程序庫(kù)包括16位版本和32位版本,可分別應(yīng)用于16位和32位匯編語(yǔ)言應(yīng)用程序,提供的子程序功能包括不同數(shù)制和字符串的輸入與顯示,狀態(tài)標(biāo)志的顯示,滿足匯編語(yǔ)言程序設(shè)計(jì)的通常要求。

    1 設(shè)計(jì)方案

    1.1子程序功能需求

    根據(jù)在匯編語(yǔ)言程序設(shè)計(jì)中的通常要求,子程序所提供的功能主要包括鍵盤(pán)輸入和顯示器顯示,輸入和顯示的內(nèi)容可以是不同的數(shù)制與字符串格式。如表1所示。

    1.2子程序庫(kù)結(jié)構(gòu)

    為了方便整個(gè)子程序庫(kù)的設(shè)計(jì),設(shè)計(jì)了一些通用予程序。在實(shí)現(xiàn)提供給用戶使用的子程序時(shí),充分利用這些通用子程序,簡(jiǎn)化了子程序的代碼編寫(xiě),減少了子程序庫(kù)的長(zhǎng)度。主要子程序之間的關(guān)系如圖1所示。

    字符輸入和顯示子程序READC、DISPC是整個(gè)子程序庫(kù)輸入輸出的基礎(chǔ)。利用這兩個(gè)子程序?qū)崿F(xiàn)了字符串輸入和顯示子程序READMSG和DISPMSG。子程序READMSG和DISPMSG又是不同數(shù)制數(shù)據(jù)輸入和顯示的基礎(chǔ):通過(guò)調(diào)用READMSG讀入字符串,然后調(diào)用字符串轉(zhuǎn)換子程序STRTOBIN、STRTOHEX、STRTOUI和STRTOSl分別將字符串轉(zhuǎn)換為不同數(shù)制的數(shù)據(jù),從而實(shí)現(xiàn)了不同數(shù)制輸入的子程序READBIN、READHEX、READUI、READSI等;通過(guò)調(diào)用DISPMSG顯示字符串,然后調(diào)用數(shù)據(jù)轉(zhuǎn)換字符串子程序BINTOSTR、HEXTOSTR、UITOSTR和SITOSTR分別將字符串轉(zhuǎn)換為不同數(shù)制的數(shù)據(jù),從而實(shí)現(xiàn)了顯示不同數(shù)制的子程序DISPBIN、DISPHEX、DISPUI、DISPSI等。

    設(shè)計(jì)的16位和32位的子程序庫(kù)提供的子程序功能都是相同的,區(qū)別在于16位的字符輸入子程序是利用DOS系統(tǒng)調(diào)用實(shí)現(xiàn)的,而32位的字符輸入子程序是利用WIN-DOWS API函數(shù)實(shí)現(xiàn)的。其他子程序則可以通用。

    各個(gè)子程序匯編后,由庫(kù)管理工具LIB.EXE生成16位子程序庫(kù)I/O16.LIB和32位子程序庫(kù)I/O32.LIB。

    1.3參數(shù)傳遞

    匯編語(yǔ)言子程序的參數(shù)傳遞可以采用寄存器傳遞,共享內(nèi)存變量和堆棧傳遞三種方法。堆棧傳遞參數(shù)時(shí),可以用MASM提供的偽指令PROTO來(lái)聲明子程序,用INVOKE來(lái)調(diào)用子程序。這兩個(gè)偽指令在聲明和調(diào)用子程序時(shí)相對(duì)于CALL指令和PROC偽指令要簡(jiǎn)潔得多。使用堆棧傳遞參數(shù)也是高級(jí)語(yǔ)言通常使用的子程序傳遞參數(shù)的方法,用堆棧傳遞參數(shù)的子程序可以被高級(jí)語(yǔ)言調(diào)用。子程序的返回參數(shù)也遵循高級(jí)語(yǔ)言子程序的規(guī)范,采用寄存器EAX返回子程序的出口參數(shù)。

    1.4宏命令

    篇10

    1 匯編語(yǔ)言程序設(shè)計(jì)教學(xué)存在的問(wèn)題

    目前,匯編語(yǔ)言課程教學(xué)過(guò)程中存在以下問(wèn)題。

    1.1 教學(xué)內(nèi)容相對(duì)陳舊,缺乏實(shí)用性

    目前,很多高校的匯編語(yǔ)言教學(xué)還是基于十六位機(jī),多采用清華大學(xué)出版的沈美明《ibm pc匯編語(yǔ)言程序設(shè)計(jì)》一書(shū)。其中,cpu內(nèi)寄存器主要是16位,內(nèi)存空間只有1mb,且只能在實(shí)模式下進(jìn)行內(nèi)存管理。而在目前的計(jì)算機(jī)技術(shù)發(fā)展環(huán)境下,內(nèi)存空間以gb計(jì)算,傳統(tǒng)的16位匯編語(yǔ)言教學(xué)模式明顯滯后于現(xiàn)今的主流技術(shù),學(xué)生學(xué)習(xí)時(shí)會(huì)覺(jué)得學(xué)過(guò)即淘汰,學(xué)習(xí)積極性較低[1]。

    1.2 教學(xué)方法基本上還是采用常規(guī)的灌輸式的教學(xué)方法

    課堂講授按照書(shū)本一章一節(jié)進(jìn)行,知識(shí)點(diǎn)相對(duì)零散且枯燥乏味,難以在學(xué)生腦海中建立對(duì)語(yǔ)言的整體認(rèn)識(shí)。特別是對(duì)于掌握了計(jì)算機(jī)基礎(chǔ)知識(shí)和計(jì)算機(jī)語(yǔ)言知識(shí)的學(xué)生,在講授匯編語(yǔ)言程序設(shè)計(jì)時(shí)仍延用常規(guī)的方法,不利于學(xué)生掌握大型匯編語(yǔ)言程序設(shè)計(jì)方法。

    1.3 實(shí)驗(yàn)環(huán)節(jié)重視不夠,實(shí)驗(yàn)教學(xué)方法單一

    目前的實(shí)驗(yàn)安排都是圍繞如何消化課堂內(nèi)容展開(kāi),實(shí)驗(yàn)環(huán)節(jié)相對(duì)孤立且模仿性強(qiáng),難于鍛煉學(xué)生的綜合問(wèn)題解決能力;實(shí)驗(yàn)課只是布置任務(wù)讓學(xué)生自己做,較少關(guān)注創(chuàng)新思維的培養(yǎng)。

    2 教學(xué)改革措施

    針對(duì)匯編語(yǔ)言程序設(shè)計(jì)教學(xué)中存在的問(wèn)題,從以下方面進(jìn)行了教學(xué)改革嘗試。

    2.1 更新教學(xué)內(nèi)容

    為了適應(yīng)硬件系統(tǒng)32位大環(huán)境,讓學(xué)生學(xué)有目標(biāo),需要更新匯編語(yǔ)言的教學(xué)內(nèi)容。在16位匯編語(yǔ)言基礎(chǔ)上,適當(dāng)增加32位匯編語(yǔ)言程序設(shè)計(jì)內(nèi)容,具體包括:編程結(jié)構(gòu)、尋址方式和指令系統(tǒng)。編程結(jié)構(gòu)是匯編語(yǔ)言程序設(shè)計(jì)的著陸點(diǎn)。當(dāng)前,winxp等主流操作系統(tǒng)都工作在保護(hù)模式下,在講授實(shí)模式編程結(jié)構(gòu)基礎(chǔ)上,再介紹保護(hù)模式的編程結(jié)構(gòu),學(xué)生會(huì)感覺(jué)新穎實(shí)用。其次,32位匯編語(yǔ)言的尋址方式類(lèi)型和操作數(shù)位數(shù)都大為增加。再次,32位匯編語(yǔ)言的指令系統(tǒng)多達(dá)300多條指令,其源代碼的數(shù)量、速度、占用的內(nèi)存資源都有了質(zhì)的飛躍。因此,學(xué)習(xí)32位匯編,可以深入了解操作系統(tǒng)運(yùn)行細(xì)節(jié),并增加學(xué)生的學(xué)習(xí)興趣。

    2.2 案例教學(xué)法的使用

    常規(guī)灌輸式的教學(xué)方法下,教師對(duì)語(yǔ)法規(guī)則和指令系統(tǒng)逐個(gè)進(jìn)行講解,學(xué)生僅僅是被動(dòng)、機(jī)械和強(qiáng)制的記憶,學(xué)習(xí)后面知識(shí)點(diǎn)時(shí),容易忘記前面相關(guān)知識(shí)點(diǎn)。而使用案例教學(xué)法,通過(guò)簡(jiǎn)單實(shí)例引出枯燥的語(yǔ)法規(guī)則和指令系統(tǒng),讓學(xué)生即學(xué)即用,便于知識(shí)的前后銜接和呼應(yīng)。案例教學(xué)的主要步驟包括:(1)案例設(shè)計(jì)和準(zhǔn)備;(2)章節(jié)重點(diǎn)難點(diǎn)講解;(2)學(xué)生分析案例;(4)教師分析和總結(jié)案例;(5)上機(jī)驗(yàn)證并完善案例。在不斷變化和擴(kuò)充的案例中,使學(xué)生有充分的空間思考所學(xué)內(nèi)容,也易于引出新知識(shí)點(diǎn),使得教學(xué)內(nèi)容具有連貫性,有利于學(xué)生提高自信心并系統(tǒng)理解和掌握匯編語(yǔ)言。

    2.3 精心安排實(shí)驗(yàn)及實(shí)驗(yàn)教學(xué)方法[2]

    匯編語(yǔ)言的實(shí)驗(yàn)內(nèi)容主要包括以下內(nèi)容:調(diào)試工具debug的適用、匯編語(yǔ)言程序設(shè)計(jì)的上機(jī)過(guò)程、基本程序結(jié)構(gòu)設(shè)計(jì)、子程序設(shè)計(jì)和中斷調(diào)用,此外還可以讓學(xué)生了解匯編語(yǔ)言與高級(jí)語(yǔ)言的連接,時(shí)間允許的情況下,還可以設(shè)計(jì)綜合實(shí)驗(yàn)。實(shí)驗(yàn)教學(xué)中,可以采取演示法、模仿法和對(duì)比法相結(jié)合的教學(xué)模式。老師借助多媒體演示工具,將實(shí)驗(yàn)步驟從頭到尾講解一遍,學(xué)生跟著操作,可以極大提高學(xué)習(xí)效率。模仿方法下,老師將一些經(jīng)典程序介紹給學(xué)生,學(xué)生在讀懂后模仿編程,一段時(shí)間積累經(jīng)驗(yàn)后,就可以編寫(xiě)較復(fù)雜的程序。另外,可以將匯編語(yǔ)言與c語(yǔ)言聯(lián)系起來(lái),對(duì)比其異同,促進(jìn)學(xué)生對(duì)兩種語(yǔ)言的理解。

    篇11

    中圖分類(lèi)號(hào):G642

    文獻(xiàn)標(biāo)識(shí)碼:B

    文章編號(hào):1672-5913(2008)06-0019-03

    1教學(xué)現(xiàn)狀及存在問(wèn)題

    在目前匯編語(yǔ)言的教學(xué)過(guò)程中,普遍存在的問(wèn)題就是主流的微型計(jì)算機(jī)已經(jīng)進(jìn)入了64位時(shí)代,多任務(wù)的操作系統(tǒng)取代了DOS,而絕大多數(shù)高校匯編語(yǔ)言程序設(shè)計(jì)課程仍然是單任務(wù)操作系統(tǒng)(DOS)下的8086匯編語(yǔ)言,給學(xué)生的印象是跟不上時(shí)展的步伐。加之,匯編語(yǔ)言和機(jī)器的體系結(jié)構(gòu)結(jié)合緊密,使用者需要對(duì)計(jì)算機(jī)的組成、硬件的控制和指令的解釋過(guò)程有比較清晰的掌握;程序的移植性不好;指令眾多,且同種類(lèi)型的操作(算術(shù)、邏輯、轉(zhuǎn)移等)要根據(jù)操作數(shù)和狀態(tài)標(biāo)志選擇不同的指令(如無(wú)符號(hào)的運(yùn)算與帶符號(hào)的運(yùn)算、條件轉(zhuǎn)移等);運(yùn)算中要根據(jù)數(shù)據(jù)長(zhǎng)度懸而選擇不同的寄存器;程序的編譯調(diào)試比較麻煩;編寫(xiě)出吸引人們感官的程序比較困難。因此,學(xué)生在匯編語(yǔ)言的學(xué)習(xí)中容易產(chǎn)生厭煩情緒。有的學(xué)校減少了匯編語(yǔ)言的課時(shí),還有的學(xué)校甚至干脆取消了這門(mén)課程。

    2“匯編語(yǔ)言”課程的地位

    匯編語(yǔ)言機(jī)器級(jí)在高層機(jī)器和低層機(jī)器間扮演了承上啟下的角色,是計(jì)算機(jī)及相關(guān)專(zhuān)業(yè)學(xué)生需要掌握的重要專(zhuān)業(yè)基礎(chǔ)知識(shí)之一。

    從應(yīng)用場(chǎng)合來(lái)看,匯編語(yǔ)言是能夠利用計(jì)算機(jī)所有硬件資源并能直接控制硬件的唯一計(jì)算機(jī)語(yǔ)言,也是除機(jī)器語(yǔ)言之外最接近計(jì)算機(jī)硬件的編程語(yǔ)言。匯編語(yǔ)言程序產(chǎn)生的代碼精簡(jiǎn)、運(yùn)行效率高,具有高級(jí)語(yǔ)言不可比的“時(shí)空”優(yōu)勢(shì);匯編語(yǔ)言在一些應(yīng)用如嵌入式系統(tǒng)和工業(yè)控制中,匯編語(yǔ)言最最佳的甚至是唯一選擇的開(kāi)發(fā)語(yǔ)言。在一些實(shí)際的應(yīng)用系統(tǒng)中,人們往往會(huì)用匯編語(yǔ)言來(lái)徹底重寫(xiě)某些經(jīng)常調(diào)用的過(guò)程以期獲得更高的性能。

    匯編語(yǔ)言為“計(jì)算機(jī)組成原理”、“計(jì)算機(jī)接口與通信”、“操作系統(tǒng)”、“高級(jí)語(yǔ)言程序設(shè)計(jì)”等相關(guān)課程提供了必要的基礎(chǔ)知識(shí),如圖1所示。

    圖1 匯編語(yǔ)言和其它課程的關(guān)系

    從人才培養(yǎng)方面來(lái)看,計(jì)算機(jī)專(zhuān)業(yè)的學(xué)生不應(yīng)僅僅滿足于利用他人開(kāi)發(fā)的軟件和工具來(lái)解決實(shí)際問(wèn)題,還應(yīng)具備分析、研究原有軟件系統(tǒng),改進(jìn)、完善、提高原有系統(tǒng)功能的能力。匯編語(yǔ)言的教學(xué)將使學(xué)生受到更嚴(yán)密、更系統(tǒng)的程序設(shè)計(jì)及思維方法的訓(xùn)練,為深入分析、研究、開(kāi)發(fā)軟件系統(tǒng)打下良好基礎(chǔ)。

    3加強(qiáng)實(shí)踐教學(xué)

    為了提高匯編語(yǔ)言教學(xué)的效果,筆者認(rèn)為應(yīng)該從以下幾個(gè)方面入手。

    (1) 清理認(rèn)識(shí)上的誤區(qū)。在上第一堂課時(shí),用一個(gè)課

    時(shí)來(lái)講匯編語(yǔ)言的特點(diǎn)及其應(yīng)用場(chǎng)合、它和高級(jí)語(yǔ)言區(qū)別、其難點(diǎn)在哪里、本課程該如何展開(kāi)等內(nèi)容,從而打消學(xué)生畏難和輕視的思想。

    (2) 要充分利用好計(jì)算機(jī)輔助教學(xué)(CAI)的優(yōu)勢(shì),要讓課件“動(dòng)”起來(lái)。目前普通本科計(jì)算機(jī)專(zhuān)業(yè)的教學(xué)大都采用了CAI教學(xué),但大都是播放課件(如PPT),實(shí)質(zhì)上是用鼠標(biāo)代替了粉筆、屏幕代替了黑板。而且由于播放的速度遠(yuǎn)快于板書(shū),學(xué)生反映根本來(lái)不及仔細(xì)理解有關(guān)內(nèi)容,效果反而不如板書(shū)。多媒體教學(xué)提供了視覺(jué)、聲音的特殊效果,在對(duì)重點(diǎn)、難點(diǎn)問(wèn)題的講授中要充分利用多媒體教學(xué)的優(yōu)勢(shì)。如講授指令A(yù)DD AX,[2000H],如果是靜態(tài)的課件,就是一句“這是一條加法指令,把累加器的內(nèi)容和邏輯地址為2000H存儲(chǔ)單元的內(nèi)容相加,運(yùn)算結(jié)果送回累加器”。而動(dòng)態(tài)的課件會(huì)先畫(huà)出一個(gè)模型計(jì)算機(jī),然后演示該指令解釋的全過(guò)程:從CPU內(nèi)存中取出指令、譯碼、數(shù)據(jù)尋址(從寄存器和內(nèi)存中取得操作數(shù))、啟動(dòng)ALU運(yùn)算、保存結(jié)果到累加器和影響狀態(tài)標(biāo)志寄器。每一步都要圖示化出數(shù)據(jù)的變化和走向以及相應(yīng)的控制時(shí)序。在聲音和顯示控制的程序設(shè)計(jì)教學(xué)中,更應(yīng)展示多媒體教學(xué)的風(fēng)采。多媒體教學(xué)豐富的動(dòng)感效果能極大地增加學(xué)生對(duì)指令的感性認(rèn)識(shí),增強(qiáng)他們學(xué)習(xí)的興趣。當(dāng)然,制作這樣的課件耗時(shí)耗力,學(xué)校應(yīng)該切實(shí)加大對(duì)CAI教學(xué)的支持力度。

    (3) 在匯編語(yǔ)言的教學(xué)中要加強(qiáng)和高級(jí)語(yǔ)言的比較教學(xué)。在學(xué)習(xí)匯編語(yǔ)言時(shí),學(xué)生一般都具有了C語(yǔ)言程序設(shè)計(jì)的知識(shí)。在匯編語(yǔ)言程序設(shè)計(jì)的教學(xué)過(guò)程中,應(yīng)該比較這兩種語(yǔ)言的編程特點(diǎn)、程序代碼空間、運(yùn)行速度等,以加深學(xué)生對(duì)這兩種語(yǔ)言的理解。如在講授基址變址尋址方式中,可以用C語(yǔ)言和匯編語(yǔ)言分別實(shí)現(xiàn)對(duì)數(shù)組運(yùn)算的實(shí)例來(lái)闡述。要加強(qiáng)高級(jí)語(yǔ)言(C語(yǔ)言)和匯編語(yǔ)言的混合編程的教學(xué),充分闡述C語(yǔ)言結(jié)構(gòu)化設(shè)計(jì)和匯編語(yǔ)言對(duì)機(jī)器低層(存儲(chǔ)器、寄存器、中斷處理、I/O)控制的優(yōu)點(diǎn)。這樣即可充分調(diào)動(dòng)學(xué)生的學(xué)習(xí)積極性,也可以培養(yǎng)學(xué)生解決具體應(yīng)用的能力。

    (4) 加強(qiáng)操作系統(tǒng)相關(guān)知識(shí)的滲透和虛擬模式下的編程教學(xué)。目前操作系統(tǒng)的核心部分是用匯編語(yǔ)言來(lái)實(shí)現(xiàn)的,如對(duì)CPU本身的初始化(包括定時(shí)器、中斷、I/0端口等的初始化);系統(tǒng)引導(dǎo)啟動(dòng)程序的完成;在處理器的控制下從實(shí)模式進(jìn)入保護(hù)模式,實(shí)現(xiàn)虛擬存儲(chǔ)器的管理和多任務(wù)的調(diào)度。將該部分引入到教學(xué)中是有必要的,能加強(qiáng)學(xué)生對(duì)操作系統(tǒng)中內(nèi)核引導(dǎo)啟動(dòng)與駐留、保護(hù)模式和實(shí)模式的切換、多任務(wù)的調(diào)度等知識(shí)的理解。在講授操作系統(tǒng)對(duì)程序的引導(dǎo)和進(jìn)程的調(diào)用時(shí),適當(dāng)介紹計(jì)算機(jī)病毒的機(jī)理,以提高學(xué)生的學(xué)習(xí)興趣并擴(kuò)展知識(shí)面。

    (5) 要切實(shí)抓好實(shí)驗(yàn)教學(xué)環(huán)節(jié)。課堂主體教學(xué)和一般作業(yè)很難讓學(xué)生真正領(lǐng)會(huì)本課程涵蓋的概念、原理、方法和技巧等。經(jīng)驗(yàn)表明,學(xué)習(xí)并真正掌握匯編語(yǔ)言程序設(shè)計(jì)的最好方式是充分實(shí)踐。實(shí)驗(yàn)教學(xué)和課堂主體教學(xué)“兩手都要硬”,在課時(shí)分配上達(dá)到1:1。

    4建立實(shí)驗(yàn)教學(xué)平臺(tái)

    傳統(tǒng)的匯編語(yǔ)言上機(jī)實(shí)驗(yàn)一般是在DOS環(huán)境下的進(jìn)行,如圖2所示。而DOS逐步被淘汰,目前流行使用Windows操作系統(tǒng)平臺(tái),學(xué)生對(duì)DOS的使用相對(duì)陌生。盡管Windows保留了DOS的工作方式,可以切換到DOS提示符下操作,但是對(duì)建立文件夾(目錄)、進(jìn)入文件夾(目錄)、刪除文件等操作,學(xué)生們常返回到Windows環(huán)境中來(lái)完成,顯然會(huì)影響上機(jī)的效率和增加編程的繁瑣,同時(shí)也不利于WIN32虛擬模式下的教學(xué)。

    圖2 匯編語(yǔ)言程序開(kāi)發(fā)的傳統(tǒng)操作過(guò)程

    因此,必須建立基于Windows操作系統(tǒng)的W32匯編語(yǔ)言集成實(shí)驗(yàn)環(huán)境,該環(huán)境是一個(gè)集編輯、編譯、連接、程序調(diào)試和幫助于一體的實(shí)驗(yàn)平臺(tái)。筆者主持的課題組經(jīng)過(guò)系統(tǒng)的調(diào)研、編程和測(cè)試已開(kāi)發(fā)出一個(gè)匯編語(yǔ)言集成編譯系統(tǒng),該系統(tǒng)已成功應(yīng)用到本課程的實(shí)驗(yàn)教學(xué)中,效果較好。系統(tǒng)的運(yùn)行界面如圖3所示。

    其次,要精心編寫(xiě)實(shí)驗(yàn)指導(dǎo)書(shū)和安排實(shí)驗(yàn)內(nèi)容,組織好課程設(shè)計(jì)。結(jié)合目前廣泛使用的PC機(jī)的Intel 80x86指令系統(tǒng)來(lái)開(kāi)展教學(xué),通過(guò)在集成環(huán)境下匯編語(yǔ)言的上機(jī)實(shí)訓(xùn),加深學(xué)生對(duì)指令系統(tǒng)和匯編語(yǔ)言程序設(shè)計(jì)的認(rèn)識(shí)和理解。實(shí)驗(yàn)的內(nèi)容可以組織如下:

    (1) 指令系統(tǒng)。用DEBUG調(diào)試工具來(lái)熟悉指令功能和尋址方式,掌握簡(jiǎn)單程序的調(diào)試。通過(guò)實(shí)驗(yàn)了解CPU的組成,熟悉8086/8088寄存器組、8086/8088存儲(chǔ)器組織、8086/8088標(biāo)志位的意義。

    (2) 匯編語(yǔ)言程序設(shè)計(jì)。包括順序程序設(shè)計(jì)、循環(huán)程序設(shè)計(jì)、分支程序設(shè)計(jì)、子程序設(shè)計(jì)和宏匯編程序設(shè)計(jì)等實(shí)驗(yàn)。掌握各種程序結(jié)構(gòu)的設(shè)計(jì)方法,了解宏匯編、條件匯編和模塊化程序設(shè)計(jì)等匯編語(yǔ)言程序的概念,掌握宏匯編程序設(shè)計(jì)的基本方法。

    (3) 輸入輸出與中斷。包括輸入輸出程序設(shè)計(jì)、中斷處理程序編寫(xiě)、常用系統(tǒng)中斷(如時(shí)鐘顯示、鍵盤(pán)和顯示器、使用鼠標(biāo)的程序設(shè)計(jì))控制等實(shí)驗(yàn)。

    (4) Win32匯編語(yǔ)言程序設(shè)計(jì)。包括32位微處理器與32位指令、保護(hù)模式下的32位匯編語(yǔ)言程序設(shè)計(jì)等實(shí)驗(yàn)。

    (5) 匯編語(yǔ)言與C/C++的混合編程。主要包括C/C++程序與匯編語(yǔ)言程序的連接、嵌入?yún)R編與模塊調(diào)用等。

    圖3 匯編語(yǔ)言集成開(kāi)發(fā)環(huán)境

    參考文獻(xiàn)

    [1] 沈美明. IBM-PC匯編語(yǔ)言程序設(shè)計(jì)[M]. 北京:清華大學(xué)出版社,2001.

    [2] KIP R. IRVINE. Assembly Language for the IBM-PC[M]. Prentic Hall INC,1993.

    [3] 李學(xué)干. 計(jì)算機(jī)系統(tǒng)的體系機(jī)構(gòu)[[M]. 北京:清華大學(xué)出版社,2006.

    [4] 金海溶. 用實(shí)驗(yàn)方法改革匯編語(yǔ)言的教學(xué)[J]. 計(jì)算機(jī)教育,2006,(1):36-37.