引論:我們?yōu)槟砹?3篇匯編語言程序設(shè)計范文,供您借鑒以豐富您的創(chuàng)作。它們是您寫作時的寶貴資源,期望它們能夠激發(fā)您的創(chuàng)作靈感,讓您的文章更具深度。
篇1
匯編語言程序設(shè)計;研究性教學(xué)模式;創(chuàng)新人才培養(yǎng)
1《匯編語言程序設(shè)計》課程現(xiàn)狀及存在問題
《匯編語言程序設(shè)計》是計算機專業(yè)的專業(yè)基礎(chǔ)課,是一門實踐性很強的課程。以往老師講授這門課程時,主要以“老師講、學(xué)生聽”的形式進行的,這樣不助于學(xué)生理解指令的執(zhí)行過程,往往導(dǎo)致學(xué)生在上機調(diào)試時無從下手,更談不上綜合程序的設(shè)計。這種僵化的教與學(xué)的模式必須進行改革,才能達到創(chuàng)新人才培養(yǎng)的目標。
2教學(xué)改革思路:
如果要提高教學(xué)質(zhì)量,達到預(yù)期的教學(xué)效果,關(guān)鍵要改革教師的教學(xué)方法和學(xué)生的學(xué)習(xí)方式,即教師從傳統(tǒng)的講授灌入式向探究式轉(zhuǎn)變,學(xué)生從傳統(tǒng)的被動接受向主動接受、探究發(fā)現(xiàn)和研究性學(xué)習(xí)轉(zhuǎn)變,達到培養(yǎng)學(xué)生主動發(fā)現(xiàn)問題、分析問題、創(chuàng)造性地解決問題的能力[1]。這就需要重新定位教師主導(dǎo)地位和學(xué)生主體地位的關(guān)系,采用以"學(xué)生為主體,教師為主導(dǎo)"的新教學(xué)理念。結(jié)合匯編語言程序設(shè)計課程的特點,緊緊圍繞“深入理解機器工作的基本原理、培養(yǎng)底層編程意識和思想”和提高學(xué)生綜合運用所學(xué)知識的能力兩個核心目標,通過對教學(xué)方法及考核方式等進行改革,從而提高教學(xué)質(zhì)量。
3教學(xué)方法及教學(xué)手段的改革
1.啟發(fā)式教學(xué):課程的講授過程中,采用啟發(fā)式教學(xué)方法,有意識地引導(dǎo)學(xué)生思考,將計算機的硬件工作過程深入課中,使得學(xué)生對語言的執(zhí)行過程有更深入的理解。例如,在講解存儲器的分段時,可以將CPU與存儲器的數(shù)據(jù)訪問講解一下,這樣學(xué)生就能理解為什么要進行分段處理。2.項目驅(qū)動教學(xué):匯編語言程序設(shè)計是一門實踐性很強的課程,老師根據(jù)課程目標,設(shè)置3個難度適中的綜合訓(xùn)練項目,貫穿整個教學(xué)過程中。學(xué)生在課余時間,通過檢索資料、團隊合作、綜合分析,尋找解決問題的方案,最終提交程序代碼及方案報告。“項目”教學(xué)是以學(xué)生為中心,老師為組織者和引導(dǎo)者,在項目的實現(xiàn)過程中,不但使學(xué)生加深對知識的系統(tǒng)理解,而且也了解了與知識相關(guān)的前沿?zé)狳c問題,從而培養(yǎng)大學(xué)生自主學(xué)習(xí)能力、探究問題能力、協(xié)作能力、適應(yīng)和創(chuàng)新能力等。3.隨堂實踐:學(xué)生上課可以自帶筆記本,在知識點的講解過程中,老師要充分利用多媒體教學(xué)環(huán)境中的計算機系統(tǒng),對于程序?qū)嵗烧n堂調(diào)試演示,在機器上可隨堂編寫小程序現(xiàn)場運行,和學(xué)生一起進行調(diào)試的過程中,打破匯編語言的神秘感,消除學(xué)生對匯編語言難以掌握的恐懼心理,使同學(xué)們更直觀、更快理解和掌握相關(guān)知識,激發(fā)學(xué)生對新知識和新技術(shù)的求知欲,提高教學(xué)質(zhì)量。
4教學(xué)組織過程
課堂的前幾分鐘進行提問,掌握學(xué)生的知識點掌握情況,并督促學(xué)生搞好復(fù)習(xí)與預(yù)習(xí);在知識擴展環(huán)節(jié)中,老師布置知識擴展點及要求,學(xué)生自主查閱資料并整理資料,增強學(xué)生查閱、整理和總結(jié)資料的能力,進而鍛煉學(xué)生自主學(xué)習(xí)的能力;訓(xùn)練項目的實施以項目組的形式進行,即5~6名學(xué)生為1個項目組,并選其中一個學(xué)生擔(dān)任組長,組長組織成員開展討論和交流,但每個學(xué)生都獨立完成項目的設(shè)計、實驗和項目報告;項目的實施主要采取“課外為主、課內(nèi)為輔”的方式。即學(xué)生領(lǐng)取任務(wù)后,通過課余時間進行資料查閱、討論、答疑、編程和調(diào)試,以及完成項目報告書等。每個項目布置時,老師要進行概要的講解,讓學(xué)生了解項目的整體思路及接下來應(yīng)該怎樣解決,然后多安排幾次答疑輔導(dǎo)時間,學(xué)生帶著自己的疑問與老師交流,師生一起找到解決問題的辦法,這也提高了項目的完成質(zhì)量;答辯時要求以組為單位,在規(guī)定的時間范圍內(nèi),做完的組可以找老師答辯,答辯時學(xué)生帶著電腦可以進行現(xiàn)場調(diào)試,根據(jù)功能實現(xiàn)及答辯情況給予答辯分,對平時負責(zé)本組程序講解的同學(xué)答辯成績有加分;由組長組織,進行討論,鍛煉學(xué)生的表達能力,增加學(xué)生的知識儲備;每周安排一次答疑,這樣可以及時了解學(xué)生知識點的掌握情況,有助于老師課堂內(nèi)容的安排,同時也有助于師生交流,提高教學(xué)質(zhì)量。
5考核方式
以課程結(jié)束時的考試作為評定學(xué)生的依據(jù)是很不科學(xué)的,要改變傳統(tǒng)的學(xué)生學(xué)業(yè)評價中“一考定全局”終結(jié)式評價模式[2]。學(xué)生的評價應(yīng)該是能夠不斷的指導(dǎo)學(xué)生、鼓勵學(xué)生、完善其學(xué)習(xí)方法,增加學(xué)生的應(yīng)用能力,進而實現(xiàn)人才的培養(yǎng)目標。在課程考核中,我們采取以下的考核辦法:期末總成績由考試成績(50分)、綜合訓(xùn)練成績(40分)、平時成績(10分)三部分組成。總成績中加重了學(xué)生對所學(xué)知識綜合應(yīng)用能力的比重,同時也注重對學(xué)生學(xué)習(xí)過程的評價。
6結(jié)束語
本文將研究性教學(xué)模式引入《匯編語言程序設(shè)計》課程教學(xué)中,打破了傳統(tǒng)的教學(xué)理念,經(jīng)過兩輪教學(xué)實踐,教學(xué)效果較以往有明顯的提高。
參考文獻:
篇2
2實驗教學(xué)在《匯編語言程序設(shè)計》教學(xué)中的作用在培養(yǎng)人的科學(xué)思維、創(chuàng)新意識,掌握科學(xué)方法、提高綜合實踐能力方面,實踐環(huán)節(jié)有著重要的作用,是課堂理論教學(xué)無法替代的。實驗課是進行實踐教學(xué)的重要學(xué)習(xí)場地,學(xué)生通過對實驗內(nèi)容的思考,對課堂上的理論知識進行了鞏固;實驗過程中的操作,可以發(fā)現(xiàn)理論教學(xué)的不足;實驗過后的心得分析,為以后解決實際問題打下堅實基礎(chǔ)。實驗還可以將算法的實現(xiàn)和計算機的操作過程相結(jié)合,使學(xué)生體會到算法的邏輯含義是通過計算機的實際執(zhí)行過程實現(xiàn)的[2]。
匯編語言與硬件關(guān)系密切,通過實驗課,學(xué)生可以更好地理解cpu、寄存器、存儲器、接口及外部設(shè)備的工作原理。《匯編語言程序設(shè)計》課程的實驗是培養(yǎng)學(xué)生的動手能力、增強學(xué)生的學(xué)習(xí)興趣、提高學(xué)生閱讀、編輯和調(diào)試程序能力的關(guān)鍵環(huán)節(jié)。
3實驗教學(xué)中存在的問題
3.1教學(xué)內(nèi)容安排方面
計算機語言課程的學(xué)習(xí)需要理論聯(lián)系實踐,實驗課是學(xué)好計算機語言的必備條件,匯編語言的學(xué)習(xí)亦是如此,實驗課程開始越早對學(xué)生的學(xué)習(xí)越有利。《匯編語言程序設(shè)計》這門課程的教材安排順序一般是:基礎(chǔ)知識、計算機系統(tǒng)的組織、匯編要素、基本指令、程序設(shè)計、輸入/輸出、系統(tǒng)調(diào)用、高級匯編語言技術(shù)。實驗教學(xué)往往是配合理論教學(xué)進行,通常在理論課程第5~7周后,實驗課才得以開設(shè)。這樣的教學(xué)安排效果并不理想,在實驗課程開設(shè)的前幾周不利于學(xué)生很好地掌握學(xué)習(xí)內(nèi)容,從而對匯編語言產(chǎn)生厭學(xué)情緒。
高等院校普遍存在對專業(yè)課程的課時進行壓縮的現(xiàn)象,使得《匯編語言程序設(shè)計》的理論課時和實驗課時都有不同程度的壓縮,實驗課時的壓縮相對于理論課時更加嚴重,導(dǎo)致實驗內(nèi)容的安排不能覆蓋該課程的重點,而且重點實驗內(nèi)容也相對淺顯,無法進行深入研究。
另外,有些教師圍繞課本基礎(chǔ)結(jié)構(gòu)部分的知識講授,沒有結(jié)合實際應(yīng)用進行擴展,對實驗內(nèi)容的設(shè)計也比較淺顯,無法激起學(xué)生的興趣。這些行為都導(dǎo)致了學(xué)生對匯編語言的學(xué)習(xí)興趣降低甚至放棄。
3.2學(xué)生態(tài)度不夠端正
很多學(xué)生認為實驗課不重要,實驗做得好否對最終的成績判斷沒有關(guān)聯(lián)。目前多數(shù)院校的學(xué)生學(xué)習(xí)成績判定, 以期末考試成績?yōu)橹鳎@就使得很多學(xué)生重理論、輕實驗。另外,匯編語言不像其它高級語言那樣應(yīng)用廣泛,學(xué)生認為其對就業(yè)幫助不大,從思想上輕視匯編語言,對《匯編語言程序設(shè)計》的實驗課程更是不愿付出精力,甚至出現(xiàn)拷貝代碼的現(xiàn)象。
3.3考核體系不明確
匯編語言的實驗教學(xué)環(huán)節(jié)沒有受到足夠的重視,導(dǎo)致沒有明確的評價體系。在進行實驗課時,有些教師只是布置了相關(guān)的實驗內(nèi)容,實驗過程沒有進行必要的監(jiān)督和輔導(dǎo),導(dǎo)致學(xué)生對實驗教學(xué)態(tài)度怠慢,出現(xiàn)學(xué)生在實驗課上玩游戲和課下實驗報告抄襲的現(xiàn)象。
4提高匯編語言實驗教學(xué)效果的措施
4.1合理設(shè)置實驗內(nèi)容
實驗課的內(nèi)容按照由淺入深、循序漸進的方式進行,以啟發(fā)思維為主。對設(shè)計型、綜合型實驗只要能達到實驗?zāi)康模鋵嶒炦^程和步驟可以多樣,通過實驗課復(fù)習(xí)理論知識,引出欲
講解的新內(nèi)容。針對學(xué)期初不安排實驗的問題,可以嘗試開展“先實驗后理論”的教學(xué),在實驗中理解基礎(chǔ)理論,加大實驗課的比例并且及早實行開展實驗教學(xué),在整個教學(xué)過程中實行以“學(xué)生動手為主,教師講解為輔”的教學(xué)模式[3]。
4.2引入新的實驗教學(xué)模式,培養(yǎng)學(xué)生學(xué)習(xí)興趣
實驗教學(xué)中要充分調(diào)動學(xué)生的積極性,照顧不同層次的學(xué)生。匯編語言指令繁瑣,初始使用時比較抽象,學(xué)生對待實驗內(nèi)容往往無從下手,所以任課教師應(yīng)該先對實驗內(nèi)容進行講解。起初的實驗內(nèi)容,教師應(yīng)該進行詳細的演示,可以先引導(dǎo)學(xué)生“臨摹”,避免學(xué)生出現(xiàn)無從下手、喪失信心等問題。后面的實驗內(nèi)容可以進行講解并提示實驗方法,但不要求每個學(xué)生都按照此方法進行實驗,鼓勵學(xué)生創(chuàng)新,并在考核中給予一定的獎勵。每次實驗內(nèi)容,任課教師都要進行總結(jié),以解決學(xué)生在實驗過程中的“通病”。
《匯編語言程序設(shè)計》的實驗一般設(shè)置16~24學(xué)時,存在實驗學(xué)時偏少的問題。為了盡可能提高實驗效率,教師可以提前給學(xué)生布置實驗內(nèi)容,給學(xué)生留出時間準備。如果在實驗課上臨時給出實驗內(nèi)容,大多數(shù)學(xué)生無法按時完成實驗?zāi)繕耍瑫驌魧W(xué)生學(xué)習(xí)的積極性。對實驗內(nèi)容進行準備后再上機操作,大多數(shù)學(xué)生就可以在規(guī)定的時間內(nèi)完成實驗。學(xué)生在上機的過程中獲得了成就感,樹立了信心,就會產(chǎn)生學(xué)習(xí)興趣,并主動在課下花時間鉆研有關(guān)課程實驗的內(nèi)容。
為了培養(yǎng)學(xué)生的團隊合作精神,也可以設(shè)計一些綜合應(yīng)用實驗,讓學(xué)生分組完成。每組選出一位組長,負責(zé)組織學(xué)生課下進行實驗內(nèi)容的預(yù)習(xí)、實驗方案的制定和課上組員提出問題的解決方案等工作。教師在進行實驗考核時,要對每個組的完成情況進行總結(jié),對于完成較好的組,給予成員一定的加分,以鼓勵學(xué)生注重團隊合作精神,培養(yǎng)學(xué)生的學(xué)習(xí)興趣。
4.3建立嚴格的考核體系
《匯編語言程序設(shè)計》課程一般需要16~18個教學(xué)周才能完成教學(xué)任務(wù),在這段時間內(nèi),很少有學(xué)生能對其一直保持較高的學(xué)習(xí)熱情,大部分學(xué)生都是以成績驅(qū)動自己的學(xué)習(xí),所以需要一套嚴謹?shù)膶嶒灴己梭w系,公平公正地評價學(xué)生的實驗過程[4]。筆者學(xué)校的實驗課程成績由學(xué)生出勤、預(yù)習(xí)、實驗操作過程和實驗報告4部分組成,涵蓋了學(xué)生實驗上機的全過程。各部分的比例按10%、20%、40%、30%的權(quán)重計算實驗總成績。除了出勤情況外,預(yù)習(xí)、實驗操作過程和實驗報告這3部分按等級評定,每個等級對應(yīng)的分數(shù)為: a(90~100)、b(80~89)、c(70~79)、d(60~69)、e(50);對于前4個等級,教師可根據(jù)學(xué)生完成的情況給出該等級的加減等級。以a等級為例,a+對應(yīng)100分,a對應(yīng)95分,a-對應(yīng)90分,這樣每個等級都有對應(yīng)的分數(shù),可以做到客觀地評價學(xué)生的實驗過程。
5結(jié)語
本文根據(jù)筆者的教學(xué)實踐,分析了《匯編語言程序設(shè)計》課程的教學(xué)現(xiàn)狀,指出了實驗教學(xué)在《匯編語言程序設(shè)計》教學(xué)過程中的重要性,并對匯編語言的實驗教學(xué)進行了深入的分析和思考。根據(jù)實際情況提出了幾點可行的措施,即合理安排實驗內(nèi)容,引入新的實驗教學(xué)模式和建立嚴格的考核體系,從而達到發(fā)掘?qū)W生潛能、提高實踐動手能力、增強學(xué)習(xí)匯編語言興趣等目的。《匯編語言程序設(shè)計》課程的實驗教學(xué)還需要廣大教師積極探索,引入多種符合實際的教學(xué)方法,使匯編語言對計算機專業(yè)課程后續(xù)的學(xué)習(xí)發(fā)揮應(yīng)有的作用。
參考文獻參考文獻:
\[1\]劉正紅.對匯編語言實驗教學(xué)的幾點看法[j].信息與電腦,2012(6):198199.
[2]木林.《匯編語言程序設(shè)計》實驗教學(xué)的探討[j].呼倫貝爾學(xué)院學(xué)報,2012 (4):9295.
[3]張學(xué),陸慶.匯編語言實驗教學(xué)的思考[j].教學(xué)研究,2009(15):8182.
[4]侯宏霞.提高匯編語言課程實驗教學(xué)質(zhì)量的幾點思考[j].內(nèi)蒙古農(nóng)業(yè)大學(xué)學(xué)報:社會科學(xué)版,2011(13):173174.
篇3
一、匯編語言程序設(shè)計課程的特點
匯編語言比機器語言有了很大的進步,但仍是面向機器的一個非常低級的語言,非常冗長單調(diào)、易出BUG并且調(diào)試困難、代碼不易維護、兼容性不好、與硬件關(guān)系非常緊密,所以匯編語言的通用性較差。但匯編語言除了保持機器語言的編程質(zhì)量高、執(zhí)行速度快、占用內(nèi)存少的優(yōu)點外,還具有易記憶、易理解、書寫調(diào)試較方便等優(yōu)點。
二、教學(xué)中存在的問題
1.傳統(tǒng)教學(xué)內(nèi)容的缺點
傳統(tǒng)的匯編語言教學(xué)一般按照教材的編寫順序,教師先講CPU的功能結(jié)構(gòu)知識,然后講存儲器與尋址方式知識,最后講匯編語言指令系統(tǒng)和程序編寫。在講CPU的功能結(jié)構(gòu)的時候,因缺少實踐,大多數(shù)學(xué)生感到所學(xué)知識非常抽象,難以理解,逐漸感到匯編語言課程枯燥無味,對匯編語言學(xué)習(xí)失去興趣,嚴重影響了后續(xù)章節(jié)的學(xué)習(xí)。
2.實驗設(shè)備配置不合理
匯編語言課程作為一門實踐性很強的課程,必須進行大量的實踐,但這恰恰是大多中等職業(yè)學(xué)校所缺乏的環(huán)節(jié),主要有以下原因。
(1)實驗設(shè)備昂貴,這對于資金并不充裕的中等職業(yè)學(xué)校來說,很難為了一門課程而購買足夠數(shù)量的實驗設(shè)備。實驗設(shè)備的缺乏,嚴重影響了學(xué)生的實驗教學(xué)質(zhì)量。
(2)學(xué)校計算機室的計算機不敢讓學(xué)生進行實驗練習(xí),因為匯編語言是針對硬件編寫程序的,學(xué)生在實驗的時候如果出一點差錯就有可能對計算機設(shè)備造成永久性的破壞。這就使得學(xué)生無法完全理解匯編語言程序設(shè)計與硬件的聯(lián)系,達不到匯編語言實驗?zāi)康模瑹o法驗證學(xué)生編寫程序的正確性。
3.“雙師型”教師數(shù)量不足
在中等職業(yè)學(xué)校,由于多方面的原因,學(xué)校對于既懂理論,又能實踐的雙師型教師十分缺乏。很多匯編語言教師,只注重理論教學(xué),忽視了教師自身實踐能力的提高,只會按照教材講課,不會編寫匯編語言程序的現(xiàn)象非常常見。只側(cè)重匯編語言理論教學(xué),必然嚴重阻礙匯編語言實踐教學(xué)質(zhì)量的提高,無法滿足當(dāng)今社會對匯編語言程序設(shè)計人才的培養(yǎng)要求。
三、教學(xué)改革的探索
1.打亂常規(guī)教學(xué)順序,激發(fā)學(xué)生學(xué)習(xí)興趣
初次教授匯編語言課程,教師先不要講解教材上關(guān)于CPU的功能結(jié)構(gòu)和存儲器及尋址方式部分內(nèi)容,而應(yīng)采取與實際應(yīng)用相結(jié)合的一體化教學(xué)方式。教師可以先讓學(xué)生看一段機器語言設(shè)計的小程序。給學(xué)生講講早期的程序員是怎樣使用機器語言進行編程的,接下來把上段機器碼用匯編指令寫出來給大家看,讓同學(xué)們感覺到使用匯編語言程序設(shè)計比機器語言設(shè)計既簡單又容易記憶,這就為激發(fā)學(xué)生的學(xué)習(xí)興趣奠定了第一步的工作基礎(chǔ)。在后續(xù)的課程中,教師可以與教材相結(jié)合,在講解程序例題的過程中講解用到的CPU的功能結(jié)構(gòu)和存儲器及尋址方式部分知識,讓學(xué)生逐個理解和掌握這些抽象的知識,不至于一次把學(xué)生講蒙,也不會因此影響學(xué)生學(xué)習(xí)這門課的興趣。
2.注重培養(yǎng)“雙師型”教師
篇4
匯編語言也好,高級語言也好,它們都只不過是程序設(shè)計的工具,因此對于程序的基本功能和程序設(shè)計的基本問題,它們都有相應(yīng)的實現(xiàn)機制,而且在很多方面都是相通的,尤其是在程序設(shè)計的基本思想方法上。但匯編語言和高級語言畢竟是兩種不同的語言類別。從源程序的基本單位――語句的層面看,高級語言語句的功能遠比匯編語言語句即各種指令和偽指令的功能要強大。此外即便是同樣的問題,如數(shù)據(jù)安排、數(shù)據(jù)處理、流程控制、子程序結(jié)構(gòu)等,它們的實現(xiàn)機制也不一樣。
效率最高的教學(xué)方法首推比較教學(xué)法(或叫類比教學(xué)法),也就是將新的陌生的東西和舊的熟悉的東西做比較,找出它們之間相同的地方和不同的地方,然后進行差異化的學(xué)習(xí),重在存同求異,這樣就會事半功倍。
因此,筆者在多年從事“匯編語言程序設(shè)計”的教學(xué)中,特別注重以學(xué)生在學(xué)習(xí)高級語言程序設(shè)計課程時所獲得的知識和體驗為基礎(chǔ),將匯編語言和高級語言進行比較教學(xué)。
本文就是這一教學(xué)方法的經(jīng)驗總結(jié)。
1數(shù)據(jù)的組織安排
程序是用來加工處理數(shù)據(jù)的,因此程序設(shè)計工作離不開數(shù)據(jù)的組織安排。數(shù)據(jù)的組織安排就是指為程序加工處理的數(shù)據(jù)安排合適的空間并且組織好,以提高對數(shù)據(jù)加工處理的效率。從應(yīng)用層面看,數(shù)據(jù)的組織安排通常包括3個方面:
(1)安排在哪?即空間位置問題。
(2)安排多大空間?即數(shù)據(jù)長度問題。
(3)存放什么樣的數(shù)據(jù)?即數(shù)據(jù)類型問題。
在數(shù)據(jù)空間的組織安排方面,匯編語言和高級語言的一個重要差別是:高級語言提供的是直接面向應(yīng)用的數(shù)據(jù)類型,如C語言中的基本類型――整型(int)、浮點型(float)、字符型(char),而整型又有長(long)、短(short)之分,浮點型又有單精度(single)和雙精度(double)之分,此外還有有符號(signed)和無符號(unsigned)之分等。高級語言的數(shù)據(jù)類型是面向應(yīng)用的,因此它們有兩方面的含義:類型特點和長度大小,這就解決了上述3個問題中的后兩個問題[1]。
在C語言中,數(shù)據(jù)除了有類型這個概念之外,還有類別之分,即存儲類別問題,共有4種:static、auto、register和extern。從嚴格意義上講,其中和數(shù)據(jù)空間的組織安排有關(guān)的只是前3種:static和auto對應(yīng)的是內(nèi)存空間,而register對應(yīng)的則是寄存器空間,這又解決了上述3個問題中的第一個問題[1]。
與高級語言不同的是,匯編語言的數(shù)據(jù)類型是面向機器的,如MASM中的基本類型――DB、DW、DD、DQ、DT等,它們只有長度大小的含義,而且都是對應(yīng)內(nèi)存空間的,因此用它們定義的變量都屬于內(nèi)存變量。
在匯編語言中,由于可以直接引用各個寄存器,而且各個寄存器的空間大小都是確定的,因此這些寄存器實際上就相當(dāng)于C語言中的寄存器變量。
總之,在匯編語言中,數(shù)據(jù)一般只有空間大小和位置之分,而不管這個空間中存放什么樣的數(shù)據(jù),即無類型之分。
因此,在用匯編語言設(shè)計程序時,對程序中的數(shù)據(jù)有一個面向應(yīng)用的自我理解問題!這是在教學(xué)時應(yīng)特別予以關(guān)注的!
2數(shù)據(jù)的加工處理
在數(shù)據(jù)的輸入輸出方面,匯編語言和高級語言也有重要差別。
以面向標準輸入輸出設(shè)備的數(shù)據(jù)輸入輸出為例,高級語言提供的也是直接面向應(yīng)用的相關(guān)語句、函數(shù)和過程,如C語言中的fprintf、printf、sprintf、vprintf、vfprintf、vsprintf、fscanf、scanf、sscanf、fgetc、fputc、getc、putc、getchar、putchar、fgets、fputs、pus、gets等,這些函數(shù)基本上滿足了面向應(yīng)用的各種類型數(shù)據(jù)的輸入輸出[1]。
匯編語言提供的則基本上是面向字符的中斷調(diào)用,即通過調(diào)用相關(guān)的中斷服務(wù)程序來實現(xiàn)數(shù)據(jù)的輸入輸出,如MASM中的常用的DOS提供的21H類中斷服務(wù)程序的1、2、8、9、10號功能等。
總之,高級語言提供的一般是直接面向應(yīng)用的輸入輸出機制,而匯編語言提供的則一般是面向系統(tǒng)的輸入輸出機制。因此在匯編語言程序設(shè)計的教學(xué)中,如何利用面向系統(tǒng)的輸入輸出機制通過編程實現(xiàn)面向應(yīng)用的輸入輸出功能是我們的又一個重點。
在數(shù)據(jù)的內(nèi)部加工處理方面,高級語言和匯編語言都提供一序列的運算符。
在C語言中,這些運算符包括為數(shù)據(jù)傳送提供的賦值運算符“=”和為數(shù)據(jù)運算提供的算術(shù)運算符“+、-、*、/、%、++、--”、關(guān)系運算符“>、>=、
在MASM中,這些運算符包括算術(shù)運算符:“+、-、*、/、MOD”,邏輯運算符:“AND、OR、NOT、XOR”,關(guān)系運算符:“EQ、NE、LT、GT、LE、GE”,移位運算符:SHR和SHL等[2]。
值得注意的是,除了形式上的差別外,高級語言的運算符和匯編語言的運算符在功能上也是有差別的:高級語言的運算符往往可以用在包括常量和變量的各種數(shù)據(jù)之間,而匯編語言的運算符則往往只能用在常量之間,對變量的加工處理則是依靠相應(yīng)的指令來實現(xiàn)的。
3流程控制問題
為了實現(xiàn)流程控制,高級語言都提供有兩類基本語句:分支控制語句和循環(huán)控制語句,如C語言和PASCAL語言中的if語句、switch語句、for語句、while語句、do-while語句、case語句、repeat語句以及比較特別的goto語句等[1,3]。
匯編語言則提供有相應(yīng)的流程控制類指令,如MASM中的無條件轉(zhuǎn)移指令(JMP)、條件轉(zhuǎn)移指令(JA、JB、JAE、JBE、JNZ、JZ、JG、JL、JGE、JLE、JO、JNO、JS、JNS、JC、JNC等)、循環(huán)控制指令(LOOP、LOOPZ、LOOPNZ)等[2,4-6]。
在功能上,匯編語言的轉(zhuǎn)移類指令既可以用于分支控制,也可以用于循環(huán)控制,而循環(huán)類指令則自然主要用于循環(huán)控制。它們的實現(xiàn)機制在高級語言中也有體現(xiàn),如C語言中的goto語句。
從功能上看,C語言中的goto語句主要有兩種用法:
(1)goto標號;
(2)if條件goto標號。
前一種用法實現(xiàn)的正好是匯編語言中無條件轉(zhuǎn)移指令的功能,而后一種用法實現(xiàn)的則正好是匯編語言中條件轉(zhuǎn)移指令和循環(huán)控制指令的功能。
在用匯編語言寫分支控制程序時尤其要注意的是,由于只能一個分支一個分支的縱向展開,因此除最后書寫的分支外,前面的分支結(jié)尾處一般都應(yīng)該有一條無條件轉(zhuǎn)移指令以跳過后面的分支,避免執(zhí)行不該執(zhí)行的分支。
例如:輸入一個字符,判斷其是否為數(shù)字‘9’,若是,則輸出字符‘Y’;否則,輸出字符‘N’。這是一個簡單的二分支問題,其匯編語言程序段如下:
MOV AH,1
INT 21H
CMP AL,‘9’
JZ YES ;開始分支
MOV DL,‘N’ ;第一個分支
JMP EXIT ;避免執(zhí)行第二個分支
YES:MOV DL,‘Y’ ;第二個分支
EXIT:MOV AH,2 ;匯合點
INT 21H
匯編語言除了提供上述轉(zhuǎn)移控制類指令和循環(huán)控制類指令以實現(xiàn)分支程序設(shè)計和循環(huán)程序設(shè)計外,還提供有子程序和中斷服務(wù)程序的調(diào)用(CALL、INT)指令和返回(RET、IRET)指令以及比較特別的重復(fù)前綴指令(REP、REPZ、REPNZ)等。
匯編語言的子程序概念和高級語言中的子程序概念、函數(shù)概念以及過程概念是對應(yīng)的,而中斷服務(wù)程序概念則一般是匯編語言獨有的。
如果僅從程序執(zhí)行機制上看,子程序、函數(shù)、過程、中斷服務(wù)程序的地位是一樣的,只不過是在不同的語言環(huán)境中采用了不同的稱呼而已。
主程序和子程序、函數(shù)、過程、中斷服務(wù)程序之間的流程控制都是通過調(diào)用與返回實現(xiàn)的,差別是:在高級語言中,主程序和子程序、函數(shù)、過程之間的流程控制是通過直接引用子程序、函數(shù)或過程的名字(加上適當(dāng)?shù)膮?shù))來實現(xiàn)的[1,3];而在匯編語言中,主程序和子程序、中斷服務(wù)程序之間的流程控制是通過前面提到的專門的控制指令(CALL、RET、INT、IRET)來實現(xiàn)的。
4子程序問題
前已述及,匯編語言的子程序結(jié)構(gòu)相當(dāng)于高級語言中的子程序、函數(shù)和過程。
在采用子程序結(jié)構(gòu)時,一個重要的問題就是參數(shù)傳遞。主程序在通過調(diào)用子程序為自己解決某些問題時,通常需要為子程序提供一些相關(guān)的數(shù)據(jù),子程序在內(nèi)部對這些數(shù)據(jù)做相應(yīng)的加工處理后應(yīng)該將處理結(jié)果返回給主程序,這就是所謂的參數(shù)傳遞問題。主程序提供給子程序的數(shù)據(jù)通常叫做入口參數(shù),而子程序返回給主程序的數(shù)據(jù)則通常叫做出口參數(shù)。
匯編語言子程序的參數(shù)傳遞和高級語言中子程序、函數(shù)或過程的參數(shù)傳遞機制從本質(zhì)上看是一致的。
需要做參數(shù)傳遞時,通常有兩種選擇:一種方法是直接傳遞所需要的數(shù)據(jù),另一種方法是傳遞所需數(shù)據(jù)的位置信息即內(nèi)存地址。第一種方法即通常所說的值傳遞,第二種方法即通常所說的地址傳遞。需要注意的是,傳地址的目的也是為了傳數(shù)據(jù)。
從表象即實現(xiàn)形式上看,匯編語言子程序的參數(shù)傳遞和高級語言子程序的參數(shù)傳遞卻有著不小的差別。
在高級語言中,函數(shù)在定義時往往就有參數(shù)說明,如C語言的函數(shù)定義格式如下:
類型 函數(shù)名(形式參數(shù)表)
{
函數(shù)體
}
高級語言的函數(shù)在調(diào)用時需要同時提供參數(shù),一般格式是:函數(shù)名(實際參數(shù)表)。而在匯編語言中,子程序在定義時不需要有關(guān)參數(shù)的說明,在調(diào)用時自然也就無需同時提供參數(shù)。
如在MASM中,子程序的定義格式為:
子程序名 PROC
子程序體
子程序名 ENDP
子程序的調(diào)用格式則為:CALL子程序名
由此可見,高級語言中函數(shù)的參數(shù)傳遞是顯式進行的,較之匯編語言子程序中隱式進行的的參數(shù)傳遞問題要易于實現(xiàn)和理解接受一些。因此,匯編語言中的子程序的參數(shù)傳遞問題就是教學(xué)中的一個重點內(nèi)容。
在匯編語言中,為了實現(xiàn)子程序的參數(shù)傳遞,不管是采用值傳遞還是采用地址傳遞,都需要由程序設(shè)計者事先安排好一個第三方空間。值傳遞時將所需要的數(shù)據(jù)本身放在這個事先安排好的空間中,而地址傳遞時則將存放所需要的數(shù)據(jù)位置信息即內(nèi)存地址放在這個事先安排好的空間里。
在安排用于參數(shù)傳遞的第三方空間時,既可以安排寄存器,也可以安排內(nèi)存單元,還可以安排堆棧。因此具體的參數(shù)傳遞方式靈活多樣,而且各有各的優(yōu)勢,在實際應(yīng)用中通常綜合以上各種做法以求達到最佳效果[2,4-6]。
5結(jié)語
限于篇幅,以上僅就程序設(shè)計的幾個主要方面作了比較論述,而且主要是從實現(xiàn)機制的角度來談,因此細節(jié)的東西基本上都省卻了。事實上,在其他方面,匯編語言和高級語言也具有一定的可比性。
實踐證明,通過比較教學(xué),一方面可以利用學(xué)生已有的知識和體驗幫助他們更好地學(xué)習(xí)匯編語言的相關(guān)知識,即把他們在高級語言程序設(shè)計中獲得的有關(guān)程序設(shè)計的基本思想方法和規(guī)律遷移到匯編語言程序設(shè)計的學(xué)習(xí)中來,進行差異化的學(xué)習(xí),極大地提高學(xué)習(xí)效率;另一方面,可以讓同學(xué)們通過比較,把以前在學(xué)習(xí)高級語言程序設(shè)計時遺留的一些問題甚至沒有意識到的問題搞清楚,起到融會貫通、觸類旁通的作用。
總之,通過比較教學(xué),不僅可以提高學(xué)生的學(xué)習(xí)效果和效率,而且新舊知識可以相得益彰。
參考文獻:
[1] 譚浩強. C程序設(shè)計[M]. 3版. 北京:清華大學(xué)出版社,2005.
[2] 曹加恒,蘇光奎,許先斌,等. 新一代匯編語言程序設(shè)計[M]. 北京:高等教育出版社,2003.
[3] 鄭啟華. PASCAL程序設(shè)計[M]. 2版. 北京:清華大學(xué)出版社,1996.
[4] (美)歐文. Intel匯編語言程序設(shè)計[M]. 5版. 溫玉杰,梅廣宇,羅云彬,譯. 北京:電子工業(yè)出版社,2007.
[5] 沈美明,沈冬嬋. IBM-PC匯編語言程序設(shè)計[M]. 2版. 北京:清華大學(xué)出版社,2001.
[6] 錢曉捷. 新版匯編語言程序設(shè)計[M]. 北京:電子工業(yè)出版社,2006.
The Comparative Teaching Method of “Assemly Language”
XIONG Xiao-bing
篇5
匯編語言是我們理解整個計算機系統(tǒng)的最佳起點。人們往往認為匯編語言的應(yīng)用范圍很小,因而忽視了它的重要性。其實匯編語言對學(xué)習(xí)計算機科學(xué)與技術(shù)的人是非常重要的。所有程序,不論用何種語言進行編制,只有轉(zhuǎn)成機器指令,運用機器的邏輯功能,功能才得以實現(xiàn)。
匯編語言直接a描述機器指令,比機器指令更容易記憶和理解。通過學(xué)習(xí)和使用匯編語言,我們才能夠感知、體會、理解機器的邏輯功能,這樣不僅可以為理解各種軟件系統(tǒng)的原理打下技術(shù)理論基礎(chǔ),而且可以為掌握硬件系統(tǒng)的原理打下實踐應(yīng)用基礎(chǔ)。
2.教學(xué)中存在的問題
當(dāng)前高級語言的發(fā)展非常迅速,各種開發(fā)工具層出不窮,其功能也越來越強大。高級語言進行程序設(shè)計的可操作性越來越強,許多非計算機專業(yè)人員在不了解計算機的結(jié)構(gòu)、沒掌握計算機相關(guān)的專業(yè)理論和各種計算機語言具體編程等情況下,同樣能很好地使用高級語言。所以,高級語言的發(fā)展弱化了匯編語言的地位,這使部分高職學(xué)生覺得匯編語言已不重要了,學(xué)不好沒有多大的關(guān)系。所以,思想認識上的不重視,導(dǎo)致了部分學(xué)生學(xué)不好這門課程。
《匯編語言程序設(shè)計》的學(xué)習(xí)需要一定的英語知識。高職學(xué)生的英語基礎(chǔ)普遍差,據(jù)有關(guān)職業(yè)教育方面的統(tǒng)計資料顯示:在高職高專院校中60%的學(xué)生英語基礎(chǔ)差;30%的學(xué)生有一定的基礎(chǔ),但對英語學(xué)習(xí)不感興趣;10%的學(xué)生英語基礎(chǔ)較好。實際上,普通高職高專院校學(xué)生英語的基礎(chǔ)情況比統(tǒng)計的更嚴峻。這就為他們學(xué)習(xí)這一課程帶來了一定的障礙。
針對這一系列的情況,筆者根據(jù)教學(xué)經(jīng)驗,總結(jié)了在高職院校教《匯編語言程序設(shè)計》的一些心得,希望對大家有所幫助。
3.注重課堂教學(xué)
3.1優(yōu)化教學(xué)內(nèi)容。
本課程涉及內(nèi)容較多,教師應(yīng)在講課之前先對課本內(nèi)容進行優(yōu)化。并不是課本上所羅列的內(nèi)容都需要講,教師要有選擇性講解:對學(xué)生有用的而課本上講得不全面的要補充講解,而對學(xué)生用處不大的可以不講或一帶而過,爭取做到“少而精”。
3.2讓學(xué)生充分認識到該課程的重要性,提高學(xué)生的學(xué)習(xí)的興趣。
“興趣是最好的老師”,如何讓學(xué)生對本課程感興趣?筆者認為關(guān)鍵是把握好開學(xué)第一堂課。在學(xué)生剛接觸本課程時,教師不要急于介紹理論知識,而是要強調(diào)該課程的實際應(yīng)用,通過介紹匯編語言的特點和匯編語言在一些典型系統(tǒng)開發(fā)中的具體應(yīng)用來激發(fā)學(xué)生的學(xué)習(xí)興趣。
目前對單片機的靈活編程已經(jīng)應(yīng)用到各個領(lǐng)域,無論是尖端科技,如軍事、通信、能源、機器人、交通、IT,還是現(xiàn)代工業(yè)、農(nóng)業(yè),如儀器儀表、汽車電子系統(tǒng)、家用電器、玩具、個人信息終端等諸多領(lǐng)域,都離不開單片機。而單片機的編程里大部分都使用了匯編語言,匯編語言的易用和靈活的特性,使得匯編語言將繼續(xù)占有獨特的地位,其適用的領(lǐng)域要求執(zhí)行效率高、反應(yīng)快,如操作系統(tǒng)內(nèi)核、工業(yè)控制、實時系統(tǒng)、家用電器的計算機控制功能等。在講述其重要性和應(yīng)用領(lǐng)域時,教師應(yīng)結(jié)合一些身邊的、具體的實例,如電梯升降的控制程序和廣場的大型噴泉的控制程序均是由匯編語言編寫的,學(xué)生的興趣會被這些實例極大地調(diào)動起來。
3.3注重實踐環(huán)節(jié)。
在計算機相關(guān)專業(yè)的教學(xué)領(lǐng)域,實驗教學(xué)是培養(yǎng)學(xué)生學(xué)習(xí)能力、實踐能力、思考能力、創(chuàng)新能力的重要環(huán)節(jié)和有效途徑。學(xué)生在學(xué)習(xí)匯編語言這門課程中產(chǎn)生的困難,來自于他們對所學(xué)知識缺乏必要的感性認識,沒有得到充分的實踐。
計算機在很多方面不同于其他學(xué)科,尤其是與硬件有密切關(guān)系的課程。由于匯編語言課程與硬件操作有著密切關(guān)系,因此實驗環(huán)節(jié)在整個教學(xué)活動中占據(jù)了舉足輕重的地位。匯編語言的實驗對培養(yǎng)學(xué)生的動手能力和學(xué)習(xí)興趣,提高學(xué)生閱讀、編輯和調(diào)試程序的能力,有著不可替代的重要作用。學(xué)生通過實驗?zāi)苌钊肓私釩PU、存儲器、接口及外部設(shè)備的工作特性,對數(shù)據(jù)在計算機中的表達和傳送產(chǎn)生感性認識,在實驗中學(xué)生能對匯編語言有更好的理解、掌握,從感性認識上升到理論認識。
4.改進教學(xué)方法
4.1對照教學(xué)法。
在講匯編語言時,教師可以和其它語言對照講解,比如C語言。C語言作為一門基礎(chǔ)和先驅(qū)課程,在此時起到了很好的借鑒作用,由于大部分學(xué)生對C語言掌握得較好,基于語言的相通性,在匯編語言的相關(guān)教學(xué)中教師若以C語言作為對照展開講解,將會收到很好的教學(xué)效果,也能增進各科之間的知識和方法上的聯(lián)系。下面筆者結(jié)合教學(xué)實踐,列舉一些應(yīng)用對照教學(xué)法的實例。
MOV指令是8088指令系統(tǒng)中首要講解的一個指令,也是匯編程序設(shè)計中使用最頻繁的指令,教師應(yīng)強調(diào)對操作數(shù)的要求。有幾點我們可以用C語言來對比解釋:
傳送過程。其傳送過程類似于C語言中的賦值,只是在這里是給寄存器或存儲單元賦值,其實C語言中的變量名本身就是一個符號地址,匯編程度的賦值最終應(yīng)對應(yīng)到存儲器的某些存儲單元。
兩操作數(shù)的類型匹配問題。該內(nèi)容在C語言中已作了強調(diào),匯編中類型匹配問題也是一個重點。與C語言類似,匯編語言操作數(shù)的位數(shù)要保持一致,只是在8088中常用的類型為字節(jié)和字。
強制類型轉(zhuǎn)換。C語言中用到了該知識,學(xué)生也已掌握,那么匯編語言中又如何實現(xiàn)呢?很自然地我們就可以引出“BYTE PTR”和“WORD PTR”這兩個操作符。
4.2互動式和啟發(fā)式教學(xué)。
高職學(xué)生的課堂氣氛一般比較活躍,他們非常喜歡教師引導(dǎo)、提問,喜歡回答問題。所以教師應(yīng)利用這一特點在上課過程中設(shè)計一些有意義的提問,利用提問將要講的知識點引出來,避免平鋪直敘地講解知識點,這樣讓學(xué)生帶著問題來學(xué)習(xí)知識點,會起到事半功倍的作用。例如,在講解編程部分的循環(huán)結(jié)構(gòu)時,筆者先舉了這樣一個例子:求1+2+3+……+100的和。學(xué)生立刻就說出結(jié)果為5050。筆者接著問:加到1000呢?這樣很多學(xué)生饒有興趣地聽講。可見,教師所選的題目要由淺入深,要能激發(fā)學(xué)生的學(xué)習(xí)興趣,要想辦法讓學(xué)生變被動學(xué)習(xí)為主動學(xué)習(xí)。
課堂練習(xí)也是互動式教學(xué)一個非常重要的方法。在講解完某一個例題后,教師可以出一道類似的習(xí)題讓學(xué)生在課上完成,請學(xué)生上講臺在黑板上寫出解題步驟并進行講解。例如剛學(xué)習(xí)了用循環(huán)的方法求1+2+3+……+100的和,教師可以讓學(xué)生練習(xí)一道2+4+6+……+100的和。這樣可以檢驗學(xué)生的掌握情況,找到學(xué)生理解錯誤的地方,從而對癥下藥。就學(xué)生理解錯誤的知識點再進行講解,這樣除了可以讓學(xué)生當(dāng)堂能夠掌握所學(xué)的知識點,還能讓其做到舉一反三。
4.3實例教學(xué)法。
由于本課程是一門比較抽象的課程,因此教師在課堂講授中應(yīng)該盡量用一些通俗易懂的例子進行教學(xué)。
例如在講解匯編中存儲器地址分段的概念時,為了便于學(xué)生理解,教師可以借助平時生活的居民樓,進行舉例。一個小區(qū)有多個居民樓,如一號樓、二號樓等,每個樓里有多個室,如101室、102室等。我們可將樓號比作段基值,每個樓里的房間比作偏移地址,很顯然一號樓的101和二號樓的101是不一樣的。這個例子可以使學(xué)生易于理解分段的概念。
再如在講解中斷的概念時有很多例子可舉。把教師上課比作CPU正在處理的事,門外有學(xué)生打報告,教師就暫停正在處理的事情讓學(xué)生進來,等學(xué)生進來后接著講課。這樣學(xué)生很容易就能掌握中斷的概念。
教師可以將難理解的知識點與日常生活中的小事相聯(lián)系,這樣既可以使學(xué)生學(xué)到扎實的理論知識,又不會使學(xué)生學(xué)得吃力。
5.充分發(fā)揮多媒體教學(xué)的作用
匯編語言指令多、變化多,相對其他可編程語言來說源程序長而復(fù)雜,一個簡單的問題解決至少要幾十行,多則上百行,教師講解例題時如果板書,就要花去大部分時間。如何解決這個問題呢?多媒體能夠提高教學(xué)效果,擴大教學(xué)范圍,延伸教師的教育功能。教師應(yīng)在課前準備講解的程序,上課時直接操作計算機,一邊講解指令的格式及算法,一邊將指令使用前后的情況、程序的效果等通過投影儀展示給學(xué)生。計算機教學(xué)還可借助網(wǎng)上豐富的資源、圖文并茂的生動界面、多姿多彩的影像資料,這些可使教學(xué)具有感受性、新穎性、可組合性、可擴充性,使學(xué)生的思維更加具有發(fā)散性,更容易培養(yǎng)學(xué)生的創(chuàng)新思維。
6.結(jié)語
筆者對匯編語言課程的教學(xué)內(nèi)容和教學(xué)方法進行了探討,這些教學(xué)方法促進了課程的建設(shè)與發(fā)展,為學(xué)生學(xué)好后續(xù)課程打下了一個良好的基礎(chǔ)。摸索一條適合高職學(xué)生需要的、有效的教學(xué)方法,使高職學(xué)生能更好地、更快地掌握匯編語言程序設(shè)計,培養(yǎng)學(xué)生的分析問題、解決問題和實際操作能力,我們在匯編語言課程教學(xué)中需要繼續(xù)探索研究的目標。
篇6
Teaching Reform and Practice in the Course of Assembly Language//Tao Xueli1, Guo Fengying2
Abstract To improve the teaching effectiveness of the assembly language programming course, and to make student to better understand and master the course contents, Base on years of teaching experience and teaching activities ,the author summarizes and discusses the teaching methods and means such as contrast teaching, drawing for simplifying difficulties and creating situation used in the teaching.
Key words assembly language; contrast teaching; blackboard writing drawing; creating situation
Author’s address
1 College of Computer and Information Technology, Henna Normal University, Xinxiang, Henan, China 453007
2 Department of Computer Information Center, Beijing University of Chinese Medicine, Beijing, China 100029
匯編語言程序設(shè)計是高校計算機專業(yè)的專業(yè)基礎(chǔ)課程之一,它是計算機組成原理、計算體系結(jié)構(gòu)等計算機硬件核心系列課程的必要先修課。匯編語言指令可以直接有效地控制計算機硬件,產(chǎn)生高效的代碼,在很多情況下是高級語言無可替代的。但是匯編語言指令較多,編程和調(diào)試過程復(fù)雜,實用性和可見性差,導(dǎo)致學(xué)生沒有興趣,因而教學(xué)效果不理想。如何改善教學(xué)效果,提高教學(xué)質(zhì)量,是每一位相關(guān)專業(yè)任課教師應(yīng)該研究的問題。筆者根據(jù)多年來從事匯編語言程序設(shè)計課程教學(xué)的實踐,談一下自己的經(jīng)驗和體會。
1 采用合適的教學(xué)方法
教學(xué)方法是為完成教學(xué)任務(wù)、實現(xiàn)教學(xué)目標服務(wù)的,合理的教學(xué)方法可以使教學(xué)的基本要素在教學(xué)活動中充分發(fā)揮各自作用和功能,從而達到預(yù)期的教學(xué)目標和教學(xué)效果。
1.1 對比教學(xué)法[1]
匯編語言程序設(shè)計一般開設(shè)在大學(xué)二年級,在學(xué)習(xí)了一門高級語言(如C語言)程序設(shè)計課程之后。因此,在教學(xué)過程中,可以充分運用對比教學(xué)法,將匯編語言與高級語言相通的知識點進行對比,利用學(xué)生熟悉的知識,幫助學(xué)生理解新的知識,可以達到事半功倍的教學(xué)效果。
1.2 板書畫圖,直觀演示,簡化難點
在匯編語言課程中,操作數(shù)的尋址方式是學(xué)生學(xué)習(xí)指令和后續(xù)內(nèi)容的基礎(chǔ),是全書的重點也是難點。在介紹操作數(shù)有效地址的4種組成部分(位移量、基址、變址、比例因子[2])時,可以通過一個圖示舉例進行講解,降低難度。
假設(shè)數(shù)據(jù)段有一個字節(jié)數(shù)組,要用指令訪問數(shù)組中的任意一個元素。數(shù)據(jù)定義如下:
X DB ‘ABCDEFJHIJKLMNOPQRSTUVWXYZ’
此處在黑板上畫圖,可以直觀地演示數(shù)據(jù)在存儲器存儲的情況以及操作數(shù)的尋址方式(圖1)。X是數(shù)組在存儲器中的首地址,是一個符號地址。從圖1中可以看出,通過數(shù)組首地址和某個元素相對于第一個元素的位移量,就可以訪問到這個元素。
1)例如,在8086/8088處理器下,要將字符“F”存入AL寄存器,可以用下面的幾種方式實現(xiàn)。
①MOV AL, [X+5]
②通常情況下,可以將數(shù)組的首地址存入一個基址寄存器(BX或者BP),指令為:
MOV AL , [BX+5]
③可以將位移量用一個變址寄存器(SI或DI)表示,通過修改SI/DI的值,便可以訪問數(shù)組中其他的字符,指令為:
MOV AL , [BX+SI]]
2)帶比例因子的尋址方式是386及其后繼機型引入的操作數(shù)尋址方式,適合用來尋址多字節(jié)數(shù)據(jù)數(shù)組中的元素。此時,可以將圖1所示的數(shù)據(jù)看成3個雙字(4字節(jié))數(shù)組(圖2)給學(xué)生講解。如要訪問第三個雙字,則可采用指令:
MOV AL, [BX+SI*4]
這樣只需要知道訪問第幾個元素,修改SI的值即可,不需要計算被訪問元素在數(shù)組中的位移量,簡化了思考和計算。特別是在4字節(jié)數(shù)組或者10字節(jié)數(shù)組中,比例因子顯得更為有用,使用起來更為方便。
通過此處的講解,不僅降低學(xué)生理解基本概念的難度,而且聯(lián)系到匯編語言中變量的定義及存儲空間的分配,幫助學(xué)生熟悉指令與硬件知識的結(jié)合,建立先后知識點間的關(guān)聯(lián)。
1.3 通過創(chuàng)設(shè)情景,幫助學(xué)生理解指令功能
在介紹一些不容易理解的指令時,可以通過創(chuàng)設(shè)簡單的應(yīng)用情景介紹指令。例如,可以用一個給字符串加密的應(yīng)用情景,介紹XLAT指令的功能及應(yīng)用。
假設(shè)數(shù)字加密規(guī)則為:0~9,分別對應(yīng)a~j,即如果從鍵盤輸入“3”,則顯示出“d”。數(shù)據(jù)定義如下:
x db ‘a(chǎn)bcdefghij’
板書畫出數(shù)據(jù)在存儲器中的存放情況(圖3)。從鍵盤輸入的數(shù)字字符保存在AL寄存器中,實現(xiàn)加密的指令序列為:
lea bx, x
sub al, 30h
xlat
如果執(zhí)行指令之前,AL的內(nèi)容為字符“3”,則指令序列執(zhí)行過后,AL的內(nèi)容就為“d”。
課堂上,可以將這個簡單應(yīng)用編寫成一個具有輸入和輸出功能的完整的程序,給學(xué)生演示。這樣既可以講解指令的應(yīng)用,也可以讓學(xué)生熟悉匯編語言源程序的格式及開發(fā)過程;也可以將這個程序設(shè)計成一個功能可以逐步擴充的系統(tǒng)案例[3-4],通過不斷擴展程序的功能,循序漸進介紹程序設(shè)計,這里不再詳述。
2 強化實驗教學(xué)
“實踐出真知”,上機實驗是教學(xué)的一個重要環(huán)節(jié),也是學(xué)習(xí)和掌握匯編語言程序設(shè)計的最有效方法。針對學(xué)生學(xué)習(xí)的進度和知識基礎(chǔ),合理安排實驗內(nèi)容。為了督促學(xué)生上機實驗,增加實驗成績在期末考核中的比例。平時實驗課上,通過向?qū)W生提問題,考查學(xué)生掌握知識的情況,這是對教學(xué)的一個反饋,可以作為今后提高教學(xué)質(zhì)量、改善教學(xué)效果的參考。
3 總結(jié)
本文是對筆者多年教學(xué)經(jīng)驗的總結(jié),教學(xué)實踐證明,這些方法與手段在一定程度上降低了學(xué)習(xí)的難度,提高了學(xué)生對本課程學(xué)習(xí)的積極性,改善了教學(xué)效果。筆者深知教學(xué)相長的道理,有些方法并不是一勞永逸的,要因材施教。因此,要想取得更好的教學(xué)效果,還需要相關(guān)專業(yè)教師的不斷努力,進行更多的探索與交流。
參考文獻
[1]熊小兵.“匯編語言程序設(shè)計”的比較教學(xué)法[J].計算機教育,2010(3):147-149.
篇7
中圖分類號:G642
文獻標識碼:B
1引言
學(xué)生普遍反映匯編語言難于記憶和理解,甚至編了一句順口溜“匯編語言不會編”。因此怎樣提高本課程的教學(xué)質(zhì)量和教學(xué)效果是任課教師值得深思的問題。首先教師要告訴學(xué)生匯編語言的重要意義,從而激發(fā)學(xué)生學(xué)習(xí)這門課的熱情。另外在教學(xué)中還應(yīng)注意以下幾個方面。
2加強上機實驗
在本專業(yè)舊版教學(xué)計劃中,匯編語言與計算機組成原理是一門課程,關(guān)于匯編語言的實驗是20學(xué)時。而在新版教學(xué)計劃中,匯編語言單獨成為一門課程,實驗壓縮到10學(xué)時。實驗學(xué)時縮短了,但是一些驗證性實驗又不得不做,因此我們將一些基本的驗證性實驗放到課外作業(yè)中,例如關(guān)于DEBUG程序的使用,可在進行匯編語言程序設(shè)計之前由學(xué)生在課下完成,讓學(xué)生用DEBUG查看數(shù)和字符在CPU的寄存器和存儲器中的存放方式、熟悉各類指令的功能和格式等,使學(xué)生加深理解所學(xué)的內(nèi)容,又不占用課上的實驗學(xué)時,還為后面進行匯編語言程序設(shè)計打下良好的基礎(chǔ),可謂一舉多得。
3啟發(fā)式教學(xué)
問是開啟智慧之戰(zhàn)的鑰匙,是發(fā)明創(chuàng)造的萌芽,是啟發(fā)式教學(xué)成功的關(guān)鍵。在教學(xué)過程中,教師要精心設(shè)計富有啟發(fā)性的問題。例如存儲器中數(shù)據(jù)的存儲方式是一個重點內(nèi)容,但是學(xué)生們難于理解同一個單元地址在不同的情況下為什么單元內(nèi)容不一樣。假設(shè)一個存儲器的內(nèi)容如圖1所示。
若機器字長為16位,采用低字節(jié)存入低地址,高字節(jié)存入高地址的存放方式。要求學(xué)生說出30000H字節(jié)單元的內(nèi)容是多少?大多數(shù)學(xué)生都會回答是01H。則教師再提問30000H字單元的內(nèi)容是多少?提示學(xué)生因為機器字長16位,而每個單元地址中存放的是一個字節(jié)――8位,則存放16位數(shù)據(jù)需要占用相繼的2個字節(jié),有的學(xué)生回答0102H,有的學(xué)生回答0201H。再進一步提示字單元的地址由最低字節(jié)的地址指定,則大多數(shù)學(xué)生都會回答0201H。然后要求學(xué)生思考一下30000H雙字單元的內(nèi)容是什么?30000H三字單元的內(nèi)容是什么?從而引出以下的規(guī)律:
例如要訪問內(nèi)存單元30000H中的內(nèi)容,若是訪問n*8位的數(shù)據(jù),則從30000H開始向高地址方向數(shù)n個地址即(30000+(n-1))H,內(nèi)容從(30000+(n-1))H中的數(shù)據(jù)開始寫,向低地址方向?qū)懼钡?0000H中的內(nèi)容。
這樣也將學(xué)生的好奇心調(diào)動起來,激發(fā)學(xué)生的學(xué)習(xí)興趣。
4案例教學(xué)
由于本課程基本概念多、專業(yè)術(shù)語多,因此教師應(yīng)該盡量用一些通俗易懂、貼近學(xué)生生活的例子進行教學(xué)。
尋址方式是重點也是難點,在講解時可通過舉例讓學(xué)生易于理解。例如某班的班長負責(zé)發(fā)信,有個學(xué)生甲家里寄來了一個包裹,若是班長直接將包裹發(fā)給學(xué)生甲,這就是“立即尋址”的概念;若是學(xué)生甲知道包裹在班長處,去班長處取包裹,這就是“直接尋址”的概念;若學(xué)生甲不知道包裹在哪里,但是他知道班長有包裹單,而拿著包裹單就可以到郵局取包裹,這就是“間接尋址”的含義。通過這個例子,使學(xué)生易于理解尋址方式的原理。
5寓教于樂
為了便于學(xué)生掌握抽象的內(nèi)容,可以在課堂上做一些小游戲,通過游戲?qū)W生在玩樂中輕松掌握知識。例如求出某條指令源操作數(shù)的物理地址,假設(shè)尋址方式是存儲器尋址方式,則這個問題要涉及到以下4個步驟:
(1) 得出該指令的源操作數(shù)的尋址方式;
(2) 得出源操作數(shù)的有效地址,該地址是邏輯地址;
(3) 判斷源操作數(shù)所在的邏輯段;
(4) 將邏輯地址轉(zhuǎn)化為物理地址。
在這4個步驟中,前2步學(xué)生基本上都能算對,難在后2步。后2步的過程如下:
(1) 根據(jù)源操作數(shù),判斷所在的邏輯段,得到16位段寄存器中的段基值;
(2) 將16位的段基值左移4位,即段基值后面補4個0,得到20位的段基址;
(3)20位的段基址與16位的邏輯地址相加,得到20位的物理地址。
對于這樣的問題,課上可以通過小游戲幫助學(xué)生理解邏輯地址和物理地址之間的轉(zhuǎn)換。我在課上設(shè)計了這樣的一個游戲:假設(shè)學(xué)生宿舍號由6位組成,設(shè)為a1a2a3a4a5a6。a1a2表示宿舍樓號,a3a4表示宿舍所在的層數(shù),a5a6表示房間號。若一個學(xué)生住在5號樓5層5房間,則該生的宿舍號就可以表示成050505。
請4個學(xué)生到講臺上,分別表示4個宿舍樓:1號、2號、3號、4號共4個樓,其中1號樓住的是園林專業(yè)、信息專業(yè)、計算機專業(yè)、城規(guī)專業(yè)的男生,2號樓住的是地信專業(yè)、歷史專業(yè)、法律專業(yè)、政治專業(yè)的男生。3號樓住的園林專業(yè)、信息專業(yè)、計算機專業(yè)、城規(guī)專業(yè)的女生,4號樓住的是地信專業(yè)、歷史專業(yè)、法律專業(yè)、政治專業(yè)的女生。另外再請4個學(xué)生到講臺上來,告訴他們專業(yè)、性別、宿舍所在的層數(shù)和房間號,要求他們寫出學(xué)生的宿舍號。在這個游戲中,學(xué)生的宿舍號對應(yīng)于物理地址,宿舍所在的層數(shù)和房間號對應(yīng)于邏輯地址,專業(yè)對應(yīng)于邏輯段。假設(shè)計算機專業(yè)的某個女生,住在10層30號,要求寫出該女生的宿舍號,則可以按照以下步驟寫出宿舍號:
(1) 確定宿舍樓:因為是計算機專業(yè)的女生,則她住在3號樓,記為03;
(2) 確定宿舍號的高兩位:將樓號左移4位,記為030000;
(3) 確定宿舍號的低4位:將層數(shù)和房間號拼接在一起,記為1030;
(4) 確定宿舍號:將(2)、(3)步得出的內(nèi)容相加,即030000+1030=031030,即是該生的宿舍號。
在以上步驟中,第1步與“判斷源操作數(shù)所在的邏輯段”相對應(yīng),第2~4步與“將邏輯地址轉(zhuǎn)化為物理地址”相對應(yīng),學(xué)生在這個游戲中輕松地掌握了求出某條指令源操作數(shù)的物理地址后2步的方法。
6改革考核方式
匯編語言的指令繁多,每種指令的用法又多種多樣。例如MOV指令,它有多種傳送方向,如圖2所示,學(xué)生掌握起來非常困難。而匯編語言程序設(shè)計課程的目的是掌握設(shè)計程序的思路,學(xué)會用計算機語言編寫程序,重點在于“程序設(shè)計”,而不是語法規(guī)則。因此,在考試中考慮采用開卷考試,使學(xué)生在學(xué)習(xí)時將重點放在解題思路上,而不去死記硬背各種指令的不同用法。如果條件允許的話,可以采用筆試與上機考試相結(jié)合的方式。閉卷考試的側(cè)重點在于填空題、選擇題、判斷題等,主要是一些概念題,而有關(guān)程序設(shè)計的內(nèi)容放在上機考試中。在上機考試時,要求學(xué)生在規(guī)定的時間內(nèi)將程序編寫出來并調(diào)試通過。
篇8
中圖分類號:G642
文獻標識碼:B
1教材系列化建設(shè)
我們以CCC2002為依據(jù),參考IEEE-CS&ACM 制定的計算機課程指南,閱讀大量的國內(nèi)外相關(guān)優(yōu)秀教材,結(jié)合課程組科研實踐成果,按照系列化建設(shè)的思路,先后編寫完成了《Intel 80x86/Pentium匯編語言程序設(shè)計》、《匯編語言程序設(shè)計(從DOS到Windows)》、《Windows匯編語言程序設(shè)計教程》、《Windows匯編語言程序設(shè)計實驗指導(dǎo)》等4本教材。其中1本被評為2006年北京市高等教育精品教材,1本被列為2007年“普通高等教育“十一五”國家級教材規(guī)劃”,2本作為2007年北京高等教育精品教材建設(shè)項目。通過編寫、使用這些教材,為教學(xué)內(nèi)容改革奠定了堅實的基礎(chǔ)。
2教學(xué)內(nèi)容及教學(xué)方法改革
在教學(xué)內(nèi)容和方法上加強與“微機原理與接口技術(shù)”、“計算機組織與結(jié)構(gòu)”、“操作系統(tǒng)”等課程間的聯(lián)系,有利于各門課程之間的融會貫通。教學(xué)內(nèi)容體現(xiàn)課程的時代性和先進性,以32位匯編語言及Windows編程環(huán)境的內(nèi)容為主,從16位實模式轉(zhuǎn)換到32位保護模式,結(jié)合豐富的應(yīng)用性實例,使所學(xué)知識與目前主流的應(yīng)用環(huán)境相結(jié)合,為學(xué)生的創(chuàng)新能力奠定基礎(chǔ)。
為實現(xiàn)教學(xué)模式從“教學(xué)型”向“研究型”的轉(zhuǎn)變,需要充分研究學(xué)生的認知過程,掌握認知規(guī)律。根據(jù)“匯編語言程序設(shè)計”課程本身的理論抽象性和鮮明應(yīng)用性,課程組以建構(gòu)主義理論為基礎(chǔ),探索并改進教學(xué)方法。在教學(xué)設(shè)計中體現(xiàn)以學(xué)生為中心、以教師為主導(dǎo)的思想,采用重點難點精講、對比教學(xué)、形象教學(xué)、重視實驗等方法,用多媒體手段、典型實例來展現(xiàn)抽象的編程概念。采用現(xiàn)代化網(wǎng)絡(luò)教育技術(shù)建立了課程網(wǎng)站及網(wǎng)絡(luò)教室,加強師生互動,拓展了交流空間。
例如,在多門專業(yè)課中均涉及到“中斷”概念,在匯編語言程序設(shè)計課程中以編程實例將它具體化,使學(xué)生對抽象的理論概念有了直接的認識,從軟件和硬件兩個角度加深了對中斷機制底層的深層次理解,提高了學(xué)習(xí)興趣。
又如學(xué)生難于理解間接尋址方式,但學(xué)生在學(xué)習(xí)本課程時已有了C語言知識,在教學(xué)中就把間接尋址方式與C語言的指針類比,通過與先前知識的銜接,經(jīng)過對比學(xué)習(xí),使學(xué)生建構(gòu)、衍生出更深層次的信息,很容易對新知識消化。對于較難理解的程序轉(zhuǎn)移地址的形成,采用動畫方式幫助學(xué)生理解,并通過CASE結(jié)構(gòu)程序設(shè)計實踐鞏固。把宏指令與過程及高級語言的函數(shù)對比,學(xué)生很快掌握了其設(shè)計方法,他們通過主動對知識的處理和轉(zhuǎn)化,又總結(jié)出“宏實際更像高級語言的預(yù)定義,用到它的地方都會有它一份拷貝,所以宏可能讓你的真正代碼量劇增”。
通過精心組織教學(xué),選擇與實際應(yīng)用密切結(jié)合的教學(xué)案例,在課堂上和網(wǎng)絡(luò)支撐平臺上增加總結(jié)和討論環(huán)節(jié),鼓勵學(xué)生主動反思,從而調(diào)整個體的認知,幫助學(xué)生實現(xiàn)在原有認知基礎(chǔ)上新知識的整合,在融合了多門課程知識的基礎(chǔ)上,形成系統(tǒng)的知識觀念,提高綜合應(yīng)用和創(chuàng)新能力。
3構(gòu)建先進的實驗平臺
在微機系統(tǒng)的教學(xué)和實驗內(nèi)容上,Windows操作系統(tǒng)及32位保護模式已成為匯編語言的發(fā)展趨勢。然而,目前Windows環(huán)境下還沒有一種專門用于匯編語言的主流開發(fā)工具,而底層匯編語言編程所面向的硬件型號和接口又存在巨大差異。為此,課程組開展了改革匯編語言程序設(shè)計實驗環(huán)境的探索,編寫了《Windows匯編語言程序設(shè)計實驗指導(dǎo)》教材,構(gòu)建了新型的實驗環(huán)境,采用Microsoft Visual C/C++集成開發(fā)工具來編寫、調(diào)試匯編程序(見下圖),使匯編程序的編輯、編譯、連接、調(diào)試等過程均與C/C++程序一致,減輕了學(xué)生學(xué)習(xí)負擔(dān),提高了C/C++與匯編混合語言編程能力。應(yīng)用虛擬機軟件技術(shù),使匯編語言編程面向虛擬的、統(tǒng)一的硬件及其接口,保證了實驗環(huán)境的統(tǒng)一性,提高了實驗效率。
4開設(shè)體現(xiàn)前沿性、先進性的匯編語言實驗
匯編語言程序設(shè)計是一門實踐性很強的課程。課程組跟蹤計算機軟硬件技術(shù)的最新發(fā)展,對國內(nèi)外的相關(guān)課程教學(xué)及實踐進行了深入的調(diào)研,結(jié)合在科研實踐中取得的部分成果,開設(shè)出一系列具有鮮明應(yīng)用特色的驗證型、綜合型和創(chuàng)新型的層次實驗,并寫進《Windows匯編語言程序設(shè)計實驗指導(dǎo)》教材中,進一步鞏固理論教學(xué)內(nèi)容。
圖 VC集成環(huán)境下的匯編語言調(diào)試
驗證型實驗以掌握單元知識為目標,著重訓(xùn)練基礎(chǔ)編程能力,如數(shù)據(jù)塊操作、數(shù)據(jù)顯示、字符串排序、素數(shù)判斷、有序數(shù)組合并等。
綜合型以融合本課程知識為主,如多模塊程序設(shè)計、中斷程序設(shè)計、線程同步、文件管理等。
創(chuàng)新型以設(shè)計具有應(yīng)用背景的實驗為主,培養(yǎng)學(xué)生對計算機知識體系的融會貫通及創(chuàng)新能力。如數(shù)據(jù)庫管理系統(tǒng)設(shè)計、全屏幕編輯器設(shè)計、緩沖區(qū)溢出實驗、讀取硬盤序列號、硬盤DMA等。
基于個體的差異性,學(xué)生可以按照自己的能力和興趣選做部分或全部實驗,充分發(fā)揮了學(xué)生的主觀能動性。這種強調(diào)自主學(xué)習(xí)的教學(xué)過程和方法,有效地促進了學(xué)生自我認知的發(fā)展和新知建構(gòu)。通過實踐環(huán)節(jié),提高了學(xué)生的程序設(shè)計能力,為學(xué)習(xí)后續(xù)專業(yè)課程,設(shè)計硬件驅(qū)動、性能優(yōu)化、代碼對抗等底層系統(tǒng)級軟件打下堅實基礎(chǔ),培養(yǎng)了學(xué)生的創(chuàng)新能力。
參考文獻
[l] 李未. 提高教育質(zhì)量,培養(yǎng)創(chuàng)新人才[J]. 計算機教育,2008,(1).
篇9
文章編號:1672-5913 (2007) 24-0023-03
1“匯編語言程序設(shè)計”課程教學(xué)現(xiàn)狀的分析
匯編語言是一門面向處理器的低級語言。該課程一方面配合“計算機組成原理”、“微機原理及接口技術(shù)”和“嵌入式系統(tǒng)”等課程,為自動控制等與硬件相關(guān)的應(yīng)用領(lǐng)域提供基礎(chǔ)知識;另一方面作為“操作系統(tǒng)”及“編譯原理”等課程的程序設(shè)計基礎(chǔ),從軟件角度理解計算機的工作原理,加強學(xué)生的高級語言編程能力。
目前在大部分院校該課程的教學(xué)模式依然沿用傳統(tǒng)的教學(xué)方法。在課程講授環(huán)節(jié),以主講教師授課作為主體,輔以課后作業(yè)、定期答疑;在實踐環(huán)節(jié),根據(jù)課程的進度,配置相應(yīng)的上機實驗。從多年的教學(xué)實踐的結(jié)果來看,這種傳統(tǒng)的教學(xué)方式基本可以達到預(yù)期的教學(xué)目標。通過本課程的學(xué)習(xí),學(xué)生能夠基本掌握Intel 80x86系列處理器的指令系統(tǒng)和匯編語言,能夠運用學(xué)到的匯編語言知識開發(fā)一些簡單的應(yīng)用程序。但隨著教學(xué)體制改革的不斷深化,信息化、網(wǎng)絡(luò)化教學(xué)技術(shù)的不斷成熟,特別是學(xué)生自主化學(xué)習(xí)的理念不斷加深,引發(fā)了我們對當(dāng)前教學(xué)模式以及考試方法的思考。
“匯編語言程序設(shè)計”課程是一門理論性和實踐性都很強的計算機專業(yè)的核心課程。本課程的學(xué)習(xí)要求學(xué)生對計算機的組織結(jié)構(gòu),特別是計算機的指令系統(tǒng)有一定的了解;該課程所教授的知識,不是單純的理論知識,必須要求學(xué)生進行上機實踐操作,這樣才能更加熟練地掌握這門語言。因此,傳統(tǒng)的教學(xué)方法也不可回避地暴露出與這門課程的特點所不相適應(yīng)的弊端,歸納起來有如下幾點:
(1) 由于匯編語言程序設(shè)計較C語言等高級語言程序設(shè)計更加煩瑣,并且與硬件關(guān)系密切,因此使得學(xué)生感到學(xué)習(xí)這門課程有一定的難度。
(2) 課時的緊迫與學(xué)生課業(yè)負擔(dān)較重產(chǎn)生矛盾,使得學(xué)生學(xué)習(xí)不夠扎實,影響學(xué)生的學(xué)習(xí)效果。
(3) 答疑時間太為固定集中,有時可能與學(xué)生的時間發(fā)生沖突。
(4) 學(xué)生自由支配的時間過少,教學(xué)計劃與學(xué)生實際的學(xué)習(xí)進度不相一致。
當(dāng)然以上幾點也可能是在許多其他課程教學(xué)過程中所存在的通病,但在“匯編語言程序設(shè)計”這樣一門理論性和實踐性都很強的課程中就顯得尤為突出。這也就迫使我們朝著學(xué)生自主化學(xué)習(xí)的方向不斷探索、不斷前進。
2學(xué)生自主化學(xué)習(xí)的研究
顧名思義,學(xué)生自主化學(xué)習(xí)就是把教學(xué)的主動性從老師那里拿回到學(xué)生手中。具體地講就是改變傳統(tǒng)的教師主講的教學(xué)模式,將學(xué)生被動的聽課模式轉(zhuǎn)變?yōu)閷W(xué)生自主地學(xué)習(xí)。這樣可以給學(xué)生充裕的時間自由支配自己的學(xué)習(xí),提高學(xué)生的主動實踐、積極思考的能力。從而提高學(xué)生的學(xué)習(xí)興趣,使學(xué)生學(xué)有所得,學(xué)有所獲。
必須指出的是,這種自主化學(xué)習(xí)的方式在教育界曾多次提出,但收效極佳的還未見到。分析其原因主要有以下兩點:
(1) 自主化學(xué)習(xí)留于形式,最終導(dǎo)致自主化學(xué)習(xí)變?yōu)榱瞬粚W(xué)習(xí)
目前,有些課程推行所謂的學(xué)生自主化學(xué)習(xí)的教學(xué)模式,其實是把教學(xué)的一切任務(wù)都推給了學(xué)生,老師也不聞不問,最后象征性的考試了事。這樣的教學(xué)不但起不到提高學(xué)生自主化學(xué)習(xí)、主動實踐、積極思考問題和解決問題的能力,反而在學(xué)生中滋生了浮躁、渙散的學(xué)風(fēng)。這種做法是極不可取的。
(2) 自主化學(xué)習(xí)缺乏必要的技術(shù)支持,嚴重影響了教學(xué)的效果
如果教學(xué)過程缺乏必要的技術(shù)支持,自主化學(xué)習(xí)的學(xué)習(xí)模式也是很難推行的。其相應(yīng)的技術(shù)支持應(yīng)包括在學(xué)校構(gòu)建一個用于學(xué)生進行自主學(xué)習(xí)的在線學(xué)習(xí)平臺,建立起一套完整的課程教學(xué)計劃、課程進度安排、課程學(xué)習(xí)目標、課后作業(yè)布置以及在線答疑等系統(tǒng)。這樣才能為學(xué)生的自主化學(xué)習(xí)提供物質(zhì)上的保障。
北京工業(yè)大學(xué)在學(xué)生自主化學(xué)習(xí)方面也有過積極的嘗試。在“計算機組成原理”課程的教學(xué)實踐中,利用先進的互聯(lián)網(wǎng)技術(shù)開發(fā)了校園網(wǎng)學(xué)生在線學(xué)習(xí)子系統(tǒng)。利用該系統(tǒng)可以在正常的教學(xué)過程中作為學(xué)生在線學(xué)習(xí)的輔助指導(dǎo),為提高學(xué)生主動學(xué)習(xí)的積極性及師生之間的相互交流提供了有力的支持。因此,在“匯編語言程序設(shè)計”課程的教學(xué)過程中,我們也可以借鑒“計算機組成原理”課程的教學(xué)經(jīng)驗,并不斷完善,最終實現(xiàn)全面的學(xué)生自主化學(xué)習(xí)的過程。
3應(yīng)用校園網(wǎng)在線學(xué)習(xí)及考試系統(tǒng)實現(xiàn)學(xué)生自主化學(xué)習(xí)
教學(xué)工作的信息化、網(wǎng)絡(luò)化、無紙化長期以來一直是我們研究的對象和目標。也是實現(xiàn)學(xué)生自主化學(xué)習(xí)的物質(zhì)基礎(chǔ)。它不但可以提高學(xué)生主動思考、積極探索的能力,而且在一定程度上可以提高教學(xué)效率,激發(fā)學(xué)生的學(xué)習(xí)潛能。
北京工業(yè)大學(xué)正在研究、開發(fā)并完善“校園網(wǎng)在線學(xué)習(xí)及考試系統(tǒng)”。利用該系統(tǒng),可以很好地實現(xiàn)教師教學(xué)和學(xué)生學(xué)習(xí)的信息化及網(wǎng)絡(luò)化。此系統(tǒng)是實現(xiàn)學(xué)生自主化學(xué)習(xí)的物質(zhì)基礎(chǔ)和實踐平臺。雖然該系統(tǒng)尚處于試驗階段,功能尚不完善,但它對于最終實現(xiàn)學(xué)生自主化學(xué)習(xí)是一個積極的探索和有益的嘗試。
校園網(wǎng)在線學(xué)習(xí)及考試系統(tǒng)的總體結(jié)構(gòu)如圖1所示。該系統(tǒng)的實現(xiàn)可以把課程的學(xué)習(xí)、課后的作業(yè)練習(xí)、疑難問題的答疑及最后的考試等教與學(xué)的工作環(huán)節(jié)都放到互聯(lián)網(wǎng)上完成。
圖1 校園網(wǎng)在線學(xué)習(xí)及考試系統(tǒng)總體結(jié)構(gòu)圖
從圖1可以看出校園網(wǎng)在線學(xué)習(xí)及考試系統(tǒng)采用基于網(wǎng)絡(luò)架構(gòu)的B/S模型建立。服務(wù)前臺共分為四個功能模塊,每個功能模塊提供一種特殊的服務(wù)。
(1) 在線課程學(xué)習(xí)模塊:利用該模塊教師可以在每個學(xué)期的開始,為學(xué)生制定一份詳細的學(xué)習(xí)計劃,學(xué)生根據(jù)計劃的安排和本課程的教學(xué)要求結(jié)合自身的實際情況進行課程的學(xué)習(xí)。教師可以按階段把當(dāng)前應(yīng)該掌握的知識以及應(yīng)該完成的學(xué)習(xí)進度以消息的方式提示給學(xué)生,以便學(xué)生自己掌握好學(xué)習(xí)的進度。這種模式可以把只有教師教、學(xué)生被動學(xué)的教學(xué)模式,轉(zhuǎn)變?yōu)橛山處熤贫▽W(xué)習(xí)計劃、讓學(xué)生自己根據(jù)實際情況進行在線自主學(xué)習(xí)的教學(xué)模式。這樣每個學(xué)生能夠根據(jù)自己的時間安排,自由選擇、合理安排“上課時間”。這種教學(xué)方式可以有效地提高學(xué)生的自主化學(xué)習(xí)及獨立思考問題的能力,在自己的主動探索中不斷發(fā)現(xiàn)問題、提出問題并且解決問題。
(2) 在線作業(yè)模塊:本模塊旨在通過網(wǎng)絡(luò)平臺給學(xué)生布置課后作業(yè)及上機實驗,學(xué)生可以通過該模塊在線提交作業(yè)及上機實驗結(jié)果,教師可以及時檢查、了解學(xué)生的學(xué)習(xí)狀況,以督促學(xué)生進行主動學(xué)習(xí)。
(3) 在線答疑模塊:一個合格的在線學(xué)習(xí)系統(tǒng)必須包含在線答疑模塊。在線答疑模塊為教師和學(xué)生、同學(xué)和同學(xué)之間提供了提問、交流、切磋的平臺。在線答疑平臺是一個論壇形式的公共平臺,它的功能主要是由學(xué)生在線向教師提出課程學(xué)習(xí)中的疑難問題,由教師定期予以回復(fù)。但在實踐中我們發(fā)現(xiàn),這個平臺的功能遠大于此。學(xué)生們不但在在線答疑平臺上提出了許多很好的問題,而且同學(xué)之間也可以進行豐富的交流。有時,不用等到教師給出問題的答案,同學(xué)之間就已經(jīng)把問題解決了。因此,這個平臺真正成為了教師、同學(xué)之間進行交流、傳授知識、切磋技藝及發(fā)表心得的紐帶。
(4) 在線考試模塊:在課程學(xué)習(xí)結(jié)束后,可以通過在線考試模塊來考察學(xué)生對相應(yīng)課程的學(xué)習(xí)掌握情況。通過Internet/Intranet實現(xiàn)網(wǎng)上考試,是現(xiàn)代教育技術(shù)的一個具體實現(xiàn),具有很重要的現(xiàn)實意義。通過網(wǎng)絡(luò)進行在線考試的模式是對傳統(tǒng)的考場考試方式的延伸,它可以利用網(wǎng)絡(luò)的無限廣闊空間,隨時隨地對學(xué)生進行考試。該模塊的實現(xiàn),不僅可以實現(xiàn)自動化組卷、閱卷及考務(wù)工作的全自動化管理,為實現(xiàn)考試的客觀性和公正性、實現(xiàn)考教分離及進行大規(guī)模的考試提供相應(yīng)的支持,而且可以有效地利用校園網(wǎng)的軟硬件資源,使其發(fā)揮最大的效力,更好地為學(xué)校的教學(xué)、科研、管理服務(wù),也為檢查學(xué)生進行自主化學(xué)習(xí)的效果提供了一定的技術(shù)支持。
4結(jié)論
本文通過對學(xué)生進行自主化學(xué)習(xí)方法的探討和研究,提出了關(guān)于“匯編語言程序設(shè)計”課程實現(xiàn)以教師為主導(dǎo)、學(xué)生進行自主化學(xué)習(xí)教學(xué)模式的方案。詳細介紹了北京工業(yè)大學(xué)校園網(wǎng)在線學(xué)習(xí)及考試系統(tǒng)的基本構(gòu)架、部分已實現(xiàn)的功能、系統(tǒng)的整體構(gòu)想以及該系統(tǒng)對學(xué)生進行自主化學(xué)習(xí)的具體幫助及技術(shù)上的支持。
通過對匯編語言程序設(shè)計課程自主化學(xué)習(xí)教學(xué)實踐的研究,可以看到為了更好地實現(xiàn)學(xué)生的自主化學(xué)習(xí),教師不僅需要研究各種教學(xué)方法及教學(xué)內(nèi)容,而且需要利用先進的現(xiàn)代化網(wǎng)絡(luò)技術(shù),進一步完善教學(xué)及實踐方式,這樣才能更好地指導(dǎo)、協(xié)助學(xué)生進行自主化學(xué)習(xí)。自主化學(xué)習(xí)教學(xué)方案的實施,不僅能夠培養(yǎng)學(xué)生自主學(xué)習(xí)、獨立思考問題、解決問題的能力,而且能夠極大地提高學(xué)生的實踐能力及創(chuàng)新精神。我們期望匯編語言程序設(shè)計課程的自主化學(xué)習(xí)的教學(xué)改革與實踐,能夠為其他課程的教學(xué)改革提供一些積極的探討和有益的經(jīng)驗。
參考文獻
[1] 梁峰. 多媒體校園網(wǎng)系統(tǒng)探討[J]. 教育技術(shù)理論與實踐,2005,(4).
[2] 易小琳等. 基于EDA平臺的計算機系統(tǒng)硬件課程虛擬化實踐的研究[J]. 中國大學(xué)教學(xué),2005,(7).
[3] 易小琳等. 網(wǎng)上計算機系統(tǒng)虛擬實驗室的研究[J]. 計算機工程,2002,(11).
[4] 中國計算機科學(xué)與技術(shù)學(xué)科教程[M]. 北京:清華大學(xué)出版社,2002.
作者簡介
易小琳(1959-),女,高級工程師、計算機系統(tǒng)結(jié)構(gòu)教研組主講教授,碩導(dǎo),目前研究方向為計算機系統(tǒng)結(jié)構(gòu)及嵌入式系統(tǒng)。
魯鵬程(1976-),男,講師,計算機系統(tǒng)結(jié)構(gòu)教研組教師,博士,目前研究方向為計算機系統(tǒng)結(jié)構(gòu)及嵌入式系統(tǒng)。
周巍(1982-),男,研究生助教,目前研究方向為計算機系統(tǒng)結(jié)構(gòu)及嵌入式系統(tǒng)。
楊峰(1984-),男,研究生助教,目前研究方向為計算機系統(tǒng)結(jié)構(gòu)及嵌入式系統(tǒng)。
聯(lián)系方式
北京工業(yè)大學(xué)計算機學(xué)院,北京朝陽區(qū)平樂園100號,100022,易小琳
篇10
匯編語言是一種面向機器的編程語言,運算速度快,在使用匯編語言的過程可以通過提高存儲器運行速度來提升其存儲空間,另外,匯編語言其控制作用力應(yīng)用在硬件上也有著無法取代的優(yōu)點。同時匯編語言也有著程度較高卻復(fù)雜和移植性差等缺點,但是在實際的操作中,硬件還有精確定的過程中必須要用到匯編語言。C語言作為一種高級語言,其表達性以及靈活性還有開發(fā)性均較高的優(yōu)勢,因此為了更好的發(fā)揮匯編語言和C語言在開發(fā)軟件中各自的優(yōu)點,將兩者有機的結(jié)合起來,取長補短混合編程更好的達到設(shè)計的要求,高質(zhì)量的完成設(shè)計任務(wù)。
1 C語言程序設(shè)計技術(shù)方法
(1)可以在C語言程序之中確定匯編程序的常、變量。
(2)可以在C語言編程當(dāng)中適當(dāng)?shù)脑黾诱Z句編輯,保證實現(xiàn)C語言無法控制硬件的缺陷。
(3)然而使用C語言程序時可以通過內(nèi)部函數(shù)的使用加入?yún)R編語言中的相應(yīng)語句。
2 匯編程序設(shè)計技術(shù)及方法
在C語言編程當(dāng)中,可以將匯編語言的代碼直接的編寫進去,并且融入?yún)R編語言的過程當(dāng)中可以不使用分號,詳細的語法是:
asm
若想要將一組匯編語句融入到C語言中,必須要將語句括到括號{}當(dāng)中。
asm {
mov ax,dataA
xchg ax,dataB
mov dataA,ax
}
一般想要在C語言程序當(dāng)中編入?yún)R編語言,有四種類型,分別是一般指令、跳轉(zhuǎn)指令、串聯(lián)指令和局部定義指令。
匯編語言子程序應(yīng)用在C語言中,一般情況下匯編語言的子程序其基本格式是:
MYCODE SEGMENT PARA PUBLIC‘CODE
PUBLIC_函數(shù)名;
公共符號說明DGROUP GROUP MYDATA,MYBBS
MYDATA SEGMENT WORD PUBLIC‘CODE’
...定義變量,初始化數(shù)據(jù)
MYDATA ENDS
MYBBS SEGMENT WORD PUBLIC‘CODE’
...非初始化數(shù)據(jù),開辟內(nèi)存區(qū)
MY BBS END
ASSUME
CS:MYCODE,DS:DGROUP,SS:DGROUP
...
_函數(shù)名 PROC NEAR/FAR
PUSH BP
MOV BP,SP
PUSH SI
PUSH DI
...程序主體語句
POP DI
POP SI
POP BP
RET
_函數(shù)名 END UP
...
MYCODE ENDS
END
3 C語言匯編語言需要調(diào)用其它子程序的語言格式
把被調(diào)用程序其格式和普通匯編語言程序分布情況加以比較能夠發(fā)現(xiàn):
因為C語言程序和進行匯編的子程序需要共用同一個程序運行區(qū)間,所以在剛剛開始進行子程序的C語言匯編時就需要運行PUSH BP和MOVE BO,SP這兩個命令。
必須要把將會被修改和匯編到C語言程序中的子程序進行局部調(diào)用的PUBLTC操作,通過進行PUBLTC的操作來表示該段C語言子程序已經(jīng)參與到其他的操作中,被其他程序所調(diào)用了。
雖然已經(jīng)被調(diào)用的子程序會接受程序的控制,但也需要對該段子程序利用SI和DI進行局部變量的保存,但是僅在變量高于120分鐘時,才能將其在堆棧當(dāng)中加以存放。因此,這一模式進行過程中,我們可以清楚的看到PUSH DI還有PUSH SI的語句。
在經(jīng)過匯編的程序C語言中,要把MYCODE的代碼段、初始數(shù)據(jù)段、修改數(shù)據(jù)段進行分別的定義,并且把這幾個分段的匯編程序組合成為一個有效段組,保證該段段組基址的共用性。
在匯編之后的程序語句之前必須要增加一段函數(shù)值語句,保證語句可以有效的返回,進行下一段的程序循環(huán),并且設(shè)置的返回值要在RET語句的前方。
值得注意的是,不同意調(diào)用過的子程序必須要用RET的命令增加返回功能,并且在結(jié)束語句后編輯結(jié)束END。這個END語句代表的是最終的終止,沒有相應(yīng)的啟動功能。
通過C語言子程序的匯編,可以有效的保證其調(diào)用功能,同時也節(jié)省了相應(yīng)的程序編輯空間。例如在程序輸入時,不用修改程序的進位制就能準確的進行數(shù)據(jù)的讀取,也就是說參與匯編的C語言子程序在格式上不會有太大的改變,只需要在原本子程序的起始部位增加相應(yīng)的語句就可以了。
EXTERN 函數(shù)名,主要作用是為了反應(yīng)出這個函數(shù)是C語言的子程序,且是外部調(diào)用的、。原本的主程序語句,可以利用外部程序來實現(xiàn)原本語句的調(diào)用功能,具體的調(diào)用格式如下:CALL NEAR PTR 函數(shù)名,而在將C語言程序當(dāng)做是子程序的過程中,只包含有C函數(shù),并不需要EXTERN來進行進一步的說明。
4 連接兩種語言
由于匯編語言和C語言二者均存在著一定的問題,通過將兩種語言混合編程,能夠彌補兩種語言各自存在的不足,因此,下面闡述如何連接這兩種語言。
4.1 傳遞參數(shù)
在調(diào)用C語言及匯編語言時,可能會存在匯編語言的參數(shù)傳遞問題,通常都是利用堆棧來進行傳遞,通常在匯編C語言的過程中,要把BP基址當(dāng)作原數(shù)據(jù)的儲存器,C語言的匯編參數(shù)全部儲存在堆棧儲存器當(dāng)中,如果在需要使用儲存參數(shù)時,可以把存儲在堆棧當(dāng)中的數(shù)據(jù)進行清除處理。
4.2 調(diào)用關(guān)系的確定
對于即將要調(diào)用的函數(shù)或者是過程,要在調(diào)用開始之前明確的說明,建立完整的調(diào)用關(guān)系,詳細的說明被調(diào)用的子程序是屬于那個外部過程當(dāng)中的,并且被調(diào)用的子程序應(yīng)用在什么模塊當(dāng)中。另外要根據(jù)調(diào)用模塊和儲存方式的不同,對被調(diào)用的C語言匯編子程序進行格式的確定,一般情況下被調(diào)用的在大模式下與原本程序類型基本相似,小模式下存在微小的變化
4.3 模塊連接
原有的C語言模塊想要和匯編C語言的模塊進行準確的連接,就需要做到以下兩點:
(1)原有C語言模塊必須與匯編C語言模塊的儲存方式相同。
(2)要求匯編模塊要遵守和C語言模塊兼容的相同命名。
因為編譯系統(tǒng)在編譯C源程序的過程當(dāng)中,將會在函數(shù)名以及變量名稱的前面畫有下劃線,想要保證連接前后相同,全部被C語言調(diào)用的匯編子程序其標識符前面都要標記下劃線。并且,想要使匯編語言的標識符在C語言當(dāng)中能夠看見,需要用PUBLIC來定義。要求匯編語言當(dāng)中其C語言的變量以及函數(shù),必須要在二者前面加上下劃線,同時,要求匯編程序開頭的所調(diào)用C函數(shù)以及變量必須要用EXTERN對其進行說明。
為了有效保證C語言及匯編語言二者混合情況下設(shè)計的程序標準,能夠有效的實施,必須要保證主要參數(shù)在變成函數(shù)被調(diào)用的過程中具有有效的傳遞作用,并且要求針對程序設(shè)計具體的情況來確定兩個語言之間相互調(diào)用的關(guān)系。
在C語言的程序當(dāng)中包括六種儲存形式,分別是微型和小型以及中型和金丑行,還有大型和巨型這六種儲存的模式。通過這點我們可以知道,主要由空間的大小來區(qū)別儲存模式。在這當(dāng)中微型的儲存模式其程序和蹲站都在同一段中,而小型的儲存模式擁有數(shù)據(jù)以及代碼段,詳細的數(shù)量為同一個。如果想要混合編程,首先必須要保證這兩個程序所使用的是一個儲存模式,對于匯編語言來講,Model表示程序當(dāng)中用到的偽指令,之后需要連接的內(nèi)容便是儲存的模式,通常是上面所講的儲存模式當(dāng)中的一種模式。若C語言程序所使用的儲存模式是小型的,那么匯編語言當(dāng)中就會表示成Model Small,并且在這個時候這兩種程序使用的儲存模式一定是相同的類型。因為小型儲存模式將Near當(dāng)做是基礎(chǔ)指針,因此,這種儲存模式其運行效率極高,所以說在實際混合編程的情況下,如果符合條件這種情況下最好選擇小型儲存模式。
在編譯C語言的過程當(dāng)中,在變量以及函數(shù)名稱的下面將會添加下劃線,為了保證連接的質(zhì)量,調(diào)用子程序的過程當(dāng)中,任何標識符其下方都應(yīng)該添加下劃線。站在C語言程序的角度去看,將會把所調(diào)用的對象其中實際的變量和函數(shù)作為偽命令,進而起到說明的作用。一般把命令放在函數(shù)和變量的外部。除此之外,由于想要保存匯編語言程序標示符的完整性,應(yīng)該使用PUBLIC定義相應(yīng)的標示符。
5 結(jié)束語
通過本文對匯編語言與C語言的混合程序設(shè)計技術(shù)的進一步闡述,使我們了解到在開發(fā)軟件的過程當(dāng)中使用這兩種語言混合的程序設(shè)計的技術(shù),能充分發(fā)揮兩種語言各自的特點,揚長避短,大大提高了軟件開發(fā)的效率,縮短開發(fā)的周期,達到事半功倍的效果。通過本文對二者之間混合程序設(shè)計技術(shù)的具體闡述,希望能夠給使用匯編語言及C語言混合程序設(shè)計方面提供一定的幫助,對于我國軟件開發(fā)方面起到促進的作用。
參考文獻
[1]陳久婭.C語言與匯編語言的混合程序設(shè)計技術(shù)研究[J].電子制作,2013(04):61.
[2]康晶晶.匯編語言與C語言的混合程序設(shè)計技術(shù)[J].計算機時代,2013(06):1-2.
[3]印德彬.匯編語言與C語言的混合程序設(shè)計技術(shù)[J].電子技術(shù)與軟件程,2015(02):254.
作者簡介
篇11
文獻標識碼:B
文章編號:1672-5913(2008)06-0019-03
1教學(xué)現(xiàn)狀及存在問題
在目前匯編語言的教學(xué)過程中,普遍存在的問題就是主流的微型計算機已經(jīng)進入了64位時代,多任務(wù)的操作系統(tǒng)取代了DOS,而絕大多數(shù)高校匯編語言程序設(shè)計課程仍然是單任務(wù)操作系統(tǒng)(DOS)下的8086匯編語言,給學(xué)生的印象是跟不上時展的步伐。加之,匯編語言和機器的體系結(jié)構(gòu)結(jié)合緊密,使用者需要對計算機的組成、硬件的控制和指令的解釋過程有比較清晰的掌握;程序的移植性不好;指令眾多,且同種類型的操作(算術(shù)、邏輯、轉(zhuǎn)移等)要根據(jù)操作數(shù)和狀態(tài)標志選擇不同的指令(如無符號的運算與帶符號的運算、條件轉(zhuǎn)移等);運算中要根據(jù)數(shù)據(jù)長度懸而選擇不同的寄存器;程序的編譯調(diào)試比較麻煩;編寫出吸引人們感官的程序比較困難。因此,學(xué)生在匯編語言的學(xué)習(xí)中容易產(chǎn)生厭煩情緒。有的學(xué)校減少了匯編語言的課時,還有的學(xué)校甚至干脆取消了這門課程。
2“匯編語言”課程的地位
匯編語言機器級在高層機器和低層機器間扮演了承上啟下的角色,是計算機及相關(guān)專業(yè)學(xué)生需要掌握的重要專業(yè)基礎(chǔ)知識之一。
從應(yīng)用場合來看,匯編語言是能夠利用計算機所有硬件資源并能直接控制硬件的唯一計算機語言,也是除機器語言之外最接近計算機硬件的編程語言。匯編語言程序產(chǎn)生的代碼精簡、運行效率高,具有高級語言不可比的“時空”優(yōu)勢;匯編語言在一些應(yīng)用如嵌入式系統(tǒng)和工業(yè)控制中,匯編語言最最佳的甚至是唯一選擇的開發(fā)語言。在一些實際的應(yīng)用系統(tǒng)中,人們往往會用匯編語言來徹底重寫某些經(jīng)常調(diào)用的過程以期獲得更高的性能。
匯編語言為“計算機組成原理”、“計算機接口與通信”、“操作系統(tǒng)”、“高級語言程序設(shè)計”等相關(guān)課程提供了必要的基礎(chǔ)知識,如圖1所示。
圖1 匯編語言和其它課程的關(guān)系
從人才培養(yǎng)方面來看,計算機專業(yè)的學(xué)生不應(yīng)僅僅滿足于利用他人開發(fā)的軟件和工具來解決實際問題,還應(yīng)具備分析、研究原有軟件系統(tǒng),改進、完善、提高原有系統(tǒng)功能的能力。匯編語言的教學(xué)將使學(xué)生受到更嚴密、更系統(tǒng)的程序設(shè)計及思維方法的訓(xùn)練,為深入分析、研究、開發(fā)軟件系統(tǒng)打下良好基礎(chǔ)。
3加強實踐教學(xué)
為了提高匯編語言教學(xué)的效果,筆者認為應(yīng)該從以下幾個方面入手。
(1) 清理認識上的誤區(qū)。在上第一堂課時,用一個課
時來講匯編語言的特點及其應(yīng)用場合、它和高級語言區(qū)別、其難點在哪里、本課程該如何展開等內(nèi)容,從而打消學(xué)生畏難和輕視的思想。
(2) 要充分利用好計算機輔助教學(xué)(CAI)的優(yōu)勢,要讓課件“動”起來。目前普通本科計算機專業(yè)的教學(xué)大都采用了CAI教學(xué),但大都是播放課件(如PPT),實質(zhì)上是用鼠標代替了粉筆、屏幕代替了黑板。而且由于播放的速度遠快于板書,學(xué)生反映根本來不及仔細理解有關(guān)內(nèi)容,效果反而不如板書。多媒體教學(xué)提供了視覺、聲音的特殊效果,在對重點、難點問題的講授中要充分利用多媒體教學(xué)的優(yōu)勢。如講授指令A(yù)DD AX,[2000H],如果是靜態(tài)的課件,就是一句“這是一條加法指令,把累加器的內(nèi)容和邏輯地址為2000H存儲單元的內(nèi)容相加,運算結(jié)果送回累加器”。而動態(tài)的課件會先畫出一個模型計算機,然后演示該指令解釋的全過程:從CPU內(nèi)存中取出指令、譯碼、數(shù)據(jù)尋址(從寄存器和內(nèi)存中取得操作數(shù))、啟動ALU運算、保存結(jié)果到累加器和影響狀態(tài)標志寄器。每一步都要圖示化出數(shù)據(jù)的變化和走向以及相應(yīng)的控制時序。在聲音和顯示控制的程序設(shè)計教學(xué)中,更應(yīng)展示多媒體教學(xué)的風(fēng)采。多媒體教學(xué)豐富的動感效果能極大地增加學(xué)生對指令的感性認識,增強他們學(xué)習(xí)的興趣。當(dāng)然,制作這樣的課件耗時耗力,學(xué)校應(yīng)該切實加大對CAI教學(xué)的支持力度。
(3) 在匯編語言的教學(xué)中要加強和高級語言的比較教學(xué)。在學(xué)習(xí)匯編語言時,學(xué)生一般都具有了C語言程序設(shè)計的知識。在匯編語言程序設(shè)計的教學(xué)過程中,應(yīng)該比較這兩種語言的編程特點、程序代碼空間、運行速度等,以加深學(xué)生對這兩種語言的理解。如在講授基址變址尋址方式中,可以用C語言和匯編語言分別實現(xiàn)對數(shù)組運算的實例來闡述。要加強高級語言(C語言)和匯編語言的混合編程的教學(xué),充分闡述C語言結(jié)構(gòu)化設(shè)計和匯編語言對機器低層(存儲器、寄存器、中斷處理、I/O)控制的優(yōu)點。這樣即可充分調(diào)動學(xué)生的學(xué)習(xí)積極性,也可以培養(yǎng)學(xué)生解決具體應(yīng)用的能力。
(4) 加強操作系統(tǒng)相關(guān)知識的滲透和虛擬模式下的編程教學(xué)。目前操作系統(tǒng)的核心部分是用匯編語言來實現(xiàn)的,如對CPU本身的初始化(包括定時器、中斷、I/0端口等的初始化);系統(tǒng)引導(dǎo)啟動程序的完成;在處理器的控制下從實模式進入保護模式,實現(xiàn)虛擬存儲器的管理和多任務(wù)的調(diào)度。將該部分引入到教學(xué)中是有必要的,能加強學(xué)生對操作系統(tǒng)中內(nèi)核引導(dǎo)啟動與駐留、保護模式和實模式的切換、多任務(wù)的調(diào)度等知識的理解。在講授操作系統(tǒng)對程序的引導(dǎo)和進程的調(diào)用時,適當(dāng)介紹計算機病毒的機理,以提高學(xué)生的學(xué)習(xí)興趣并擴展知識面。
(5) 要切實抓好實驗教學(xué)環(huán)節(jié)。課堂主體教學(xué)和一般作業(yè)很難讓學(xué)生真正領(lǐng)會本課程涵蓋的概念、原理、方法和技巧等。經(jīng)驗表明,學(xué)習(xí)并真正掌握匯編語言程序設(shè)計的最好方式是充分實踐。實驗教學(xué)和課堂主體教學(xué)“兩手都要硬”,在課時分配上達到1:1。
4建立實驗教學(xué)平臺
傳統(tǒng)的匯編語言上機實驗一般是在DOS環(huán)境下的進行,如圖2所示。而DOS逐步被淘汰,目前流行使用Windows操作系統(tǒng)平臺,學(xué)生對DOS的使用相對陌生。盡管Windows保留了DOS的工作方式,可以切換到DOS提示符下操作,但是對建立文件夾(目錄)、進入文件夾(目錄)、刪除文件等操作,學(xué)生們常返回到Windows環(huán)境中來完成,顯然會影響上機的效率和增加編程的繁瑣,同時也不利于WIN32虛擬模式下的教學(xué)。
圖2 匯編語言程序開發(fā)的傳統(tǒng)操作過程
因此,必須建立基于Windows操作系統(tǒng)的W32匯編語言集成實驗環(huán)境,該環(huán)境是一個集編輯、編譯、連接、程序調(diào)試和幫助于一體的實驗平臺。筆者主持的課題組經(jīng)過系統(tǒng)的調(diào)研、編程和測試已開發(fā)出一個匯編語言集成編譯系統(tǒng),該系統(tǒng)已成功應(yīng)用到本課程的實驗教學(xué)中,效果較好。系統(tǒng)的運行界面如圖3所示。
其次,要精心編寫實驗指導(dǎo)書和安排實驗內(nèi)容,組織好課程設(shè)計。結(jié)合目前廣泛使用的PC機的Intel 80x86指令系統(tǒng)來開展教學(xué),通過在集成環(huán)境下匯編語言的上機實訓(xùn),加深學(xué)生對指令系統(tǒng)和匯編語言程序設(shè)計的認識和理解。實驗的內(nèi)容可以組織如下:
(1) 指令系統(tǒng)。用DEBUG調(diào)試工具來熟悉指令功能和尋址方式,掌握簡單程序的調(diào)試。通過實驗了解CPU的組成,熟悉8086/8088寄存器組、8086/8088存儲器組織、8086/8088標志位的意義。
(2) 匯編語言程序設(shè)計。包括順序程序設(shè)計、循環(huán)程序設(shè)計、分支程序設(shè)計、子程序設(shè)計和宏匯編程序設(shè)計等實驗。掌握各種程序結(jié)構(gòu)的設(shè)計方法,了解宏匯編、條件匯編和模塊化程序設(shè)計等匯編語言程序的概念,掌握宏匯編程序設(shè)計的基本方法。
(3) 輸入輸出與中斷。包括輸入輸出程序設(shè)計、中斷處理程序編寫、常用系統(tǒng)中斷(如時鐘顯示、鍵盤和顯示器、使用鼠標的程序設(shè)計)控制等實驗。
(4) Win32匯編語言程序設(shè)計。包括32位微處理器與32位指令、保護模式下的32位匯編語言程序設(shè)計等實驗。
(5) 匯編語言與C/C++的混合編程。主要包括C/C++程序與匯編語言程序的連接、嵌入?yún)R編與模塊調(diào)用等。
圖3 匯編語言集成開發(fā)環(huán)境
參考文獻
[1] 沈美明. IBM-PC匯編語言程序設(shè)計[M]. 北京:清華大學(xué)出版社,2001.
[2] KIP R. IRVINE. Assembly Language for the IBM-PC[M]. Prentic Hall INC,1993.
[3] 李學(xué)干. 計算機系統(tǒng)的體系機構(gòu)[[M]. 北京:清華大學(xué)出版社,2006.
[4] 金海溶. 用實驗方法改革匯編語言的教學(xué)[J]. 計算機教育,2006,(1):36-37.
篇12
依據(jù)測繪中、高職學(xué)生畢業(yè)就業(yè)瞄準工程現(xiàn)場工作崗位需要的實際。在工程類的工作中,特別是在類似道路工程施工現(xiàn)場,伴隨工程進程,需要反復(fù)進行放樣或校核,而且需要現(xiàn)場進行數(shù)據(jù)處理,這樣的數(shù)據(jù)處理的特點是數(shù)據(jù)量不大,數(shù)據(jù)處理模型不復(fù)雜,但實時性要求高,要求立即指導(dǎo)現(xiàn)場施工工作。由于施工現(xiàn)場灰塵多、野外供電困難等環(huán)境條件的原因,通常是不方便使用電腦的,因此,計算器,特別是程序計算器一直發(fā)揮著極其重要的作用。
1 可編程計算器的工程應(yīng)用
信息社會的到來,使得人們對計算機的依賴程度越來越強,但并不意味著計算器可以完全被取代,不同的計算工具都有各自的用戶群體。可編程計算器和計算機相比,具有價格低、體積小、攜帶方便、容易操作等優(yōu)點,和不具備編程功能的普通計算器相比,又具有可解決相對復(fù)雜的計算問題、使用和修改方便等優(yōu)點,因此在各行各業(yè)中得到了廣泛的使用,尤其在工程行業(yè)應(yīng)用最為廣泛。
早在20世紀90年代末,可編程計算器就已經(jīng)在我國工程界得到了比較廣泛的應(yīng)用。隨著社會的進步,科學(xué)的發(fā)展,可編程計算器在工程領(lǐng)域中的使用也在增加,例如:在坐標轉(zhuǎn)換中的應(yīng)用、圓曲線與緩和曲線上點的坐標計算、道路縱斷面中平測量、隧洞開挖和欠挖中的計算、隧道斷面測量、公路與鐵路路線任意變坡點連續(xù)豎曲線高程計算、橋梁施工測量中的計算、高鐵施工中的相關(guān)計算等。
隨著計算器的不斷發(fā)展,計算器的內(nèi)存容量也逐漸增大,有些已經(jīng)可以使用存儲卡存儲程序。計算器不斷地升級換代,功能更加強勁,計算器的處理能力也在不斷增加,以適應(yīng)現(xiàn)代工程技術(shù)發(fā)展的需要。
2 高職高專測繪相關(guān)專業(yè)學(xué)生計算能力培養(yǎng)
“測、繪、算”是測繪學(xué)生要掌握的基本技能,“算”是其中重要的一項,學(xué)生學(xué)會一種以上計算器的使用是很有必要的,可以提升學(xué)生的計算能力。
根據(jù)高職學(xué)生就業(yè)面對工程現(xiàn)場一線崗位的特點要求,在《高等學(xué)校高職高專測繪類專業(yè)規(guī)范》和《教學(xué)基本要求》中要求設(shè)置“計算器測繪程序設(shè)計與應(yīng)用”課程,以期待通過學(xué)習(xí),構(gòu)建學(xué)生滿足現(xiàn)場工作實時需求的數(shù)據(jù)處理能力。這樣的數(shù)據(jù)處理能力,也是構(gòu)成學(xué)生計算能力的不可缺少的組成部分。即使是當(dāng)前測繪技術(shù)和裝備已經(jīng)數(shù)字化、信息化的狀態(tài)下,測繪地理信息技術(shù)人員的現(xiàn)場工作依然需要工程計算器,特別是對可編程計算器應(yīng)用能力的需求。
但現(xiàn)在的學(xué)生對計算器認識不夠。智能手機、平板電腦等電子產(chǎn)品的不斷涌現(xiàn),價格水平也逐年下降。計算器在學(xué)生的潛意識里已變得不再重要,他們覺得,手機、平板即可代替計算器。
但就中國目前來看,計算器還不能完全被替代,計算器所具有的優(yōu)勢:如小巧、輕便,便于攜帶;電池耐久;計算程序容易編寫等,使得它在短時間內(nèi)還不會從市場上消失。這就要求我們改變學(xué)生對計算器的認識,從計算器的基本使用開始,讓學(xué)生系統(tǒng)地學(xué)習(xí)可編程計算器,培養(yǎng)學(xué)生的計算能力。
3 可編程計算器程序設(shè)計課程中存在的問題
到目前為止,高職高專開設(shè)可編程計算器程序設(shè)計課程還存在以下問題:
3.1 教材的選擇
很多學(xué)校都開設(shè)了計算器編程課程,但是一直沒有適合的教材作為參考,上課非常不方便。雖然算器編程相關(guān)書籍非常多,但作為教材還不夠系統(tǒng),難易程度也不合適。
3.2 可編程計算器機型選擇
市面上的計算器品牌很多,如CASIO(卡西歐)、得力DELI、TI(德州儀器)、SHARP(夏普)、Canon(佳能)、COMIX(齊心)等。各種品牌、型號的計算器,它們各有特點,且操作不完全相同,計算器的按鍵對于不同的品牌、不同的型號,區(qū)別也比較大。編程計算器的程序語言也不完全相同,計算器的計算功能的多少、在工程上的使用程度等都影響計算器的選擇,同時還要兼顧學(xué)生本身的經(jīng)濟條件。因此,選擇哪一種機型的計算器用在教學(xué)中是一個要解決的問題。
3.3 教學(xué)內(nèi)容的選擇
因課程開設(shè)時間的不同,對教學(xué)內(nèi)容的要求也不一樣。如果開設(shè)時間過早,相關(guān)的基礎(chǔ)課程還沒有學(xué)習(xí),學(xué)生學(xué)習(xí)起來困難較大。將課程安排在大部分專業(yè)課程之后,基本原理部分的講授就會變得相對簡單,但編程內(nèi)容要如何選擇,怎樣安排整個教學(xué)內(nèi)容才能達到比較好的效果呢?這是我們要解決的又一個問題。
4 課程建設(shè)
4.1 教學(xué)時段安排
因計算器編程課程與很多專業(yè)課程密切相關(guān),如果大部分專業(yè)課程沒有學(xué)過,在講程序設(shè)計時,勢必要把所有沒學(xué)過的數(shù)學(xué)模型及原理從頭講一遍,這樣就會與其他專業(yè)課程重復(fù)。根據(jù)多年對本課程的教學(xué)和研究,將課程安排在完成大部分專業(yè)課程之后,將會事半功倍。
此外,計算器程序設(shè)計課程同一些專業(yè)課程會同時開課,將計算器程序用于這些專業(yè)課程中的相應(yīng)計算中,這樣的學(xué)習(xí)效果會更佳。例如在開設(shè)工程測量課程時,將曲線放樣元素的計算用計算器程序來完成,計算更快,學(xué)生也更有學(xué)習(xí)興趣。
4.2 教學(xué)時間安排
4.2.1 一周安排幾節(jié),用一個學(xué)期的時間完成課程教學(xué)
這樣安排,學(xué)生有時間學(xué)習(xí)和消化講過的內(nèi)容,但時間過長,可能在下次上課的時候就將上節(jié)的內(nèi)容忘記了。
4.2.2 集中排課,一周時間完成課程教學(xué)
用一周或兩周的時間,集中學(xué)習(xí)。天天都在接觸計算器及相關(guān)編程內(nèi)容,記憶深刻。但集中學(xué)習(xí),一次接受的知識太多,學(xué)生理解起來有困難。在學(xué)過一個知識點后,學(xué)生沒有更多的時間去消化吸收。
這兩種安排各有利弊,但將其綜合起來,將課程安排半個學(xué)期的時間,教學(xué)的進度與學(xué)生的接受能力都可以得到滿足,教學(xué)效果更佳。
4.3 總學(xué)時的確定
課程的安排要滿足學(xué)生學(xué)會計算器的基本功能、基本編程功能、專業(yè)計算程序的編寫、在工程應(yīng)用中使用到的一些常用計算器程序等。由易到難,學(xué)生從計算器的基本功能開始學(xué)起,通過學(xué)習(xí)平時熟悉的數(shù)學(xué)模型,學(xué)習(xí)興趣會更濃。通過這樣的循序漸進的過程,逐漸掌握程序編寫的要點與技巧,從而學(xué)會編程。要達到這樣的教學(xué)目標,總學(xué)時安排大概30學(xué)時即可。
4.4 計算器機型的選擇
根據(jù)卡西歐(中國)貿(mào)易有限公司市場部相關(guān)人員的市場調(diào)查,及測繪相關(guān)專業(yè)已經(jīng)畢業(yè)的學(xué)生反饋的信息,在工程中使用較多的機型為CASIO fx-5800P計算器。因此,為了適應(yīng)市場及學(xué)生就業(yè)崗位的需求,課程選用CASIO fx-5800P計算器作為主要機型,有針對性地講授其編程方法,同時附帶市場上用的相對較多的其他機型作為比較。
5 教材建設(shè)
針對各高職院校計算器編程課程的困擾及課程特點,經(jīng)過全國測繪地理信息職業(yè)教育教學(xué)指導(dǎo)委員會認真研究,組織編寫了《Casio fx-5800P測繪程序設(shè)計與應(yīng)用》教材,該教材從測繪及相關(guān)專業(yè)出發(fā),內(nèi)容涵蓋計算器的基本計算操作、編程基礎(chǔ)、點位坐標計算、參考橢球與坐標轉(zhuǎn)換、高程測量計算、導(dǎo)線測量計算、曲線測設(shè)和面積計算等程序的編寫與使用,與測繪專業(yè)緊密結(jié)合,難易程度相當(dāng)。學(xué)生學(xué)習(xí)了相關(guān)測繪基礎(chǔ)知識,如測繪基礎(chǔ)、測量平差、控制測量、工程測量等學(xué)科之后,再來學(xué)習(xí)計算器程序設(shè)計,在數(shù)學(xué)模型的學(xué)習(xí)上不用花費過多的時間,重點放在程序設(shè)計與使用上,效果會更好。
在信息化比較發(fā)達的今天,除了紙質(zhì)的教材外,學(xué)生可以借助各種媒體進行學(xué)習(xí)。同時考慮到課程的學(xué)習(xí)時間不是很長,需要在短時間內(nèi)掌握編程技巧與方法,所以在教材出版的同時,還配套有課程相關(guān)的學(xué)習(xí)視頻、課件、教案等供老師和學(xué)生參考。學(xué)生除了在課堂上學(xué)習(xí)外,還可以自由安排時間進行自學(xué)。老師上課更輕松,學(xué)生也可以更好地學(xué)習(xí)。
6 結(jié)語
課程建設(shè)方案及教材內(nèi)容的設(shè)計,在由全國測繪地理信息職業(yè)教育教學(xué)指導(dǎo)委員會組織的“工程計算器與測量教學(xué)整合”課題研討會上,得到了與會專家、老師、工程師等的一致好評。同時為了使學(xué)生更愛計算器程序設(shè)計,使計算器程序設(shè)計課程達到開設(shè)的目的,卡西歐(中國)貿(mào)易有限公司聯(lián)合多所高校、企業(yè)組織了工程計算器程序設(shè)計大賽,使專業(yè)人士和學(xué)生積極參與,促進了計算器程序的發(fā)展和改進,做到以教促學(xué)、以賽促學(xué),最終達到以學(xué)促用的目的。但是,這其中也存在一定的不足之處,我們會在以后的實踐中不斷改進,以適應(yīng)發(fā)展的需要。
參考文獻
[1]周擁軍.CASIO可編程計算器在土木工程教學(xué)中的應(yīng)用實踐[J].昆明冶金高等專科學(xué)校學(xué)報.2003,19(04):51-52.
[2]王中偉.卡西歐fx-5800P可編程與道路施工放樣程序[M].廣州:華南理工大學(xué)出版社,2011.
[3]高振玲.馬俊福.利用CASlO編程計算器進行圓曲線與緩和曲線交點坐標的精確計算[J].甘肅廣播電視大學(xué)學(xué)報,2012,22(03):45-47.
作者簡介
篇13
1 引言
匯編語言程序設(shè)計是基于具體硬件的編程語言,它從程序角度幫助學(xué)生認識計算機的工作原理和特點,是銜接計算機軟件和硬件的橋梁[1,2]。匯編語言程序設(shè)計對學(xué)生后續(xù)學(xué)習(xí):“計算機組成原理”、“微機原理與接口技術(shù)”、“嵌入式系統(tǒng)”、“單片機技術(shù)”等課程有非常重要的作用[3]。因此,匯編語言程序設(shè)計并不因C++、JAVA等高級編程語言的出現(xiàn)而淘汰,依然是計算機專業(yè)的基礎(chǔ)核心課程。但一直以來,學(xué)生普遍認為匯編語言程序設(shè)計的學(xué)習(xí)較難,課程教學(xué)效果并不理想。本文針對匯編語言課程的特點,分析了在匯編語言教學(xué)中存在的一些問題,立足于培養(yǎng)高素質(zhì)的創(chuàng)新型人才,將學(xué)習(xí)共同體引入?yún)R編語言程序設(shè)計課程教學(xué),構(gòu)建基于共同體的學(xué)習(xí)環(huán)境、研究基于學(xué)習(xí)共同體的匯編語言程序設(shè)計課程的教學(xué)目標、教學(xué)方法、教學(xué)評價標準,提出了基于學(xué)習(xí)共同體的匯編語言程序設(shè)計教學(xué)模式,以提高匯編語言程序設(shè)計的教學(xué)效果。
2 匯編語言程序設(shè)計教學(xué)中存在的問題
根據(jù)以往的教學(xué)經(jīng)驗,并結(jié)合我校的實際情況,分析匯編語言程序設(shè)計教學(xué)中存在的問題主要有如下幾個方面:
(1)匯編語言程序設(shè)計課程的語法比較嚴謹枯燥,程序的編寫和調(diào)試比較繁瑣,而且與計算機硬件具有高度相關(guān)性,因此學(xué)生入門較難[4,5]。匯編語言程序設(shè)計課程教學(xué)內(nèi)容多,課堂教學(xué)時間少,現(xiàn)如今教師多采用多媒體教學(xué)方式,進度快,知識容量大,學(xué)生缺少思考和吸收的時間。
(2)程序設(shè)計是一種能力和技巧,匯編語言程序設(shè)計也不例外,因此需要理論和實踐緊密結(jié)合。而本課程一般開設(shè)在大學(xué)低年級,此時基礎(chǔ)課程任務(wù)比較重,學(xué)生分配到每門具體課程的時間和精力是非常有限的,因此學(xué)生很難有充分的時間,在理解理論知識的基礎(chǔ)上,經(jīng)過大量的實踐來鍛煉自己獨立思考、分析問題、設(shè)計算法、編寫程序、解決問題的能力。
(3)目前的高等教育進入大眾化階段,學(xué)生人數(shù)眾多,匯編語言程序設(shè)計課程往往采用大班教學(xué),教師很難有效控制教學(xué)過程,實現(xiàn)對學(xué)生的一對一指導(dǎo),導(dǎo)致課堂上師生互動越來越少,學(xué)生被動學(xué)習(xí),理論知識消化困難,實驗課編不出程序,越學(xué)越難,學(xué)生的自信心受到嚴重挫折,學(xué)習(xí)興趣自然消失殆盡。
因此如何有效利用有限的課堂教學(xué)時間,提高學(xué)生快速吸收和運用知識的能力,激發(fā)學(xué)生學(xué)習(xí)興趣,是?R編語言程序設(shè)計課程亟待解決的關(guān)鍵問題。
3 基于學(xué)習(xí)共同體的匯編語言程序設(shè)計教學(xué)模式
“興趣是最好的老師”,興趣對學(xué)生的學(xué)習(xí)有著神奇的驅(qū)動作用。如果學(xué)生對所學(xué)內(nèi)容有足夠的興趣,就會產(chǎn)生強烈的探索欲望和飽滿的情緒,自發(fā)調(diào)動全部感官,積極、主動地參與到教學(xué)中去。因此在整個教學(xué)過程中必須以培養(yǎng)學(xué)生學(xué)習(xí)興趣為中心,變被動學(xué)習(xí)為主動學(xué)習(xí)。研究表明人的知識來源于教師講授的不到20%,而通過同他人的對話、溝通、協(xié)作獲取的超過80%,因此團隊協(xié)作型學(xué)習(xí)環(huán)境可以促進知識的吸收和獲取。“學(xué)習(xí)共同體”(learning community)是指將學(xué)習(xí)者組織成學(xué)習(xí)團隊,團隊內(nèi)成員擁有共同的目標,相互協(xié)作,通過互相交流和溝通共同學(xué)習(xí),共同完成學(xué)習(xí)任務(wù)[6-8]。學(xué)習(xí)共同體將傳統(tǒng)的獨立學(xué)習(xí)模式改為團隊學(xué)習(xí)模式,鼓勵團隊成員之間的交流和相互啟發(fā),能夠有效調(diào)動學(xué)習(xí)者的學(xué)習(xí)興趣,激發(fā)學(xué)習(xí)者的學(xué)習(xí)主動性和積極性,變被動學(xué)習(xí)為主動學(xué)習(xí),團隊成員之間共同學(xué)習(xí)、相互促進、共同提高。
本文將學(xué)習(xí)共同體引入?yún)R編語言程序設(shè)計課程教學(xué),構(gòu)建基于共同體的學(xué)習(xí)環(huán)境、研究基于學(xué)習(xí)共同體的匯編語言程序設(shè)計課程的教學(xué)目標、教學(xué)方法、教學(xué)評價標準,以培養(yǎng)高素質(zhì)的創(chuàng)新型人才。研究成果具有較強的推廣性和普適性,可望給本校及其他同類高校產(chǎn)生良好的指導(dǎo)與輻射作用。具體研究內(nèi)容包括以下幾個方面:
(1)構(gòu)建共同體學(xué)習(xí)環(huán)境。
在學(xué)習(xí)共同體的教學(xué)模式中,首先應(yīng)該注意學(xué)生之間的個人差異,根據(jù)個性差異和學(xué)習(xí)能力建立學(xué)習(xí)共同體,將以往的學(xué)生獨立學(xué)習(xí)改為團隊協(xié)作學(xué)習(xí),鼓勵小組成員之間的交流和相互啟發(fā)。需要注意的是,在建立學(xué)習(xí)共同體時,小組人數(shù)和分組方式應(yīng)根據(jù)實際情況確定,因地制宜,不強調(diào)統(tǒng)一標準。其次在基于學(xué)習(xí)共同體的教學(xué)模式中,課堂教學(xué)以師生討論和交互的方式探索新知識,解決新問題,因此要求學(xué)生的課程?⒂攵冉細摺N?此,教師要幫助學(xué)生實現(xiàn)自我管理,提高學(xué)生自主學(xué)習(xí)效率,督促學(xué)生事先將教學(xué)基本內(nèi)容通過自主學(xué)習(xí)的方式在課外完成。
(2)設(shè)定課程教學(xué)目標。
在基于學(xué)習(xí)共同體的教學(xué)模式下,課程教學(xué)的首要目標就是培養(yǎng)學(xué)生的學(xué)習(xí)興趣,激發(fā)學(xué)生的學(xué)習(xí)主動性和積極性,使學(xué)生變被動為主動,共同學(xué)習(xí)、相互促進、共同提高。目前的高等教育,學(xué)生越來越多樣化,在教學(xué)過程中,要尊重學(xué)生不同的學(xué)習(xí)方式、不同的價值取向和不同的學(xué)習(xí)結(jié)果。教師應(yīng)根據(jù)學(xué)生的個性差異和學(xué)習(xí)能力分層次地制定學(xué)習(xí)目標,注重學(xué)生綜合能力的培養(yǎng)。
(3)改革課程教學(xué)方法。
傳統(tǒng)的教學(xué)模式中,課堂教學(xué)以教師講授為主。基于學(xué)習(xí)共同體的教學(xué)模式,課堂教學(xué)以師生討論和交互的方式為主,要求學(xué)生的課程參與度較高。整個教學(xué)過程中必須以培養(yǎng)學(xué)生學(xué)習(xí)興趣為中心,課堂教學(xué)形式應(yīng)該多樣化。學(xué)習(xí)任務(wù)要具有循序漸進性和挑戰(zhàn)性,注重知識的運用和能力的培養(yǎng),因此在基于學(xué)習(xí)共同體的教學(xué)模式中,應(yīng)當(dāng)合理安排教學(xué)內(nèi)容。此外,還需要根據(jù)教學(xué)內(nèi)容不同階段的特點設(shè)計不同的教學(xué)方式,以便組織課堂上的討論與協(xié)作順利展開,例如在教學(xué)的初期,教師要多引導(dǎo)啟發(fā),在教學(xué)的后期可以采用學(xué)生分組匯報或者小組討論等方式。
(4)制定合理教學(xué)評價標準。