前言:一篇好文章的誕生,需要你不斷地搜集資料、整理思路,本站小編為你收集了豐富的匯編語言程序設(shè)計主題范文,僅供參考,歡迎閱讀并收藏。
關(guān)鍵詞:匯編語言;實驗教學(xué);實驗安排;實驗教改
中圖分類號:TP313-4
匯編語言作為面向機器的軟件,在計算機應(yīng)用中擁有重要的地位,主要應(yīng)用在對實時性要求高、對硬件設(shè)備進行控制的場合:比如在過程控制、媒體接口、通信等用高級語言難以實現(xiàn)操作的場合,必須使用匯編語言。雖然目前系統(tǒng)軟件的開發(fā)已有不少采用高級語言,但給出的目標(biāo)程序往往還是采用匯編語言的形式,并且還有不少系統(tǒng)軟件要求必須使用匯編語言編寫。因此,對于計算機的開發(fā)、應(yīng)用技術(shù)人員,必須熟練掌握匯編語言才能分析、修改和擴充計算機系統(tǒng)軟件、增加計算機功能。
1 實驗教學(xué)環(huán)節(jié)在匯編語言教學(xué)中的地位和作用
計算機學(xué)科在許多方面與其他學(xué)科不同,特別是與硬件密切相關(guān)的課程。由于匯編語言課程是與硬件的操作密切相關(guān),實驗環(huán)節(jié)在教學(xué)活動中占據(jù)了重要地位,對提高學(xué)生的閱讀、編輯和調(diào)試功能中起著不可替代的作用。在正常情況下,計算機高校會指出要加強上機實踐環(huán)節(jié),學(xué)生通過實驗課的理解工作有CPU,內(nèi)存,接口和外部設(shè)備,在計算機的表達(dá)和傳輸數(shù)據(jù)產(chǎn)生的看法。在匯編語言的實驗,以達(dá)到更好的理解和掌握,從感性認(rèn)識到理性認(rèn)識。因此,在匯編語言程序設(shè)計教學(xué)中應(yīng)注意的不僅是實驗和理論教學(xué)應(yīng)認(rèn)真貫徹落實是基于實驗的原理。實踐能力的重要組成部分,思維能力,創(chuàng)新能力,很顯然學(xué)生在這個過程中出現(xiàn)的困難,第一他們需要從缺乏必要的感性認(rèn)識,沒有足夠的實驗時間。
2 匯編語言實驗教學(xué)的現(xiàn)狀分析
首先,匯編語言屬于低級語言,對于初學(xué)者而言,學(xué)習(xí)高級語言等于電腦在遷就人的思維方式,而學(xué)習(xí)匯編語言則需要人去遷就電腦的思維方式,要設(shè)身處地地用電腦的角度去思考問題,這就是學(xué)生學(xué)習(xí)匯編語言時遇到的最大障礙。
其次,匯編語言程序設(shè)計課程在教學(xué)方法上基本還是采用傳統(tǒng)的授予式的教學(xué)方法,和所有的程序設(shè)計語言一樣,要學(xué)好匯編語言,實驗是必不可少的環(huán)節(jié)。很多學(xué)生都有這樣的體會,書上的程序都能看懂,基本原理也都明白,但是在真正要親自動手去編寫程序的時候卻無從下手,甚至連第一句怎么寫都不知道。這就要求教師在講解理論知識的同時注意讓學(xué)生及時上機練習(xí)。因此,在教學(xué)方法和教學(xué)手段上應(yīng)該有所創(chuàng)新和突破。
再次,教師受傳統(tǒng)教育的影響,普遍存在重理論輕實驗的思想,一方面,教學(xué)方法普遍采用的仍然是講授法。另一方面,隨著科技的飛速發(fā)展,現(xiàn)在課堂教學(xué)大部分使用多媒體教室,這就使得部分教師授課時過分依賴多媒體演示,很多內(nèi)容都是通過多媒體演示僅讓學(xué)生看看了事,并不重視讓學(xué)生進行實際操作。
最后,因為匯編語言本身具有難學(xué)、難理解、難調(diào)試、難維護、可移植性差這些缺點,隨著計算機運行速度的提高和內(nèi)存容量的增加,人們對時空效率的要求已不再那么迫切,匯編語言的優(yōu)勢已不再那么突出,學(xué)生學(xué)習(xí)匯編語言固然存在著不少困難,但匯編語言在某些方面仍然有著高級語言無法比擬的優(yōu)勢。所謂“興趣是好的老師”,作為教師要注意激發(fā)學(xué)生的學(xué)習(xí)興趣,并在開學(xué)初就明確告訴學(xué)生這種考核制度的存在,使之開始就消除怠慢的情緒,從根本思想上重視實驗。
3 實驗教學(xué)內(nèi)容的設(shè)計新思路
“匯編語言”是實踐性很強的課程,而且有些內(nèi)容只有通過學(xué)生上機調(diào)試過,才會有更深的體會。所以實驗教學(xué)安排應(yīng)按照由淺入深,循序漸進的方式進行,合理選擇實驗內(nèi)容,盡量避免過多過雜。有些實驗內(nèi)容可以安排在講課之前,即“實踐先行”或“項目驅(qū)動”讓學(xué)生先實際操作然后帶著問題來學(xué)習(xí),這樣會大大增加學(xué)生的學(xué)習(xí)興趣。在內(nèi)容選擇時應(yīng)注意舉一反三,即以啟發(fā)思維為主,對設(shè)計型、綜合型實驗只要求能夠完成預(yù)定實驗?zāi)繕?biāo)即可,不苛求實驗過程與步驟的統(tǒng)一。在實驗課上,可以將教師演示和學(xué)生實踐穿行,并且注意重復(fù)對比,讓學(xué)生及時發(fā)現(xiàn)自己操作上的失誤,加深對匯編語言編程操作規(guī)范的理解。另外,在實驗中教師不需要處處包辦,要學(xué)會適時放手,鼓勵學(xué)生自己動手修改程序,有時學(xué)生對自己編的程序沒有把握,一旦經(jīng)上機實驗親手調(diào)試后就會很清楚了。學(xué)生在計算機上修改程序,觀察修改后的結(jié)果,實際上就是了解改動部分在整個程序中所起到的作用,這種作用的認(rèn)識和理解不是通過說教得來的,而是切身經(jīng)歷的、看到的,學(xué)生對于它的理解、記憶就要深刻的多。
3.1 改革實驗方法。摒棄傳統(tǒng)的DOS環(huán)境,采用匯編語言集成環(huán)境AsmEdit。該環(huán)境具有如下特點:(1)以Windows為平臺;(2)有一個功能與Windows的記事本相同的編輯環(huán)境,可方便地編輯匯編語言源程序;(3)在設(shè)置匯編、連接、調(diào)試等可執(zhí)行文件的位置后,可以在集成環(huán)境中通過菜單或者快捷按鈕來進行匯編、連接、調(diào)試等工作,而不需要分別執(zhí)行相應(yīng)的命令。還可以顯示如果在DOS下操作時這一步操作所需要敲入的命令行;(4)只要按幾下鼠標(biāo)就可以快速插入一些內(nèi)容:預(yù)先設(shè)定的一些文件格式,DOS下的EXE文件,COM文件等;匯編語言指令及其使用格式;偽指令以及預(yù)先設(shè)定的一些程序片段,如過程定義等等。
3.2 利用Debug調(diào)試工具,加強實踐環(huán)節(jié)。匯編語言和高級語言一個很大的不同之處在于用匯編語言編寫的源程序在上機調(diào)試時大部分的程序不能直接看到運行結(jié)果,所以需要充分領(lǐng)用好Debug這個調(diào)試工具,能夠熟練利用這個工具,可以幫助學(xué)生理解指令和程序,有效提高學(xué)生的編程能力和上機調(diào)試能力。
為了充分發(fā)揮Debug的作用,需要把Debug的使用方法貫穿到整個課堂教學(xué)和實驗教學(xué)的始終,比如,在講授CPU內(nèi)部的寄存器結(jié)構(gòu)時候,可以教學(xué)生用Debug查看各寄存器的狀態(tài)等。在程序設(shè)計部分,Debug發(fā)揮更大的作用:大部分程序的運行都需要借助Debug來查看運行的結(jié)果,當(dāng)程序運行錯誤時,還需要借助Debug來進行調(diào)試,利用Debug來隨時查看寄存器和內(nèi)存單元的內(nèi)容,找出錯誤所在,從而不斷修改直到程序運行通過。
4 實驗內(nèi)容的具體安排
具體的實驗內(nèi)容應(yīng)覆蓋匯編語言程序設(shè)計課程教學(xué)中的各個要點,主要包括DEBUG、匯編語言編程環(huán)境、匯編語言程序設(shè)計。實驗類型分為選作和必做。每個實驗分屬驗證型、設(shè)計型或綜合型?;谝陨纤伎?,筆者在實驗內(nèi)容的選擇、實驗步驟的設(shè)計和實驗文檔的組織等諸方面都做了精心的考慮和安排,嘗試為“匯編語言程序設(shè)計”課程編寫了《匯編語言程序設(shè)計實驗指導(dǎo)書》。下面列舉其中幾個具有代表性的實驗:
實驗一 匯編語言實驗平臺及調(diào)試工具的應(yīng)用
5 結(jié)束語
參考文獻:
[1]趙樹聲,楊建軍.DOS/Windows匯編語言程序設(shè)計教程[M].北京:清華大學(xué)出版社,2005.6.
[2]沈美明,溫冬嬋.IBM-PC匯編語言程序設(shè)計[M].北京:清華大學(xué)出版社,2001,7.
[3]劉均,周蘇,金海溶等.匯編語言程序設(shè)計實驗教程[M].北京:科學(xué)出版社,2006.
[4]錢曉捷.32位匯編語言教學(xué)技巧[J].計算機教育,2012(02):88-91.
[5]陳逸菲,趙麗玲,張穎超等.匯編語言的對比教學(xué)法[J].計算機教育,2011 (24):45-48.
[6]熊小兵.“匯編語言程序設(shè)計”的比較教學(xué)法[J].計算機教育,2010(03):151-153.
【關(guān)鍵詞】FORTH 匯編語言 中斷程序
1 引言
匯編語言是人和計算機溝通的最直接的方式,它描述了機器最終所要執(zhí)行的指令序列,所以匯編語言一直是計算機學(xué)科必學(xué)的一門基礎(chǔ)課程。通過這門課的學(xué)習(xí)既能獲得底層編程的體驗,又能深刻理解機器運行程序的機理。FORTH是一種與眾不同的計算機程序設(shè)計語言,采用自底向上的構(gòu)造方式,用匯編語言編寫核心單詞,實現(xiàn)內(nèi)部數(shù)據(jù)結(jié)構(gòu)和解釋/編譯機制,構(gòu)造最小的系統(tǒng),然后將該系統(tǒng)運行在宿主機上,進而編譯的其它高層單詞,形成一個完整的系統(tǒng)。
本文是在研究了FORTH的自生成技術(shù)的基礎(chǔ)上,自定義了一套匯編語言語法,并且構(gòu)造出將自定義匯編語言轉(zhuǎn)換為CPU機器碼的編譯器,講解了自定義匯編語言的基本使用方法,最后以中斷程序為例,介紹了自定義FORTH匯編程序的實現(xiàn)方式。
2 FORTH匯編語言和編譯器的實現(xiàn)方法
基本的FORTH平臺內(nèi)不含產(chǎn)生機器碼的匯編語言編譯器,只是將一個用FORTH語言寫的匯編語言編譯器的源代碼作為附件。一般我們可以使用這個編譯器,但也可以自己按照自己的習(xí)慣構(gòu)造自己的語法和編譯器。
實現(xiàn)編譯器,首先要制訂語言規(guī)范。由于FORTH匯編語言并沒有權(quán)威的規(guī)范,甚至有些要開發(fā)的目標(biāo)芯片就還沒有匯編語言標(biāo)準(zhǔn)可以借鑒,因此程序開發(fā)者完全可以編寫自己的編譯器和創(chuàng)造自己的規(guī)范。FORTH匯編語言的語法規(guī)范是模仿常用的匯編語言,只是將表達(dá)式寫成“逆波蘭”形式,即將操作符寫在操作數(shù)后面。以8086匯編為例,將AX減去BX的內(nèi)容,結(jié)果在AX中,標(biāo)準(zhǔn)的匯編語言為:SUB AX, BX ,在FORTH匯編語言規(guī)范中可以模仿標(biāo)準(zhǔn)的匯編語言規(guī)定為:AX, BX SUB,也可以采用這種寫法:BX AX SUB,,不僅逗號移到了操作數(shù)那里,而且目的操作數(shù)也移到了右面。雖然FORTH匯編語言規(guī)范存在這種任意性,但如果存在標(biāo)準(zhǔn)的匯編語言,除了將操作符寫在右面,還是盡量保持標(biāo)準(zhǔn)的風(fēng)格,這樣容易和別人交流。
實現(xiàn)FORTH匯編編譯器,主要利用FORTH字“C,”、“,”和“Here”,它們分別是向程序區(qū)依次放一個字節(jié)的二進制指令、兩個字節(jié)的二進制指令和給出存放下一個指令的地址。
以8086為例,無操作數(shù)的中斷返回指令I(lǐng)RET,可以這樣實現(xiàn):
語法: IRET
實現(xiàn): : IRET CF C, ; //將IRET的機器碼CF一個字節(jié)放到當(dāng)前的指令流中
單操作數(shù)的跳轉(zhuǎn)指令JMP,可以這樣實現(xiàn):
語法: LLLL JMP //LLLL定義了轉(zhuǎn)跳的地址
實現(xiàn): : JMP E8 C, ,;
同樣上面實現(xiàn)的FORTH含義是將JPM的機器碼E8一個字節(jié)放到當(dāng)前的指令流中,然后再把已經(jīng)在堆棧中的要跳轉(zhuǎn)的地址作為16位偏移放到機器碼E8之后,形成完整的跳轉(zhuǎn)指令。
通常每個FORTH軟件平臺都有這個平臺的匯編語言規(guī)范和編譯器,但是如果要生成異構(gòu)的FORTH系統(tǒng),重新制定新CPU的匯編語言規(guī)范和編譯器就是必須要完成的任務(wù)。
2.1目標(biāo)代碼的存取
由于一般FORTH目標(biāo)系統(tǒng)的核心規(guī)模較小,16位的系統(tǒng)不超過64KB,32位的系統(tǒng)也用不完內(nèi)存空間,因此可以直接在宿主機FORTH系統(tǒng)管理的內(nèi)存中劃出一塊高內(nèi)存區(qū)域用于目標(biāo)代碼的存取。假如P!和P@是原內(nèi)存的寫入和讀取字,目標(biāo)代碼區(qū)域的起點是C000,則目標(biāo)代碼的存取字可以簡單的定義為下面的算法:
C000 CONSTANT Origin
// 定義常數(shù) Origin,它的值是目標(biāo)代碼區(qū)域的起點
: ! Origin + P! ; : @ Origin + P@ ; // 定義目標(biāo)區(qū)的數(shù)據(jù)存取字
同樣也可以產(chǎn)生按字節(jié)的存取字C!和C@。
2.2 機器碼寫入
匯編語言所產(chǎn)生目標(biāo)機的機器碼是順序存放的,其中跳轉(zhuǎn)指令是代碼的當(dāng)前位置參考計算的,因此可以設(shè)置一個當(dāng)前代碼地址指針CP實現(xiàn):
Variable CP : Here CP @ ; // Here字給出下一個機器碼存放的地址
: C, Here C! CP @ 1+ CP ! ; // 放一個字節(jié)的機器碼到目標(biāo)區(qū)
: , Here ! CP @ 2+ CP ! ; // 放一個16位字的機器碼到目標(biāo)區(qū)
有了這些FORTH字,可以不用助記符和匯編,直接把二進制代碼一個字節(jié)一個字節(jié)地生成目標(biāo)碼。
2.3 向前跳轉(zhuǎn)地址
關(guān)鍵詞:匯編語言;教學(xué)改革;多媒體教學(xué)方法;案例教學(xué)方法
中圖分類號:G434 文獻標(biāo)識碼:A 文章編號:1672-7800(2012)005-0214-02
0 引言
匯編語言程序設(shè)計是計算機專業(yè)及相關(guān)專業(yè)重要的專業(yè)必修課。匯編語言面向計算機硬件,與計算機機器指令一一對應(yīng),功能強大,使用靈活。目標(biāo)程序效率高,長期以來一直適用于系統(tǒng)軟件及驅(qū)動程序的編寫。匯編語言程序設(shè)計課程不僅需要培養(yǎng)學(xué)生的程序設(shè)計技能,而且還要培養(yǎng)學(xué)生對計算機硬件運行機制的理解能力,為學(xué)習(xí)后續(xù)與硬件密切相關(guān)的課程(如計算機組成原理,微機原理與接口,單片機等)打下扎實的基礎(chǔ)知識,同時,它也是NCRE三級的一個可選科目,因此其對計算機專業(yè)及相關(guān)專業(yè)的重要性不言而喻。
該門課程的特點是軟件知識與硬件知識相互融合,理論與實踐并重,同時對英語水平的要求也比一般計算機高級語言高,而獨立學(xué)院是一種新型高等教育辦學(xué)形式,其高考招生錄取分?jǐn)?shù)線主要介于普通本科和高等??浦g。獨立學(xué)院學(xué)生在基礎(chǔ)知識、自身素質(zhì)、自制力、認(rèn)知能力等方面與一本和二本的學(xué)生存在一定的差異。所以在匯編語言程序設(shè)計課程教學(xué)中,許多學(xué)生都反映課程內(nèi)容抽象,難理解、難掌握,從而產(chǎn)生了不同程度的畏難心理,對教學(xué)效果產(chǎn)生消極影響。為了能較好地提高該課程的教學(xué)質(zhì)量,本文從該門課程和學(xué)生特點入手,通過長期的教學(xué)實踐,總結(jié)了一些思路和建議,并將其運用到實際教學(xué)中,有效地提高了學(xué)生的學(xué)習(xí)積極性,取得了較好的教學(xué)效果。
1 獨立學(xué)院匯編語言程序設(shè)計課程教學(xué)中存在的問題
1.1 從課程內(nèi)容來說,客觀上確實比較抽象
學(xué)習(xí)匯編語言程序設(shè)計的學(xué)生,通常只學(xué)習(xí)過計算機導(dǎo)論和一門高級計算機語言,對于計算機硬件運行的機制很陌生,無法將馮•諾依曼工作原理與80x86計算機組織相互聯(lián)系,導(dǎo)致一開始學(xué)習(xí)面向硬件編程的匯編語言,就有很強烈的挫折感,喪失了學(xué)習(xí)的自信和興趣。由于學(xué)生80x86計算機組織的知識沒有很好掌握,使得其指令系統(tǒng)和尋址方式的學(xué)習(xí)根本難以有效進行,其后果是這門課程難以學(xué)下去。
1.2 學(xué)生未養(yǎng)成良好的學(xué)習(xí)習(xí)慣,沒有掌握正確的學(xué)習(xí)方法
匯編語言程序設(shè)計課程一般開設(shè)在大一第二學(xué)期,許多學(xué)生還沒有完全適應(yīng)大學(xué)的學(xué)習(xí)方式,遇到困難容易退縮,不能發(fā)揮學(xué)習(xí)的潛能,且對自己學(xué)習(xí)時間安排不夠科學(xué)充分,達(dá)不到消化吸收課堂和課本知識的效果。部分學(xué)生還有“等靠要”的依賴思想,等教師來總結(jié),靠教師來消化,要教師來灌輸,沒有發(fā)揮學(xué)習(xí)主體應(yīng)用的主觀能動性。
1.3 教學(xué)過程沒有以學(xué)生為中心
傳統(tǒng)教學(xué)方式以教師和教材為中心,課堂上教師與學(xué)生溝通較少,這樣顯然教學(xué)進度有了保證,但學(xué)生是否能跟上教學(xué)的進度卻成了未知數(shù)。不充分的溝通還導(dǎo)致了教師對學(xué)生的學(xué)習(xí)指導(dǎo)缺乏針對性。教師不了解學(xué)生學(xué)習(xí)困難的具體細(xì)節(jié),不可能正確引導(dǎo)學(xué)生克服困難,也無法加強教師與學(xué)生的相互聯(lián)系。
1.4 學(xué)生理論與實踐脫節(jié)
在匯編語言程序設(shè)計教學(xué)過程中,理論與實踐是并重的關(guān)系,偏袒任何一方都不可能有好的教學(xué)效果。偏向理論,實踐不到位,應(yīng)用能力低下;偏向?qū)嵺`,學(xué)習(xí)到的知識無法系統(tǒng)化、條理化,不利于知識水平的提高和升華,導(dǎo)致知識水平有一定的局限性。在該門課程教學(xué)實踐過程中,這兩種情況的學(xué)生都有,急需教師給予科學(xué)引導(dǎo)。
2 獨立學(xué)院匯編語言程序設(shè)計課程教學(xué)改革
為了解決好上述教學(xué)問題,筆者針對獨立學(xué)院的辦學(xué)特點和學(xué)生特點,總結(jié)了一些有益的思路和想法,具體思路如下:
2.1 課程開始時,要和學(xué)生就如何學(xué)習(xí)好匯編語言程序設(shè)計這門課程作充分的溝通
課程一開始,就需要將這課程的特點、難點,及其所需要的合理學(xué)習(xí)時間和正確的方法告訴學(xué)生,幫助學(xué)生科學(xué)合理安排好自己的學(xué)習(xí)時間,使學(xué)習(xí)達(dá)到應(yīng)有的效果,同時也有利于學(xué)生做好積極戰(zhàn)勝學(xué)習(xí)困難的心理準(zhǔn)備。通過筆者自身的學(xué)習(xí)經(jīng)歷和與眾多學(xué)習(xí)效果比較好的同學(xué)溝通,一致認(rèn)為匯編語言程序設(shè)計在學(xué)習(xí)的開始階段,上課時間與自己理解消化的時間的比例以1∶6為佳。
2.2 使用多媒體教學(xué)方法,變抽象為具體
主要是通過制作多媒體課件,使用文字、圖形/圖像、動畫等素材,向?qū)W生動態(tài)展現(xiàn)學(xué)習(xí)內(nèi)容里比較難想象和難理解的部分,幫助學(xué)生深刻理解80x86計算機組織和運行機制以及計算機工作原理的動態(tài)過程,從而為學(xué)生學(xué)習(xí)指令系統(tǒng)和尋址方式清除障礙,打下堅實的知識基礎(chǔ),并為今后的硬件知識學(xué)習(xí)建立一個初步的知識框架。同時,幫助學(xué)生克服學(xué)習(xí)上的困難和挫折感,保持學(xué)習(xí)的自信和興趣。
2.3 引入“案例”式教學(xué)方法,加強理論聯(lián)系實際,理論指導(dǎo)實際工作
“案例”式教學(xué)方法的引入,可以使學(xué)生將學(xué)習(xí)的理論進行實踐,學(xué)生在學(xué)習(xí)理論的過程中始終在思考如何完成對應(yīng)的案例,較好地激發(fā)了學(xué)生的學(xué)習(xí)熱情和學(xué)習(xí)興趣,同時也兼顧了學(xué)習(xí)的連貫性和整體性。如讓學(xué)生完成一個“從鍵盤輸入2個十連制數(shù),然后比較它們的大小,最后在屏幕上輸出比較結(jié)果”的案例,可以讓學(xué)生完成對輸出/入、字符比較等理論知識的實踐,又可以使學(xué)生提高如何將有關(guān)的理論知識聯(lián)系在一起,解決實際問題的能力。
在每次實踐前,都要求學(xué)生做好實踐計劃,將有關(guān)理論知識進行復(fù)習(xí)。實踐完畢,都要求學(xué)生對結(jié)果進行原因分析,成功的,總結(jié)經(jīng)驗;失敗的,吸取教訓(xùn)。從而提高學(xué)生的理論水平,防止理論與實際脫節(jié)。
2.4 教學(xué)以學(xué)生為中心,課堂教學(xué)提倡精講多練
根據(jù)學(xué)生特點,對教材內(nèi)容進行漏選,對涉及知識總體框架的重要知識點及其相互關(guān)系詳講,而對于偏、難的內(nèi)容,則略講或不講。同時,在課堂教學(xué)中實時地,有針對性地進行課堂練習(xí),學(xué)生通過練習(xí)產(chǎn)生的問題,可以得到及時的反饋,教師也可以及時準(zhǔn)確地知道學(xué)生的不足,以便針對這些不足進行教學(xué)進度計劃的調(diào)整、加強和補充。這一方式不但提高了學(xué)生的學(xué)習(xí)興趣,鞏固了所學(xué)知識,也加強了教師和學(xué)生之間的互動和溝通,有利于建立學(xué)生對該門課程的學(xué)習(xí)自信心。
3 結(jié)束語
本文總結(jié)了獨立學(xué)院在匯編語言程序設(shè)計教學(xué)過程中存在的一些問題,并針對性的提出了一些思路和建議,并將其運用于實際的教學(xué)實踐中。實踐表明這些解決問題的教學(xué)思路方法具有一定的實際意義,取得了較好的教學(xué)效果,有利于培養(yǎng)高素質(zhì)的應(yīng)用型人才。
參考文獻:
[1] 玉婷.獨立學(xué)院Visual FoxPro 課程教學(xué)與考試改革初探[J].中國教育信息化,2012(2).
[2] 于麗波.三本院校學(xué)生特點分析[J].科技信息,2011(8).
1.沒有明確的教學(xué)目的,對課程重要性認(rèn)識不足《匯編語言程序設(shè)計》課程教學(xué)是高校計算機、通信、電子以及自動化等相關(guān)專業(yè)課程中的基礎(chǔ)課程,對學(xué)生在學(xué)習(xí)過程中的創(chuàng)新能力以及實踐能力的提高有一定的促進作用。在對《匯編語言程序設(shè)計》課程的學(xué)習(xí)過程中,大多時候得不到學(xué)生以及教師重視,對其學(xué)習(xí)的重要性認(rèn)識不足。而且,大多數(shù)老師在對這門課程進行教學(xué)的過程中,受到相應(yīng)教學(xué)的課時以及大綱限制,在課堂教學(xué)過程中過于偏重對具體指令的相關(guān)應(yīng)用以及功能的講解,從而缺少了對各個課程之間的特點串聯(lián)。這樣的問題導(dǎo)致教師在教學(xué)過程中,對學(xué)生的學(xué)習(xí)興趣不能充分的調(diào)動,從而導(dǎo)致學(xué)生對正確的學(xué)習(xí)方法不能很好的掌握。2.教學(xué)方法偏差,教學(xué)手段存在缺陷在對《匯編語言程序設(shè)計》課程進行教學(xué)的過程中,其在相應(yīng)的教學(xué)方法上存在一定程度的偏差,從而導(dǎo)致一些編程中非法指令經(jīng)常性出現(xiàn)。而且,教師在對這門課程進行教學(xué)的過程中,教學(xué)手段太過單一,在教學(xué)過程中主要就通過多媒體對課堂內(nèi)容進行講解。在教學(xué)過程中對多媒體的運用雖然存在直觀生動以及信息量大等相關(guān)優(yōu)勢,但其也在一定程度上使學(xué)生產(chǎn)生了學(xué)習(xí)惰性。
二、對《匯編語言程序設(shè)計》課程教學(xué)中相應(yīng)的問題進行改革
1.加強對課程重要性的認(rèn)識在對《匯編語言程序設(shè)計》課程進行教學(xué)之前,對其相應(yīng)的重要性進行講解,從而使學(xué)生對匯編語言的具體特點進行充分掌握,對匯編語言相較于高級語言的具體優(yōu)勢進行具體明確,使學(xué)生對其在應(yīng)用領(lǐng)域中必要性有充分的了解。在對《匯編語言程序設(shè)計》課程進行學(xué)習(xí)的過程中,要注意對其實用性的具體教學(xué),使學(xué)生能夠做到對具體知識的學(xué)以致用,注重對教學(xué)內(nèi)容相關(guān)知識點的訓(xùn)練和拓展。另外,教師在教學(xué)過程中,還要注重對學(xué)生知識面的拓寬,從而使學(xué)生在對匯編語言的學(xué)習(xí)興趣得到相應(yīng)的提高。2.采用多樣化教學(xué),提高學(xué)生學(xué)習(xí)興趣在對《匯編語言程序設(shè)計》課程進行學(xué)習(xí)的過程中,想要對相應(yīng)的指令進行掌握,就要對其相關(guān)的尋址方式進行具體的理解和掌握。在對匯編語言進行教學(xué)的過程中,由于其相較高級語言而言,沒有足夠的易讀性,不容易學(xué)生的理解,所以,在教學(xué)的時候要掌握多樣化的教學(xué)方法以及教學(xué)手段,從而使學(xué)生在對其進行學(xué)習(xí)的過程中的學(xué)習(xí)興趣得到最大的提高,培養(yǎng)學(xué)生學(xué)習(xí)的自主性,使其對匯編語言的相關(guān)知識的理解和記憶更容易清晰地掌握。3.增加實踐環(huán)節(jié),提高學(xué)生具體的實踐能力在對《匯編語言程序設(shè)計》課程進行學(xué)習(xí)的過程中,對學(xué)生具體動手實踐課程進行加強,使學(xué)生在具體實踐的過程中對教材上的知識點進行具體的理解和掌握。在實際動手過程中學(xué)習(xí)實踐理論,使實踐與理論達(dá)到很好的結(jié)合,從而提升學(xué)生的學(xué)習(xí)效果。其中,在實踐的過程中,教師要注意對具體實驗內(nèi)容的控制,對實驗的重點著重突出,避免實驗的時間太過漫長。除此之外,還要注意積極引導(dǎo)學(xué)生多多參與相關(guān)實踐項目,在一定程度上為他們提供一些參與實際研究項目的機會。
三、結(jié)束語
論文摘要:匯編語言程序設(shè)計是計算機專業(yè)必修的專業(yè)基礎(chǔ)課。本文首先闡述了匯編語言課程特點,在此基礎(chǔ)上對該課程的教學(xué)內(nèi)容進行了分析,結(jié)合工作實踐就如何提高匯編語言的教學(xué)質(zhì)量,對教學(xué)方法進行了對策分析。
匯編語言是計算機及電子信息類專業(yè)十分重要的基礎(chǔ)課程,是學(xué)好徽機原理、操作系統(tǒng)、編譯原理的知識準(zhǔn)備。它能充分發(fā)揮和利用計算機硬件特性的語言,能夠完成高級語言難以勝任甚至無法完成的任務(wù)。筆者結(jié)合工作實踐,對該課程的教學(xué)內(nèi)容和特點、及教學(xué)方法做以下探討。
一、匯編語言課程的特點[1]
匯編語言是計算機能提供給用戶的最快而又最有效的語言,同時能夠利用計算機所有硬件特性并能直接控制硬件。所以高級語言簡單、易學(xué)且開發(fā)效率高,而匯編語言復(fù)雜、難懂、開發(fā)效率低。對匯編語言的課程特點主要表現(xiàn)在以下兩個方面:
(一)匯編語言的優(yōu)點
主要變現(xiàn)在以下兩個方面:第一,用匯編語言容易得到高時空效率的程序。由于匯編語言本質(zhì)上就是機器語言,可直接、有效地控制計算機硬件,因而與高級語言相比,容易得到運行速度快、執(zhí)行代碼短、占用內(nèi)存空間少的高時空效的目標(biāo)程序。
第二,用匯編語言能設(shè)計出高級語言無法實現(xiàn)的程序。正是由于與機器的密切相關(guān)性,使得匯編語言能充分利用計算機的硬件特性,編寫出與硬件緊密相關(guān)而高級語言又無法實現(xiàn)的程序來。
(二)匯編語言的缺點
主要表現(xiàn)在兩點:第一,匯編語言難學(xué)、難理解、難調(diào)試難維護等。第二,匯編語言程序可移植性差。
二、對匯編語言課程教學(xué)內(nèi)容認(rèn)識
筆者根據(jù)自身教學(xué)實踐,對匯編語言教學(xué)內(nèi)容的安排與經(jīng)驗總結(jié)為以下幾方面:
第一,對于十六進制的加減法運算、有符號數(shù)的補碼計算要充分了解學(xué)生基礎(chǔ),在此基礎(chǔ)上進行復(fù)習(xí)鞏固。
第二,對處理器中寄存器的介紹,存儲器的組織結(jié)構(gòu),操作數(shù)有關(guān)的尋址方式這一版塊的內(nèi)容,建議不要介紹與轉(zhuǎn)移地址有關(guān)的尋址方式,因為相關(guān)知識還比較少,學(xué)生很難理解。
第三,就傳送指令、算術(shù)運算指令和邏輯指令、系統(tǒng)功能調(diào)用簡介來說,應(yīng)該重點介紹這些指令,而其他指令分散到后面章節(jié)中或者舍去。而且每種指令也是精選最基本、最重要的指令進行介紹,如傳送指令中只介紹mov、xchg、push、pop、lea、lds和les指令,力爭講過的內(nèi)容精通,課堂沒有介紹的可以觸類旁通。
第四,偽指令用于輔助匯編語言程序設(shè)計,不作為重點,使學(xué)生可以理解匯編語言程序的格式即可,不引申不常用到的偽指令和不必要的細(xì)節(jié)。
第五,分支、循環(huán)和子程序設(shè)計版塊的內(nèi)容,介紹用到的一些指令及程序設(shè)計方法,采用短小精悍的程序訓(xùn)練學(xué)生,培養(yǎng)匯編程序設(shè)計的基本功能。
第六,輸入輸出程序設(shè)計、模塊化程序設(shè)計、混合編程等高級匯編語言技術(shù)內(nèi)容,經(jīng)過前面的學(xué)習(xí)學(xué)生已經(jīng)具備扎實的匯編語言基礎(chǔ)知識,能夠進行程序設(shè)計,引出實用技術(shù),可以采用基于問題的教學(xué)方法,培養(yǎng)學(xué)生的實踐能力。
三、提高匯編語言課程教學(xué)質(zhì)量的對策思考
(一)教學(xué)手段的多樣化
匯編語言由于其基礎(chǔ)性,而又它不同其他基礎(chǔ)課一樣以實踐操作為主,體現(xiàn)著它的比較抽象性,理論性較強的特征。如在尋址方式和指令系統(tǒng)以及源程序結(jié)構(gòu)都比較抽象、復(fù)雜、難于理解。為了使學(xué)生能夠較好的理解這些抽象的概念,在教學(xué)過程中針對這些內(nèi)容可采用多樣化的教學(xué)手段,可以從如下兩方面入手:
第一,將抽象的理論形象化。計算機科學(xué)技術(shù)最大的特點是,它的最初愿望和最終目標(biāo)都是模擬和實現(xiàn)人的思維過程,體現(xiàn)出計算機系統(tǒng)成為人的思維的延伸。因而它的許多理論與算法本質(zhì)上是在人的思維基礎(chǔ)上獲得創(chuàng)建與發(fā)展。基于這一特點,我們教師就可以將課程中有關(guān)難于講解和難于理解的原理、算法,和人的思維方式和對事物的處理方法以及人與人之間的關(guān)系關(guān)聯(lián)起來,結(jié)合與學(xué)生密切相關(guān)的事列對原理與算法進行講解。
第二,要利用功能程序段使學(xué)生更好地掌握指令系統(tǒng)。微機的指令系統(tǒng)的指令多達(dá)上百條。進行機械地記憶會很枯操,學(xué)生往往難以掌握和運用。但程序設(shè)計又需要熟練掌握其中的部分指令。所以,為了使學(xué)生更好的掌握指令系統(tǒng),可借助各種程序范例來理解相應(yīng)的指令。這樣不但使學(xué)生能夠知道如何在程序中具體應(yīng)用指令,而且對以后的程序設(shè)計也有幫助。
(二)強實臉教學(xué)與課堂教學(xué)相結(jié)合
計算機專業(yè)的兩個最基本教學(xué)目標(biāo)是計算機科學(xué)和計算機文化。計算機科學(xué)主要是傳授學(xué)生計算機有關(guān)的專業(yè)知識,對計算機系統(tǒng)要進行深人了解,強調(diào)計算機的學(xué)術(shù)價值。這一方面主要表現(xiàn)在對理論及算法的學(xué)習(xí)和研究。而計算機文化,它的含義是利用計算機進行信息處理的能力、操作和程序設(shè)計的能力,它十分強調(diào)實踐,即上機操作。對于任何一門程序設(shè)計語言來說,上機實驗操作環(huán)節(jié)都是不可或缺重要環(huán)節(jié)。
(三)發(fā)揮現(xiàn)代教學(xué)媒介的優(yōu)勢
按照任的認(rèn)知規(guī)律,人的認(rèn)知活動是人們對外界信息進行加工和篩選的過程。我們在教學(xué)過程中,如果把匯編語言的基礎(chǔ)知識以直觀形象、靈活多樣的形式展示給學(xué)生,促使學(xué)生短時間內(nèi)準(zhǔn)確理解。我們應(yīng)充分利用以計算機為核心的現(xiàn)代信息技術(shù),充分運用現(xiàn)代化的教學(xué)媒介,使教師脫離繁瑣的推理、論證、講解,使學(xué)生在適中的教學(xué)時間內(nèi)理解、掌握和獲取更多的知識和信息,從而提高教學(xué)效質(zhì)量。
四、結(jié)束語
教學(xué)質(zhì)量是對教師勞動成果的一個重要評價指標(biāo),而課程特點又在很大程度上影響著學(xué)生的學(xué)習(xí)興趣與學(xué)習(xí)效果,因而對教學(xué)內(nèi)容的優(yōu)化與改革,對教學(xué)手段的不斷改進與豐富,保證教學(xué)目標(biāo)的順利實現(xiàn),需要我們教育工作者進行不斷的思考和探索。
參考文獻
Abstract: Assembly language has complex instructions and many provisions which lead to the weariness of students. In order to improve the teaching effect of assembly language programming, this article explains how to easily learn assembly language from the comparative perspective of English and C language grammar in order to improve the interest of learning.
關(guān)鍵詞: 單詞;詞法規(guī)則;語法規(guī)則;語法成分;語句
Key words: word;lexical rule;grammar rule;grammatical component;statement
中圖分類號:TP313 文獻標(biāo)識碼:A 文章編號:1006-4311(2014)19-0193-02
1 緒論
作為最接近機器語言的編程語言,匯編語言可以稱得上是最接近于計算機操作本質(zhì)的語言。其直接面向硬件的特性,使得在使用匯編語言編程時,能夠清楚感知計算機的運行過程和原理,充分認(rèn)識應(yīng)用程序和計算機硬件之間的聯(lián)系與交互。相對于高級語言來說,匯編語言對編程者思維邏輯的鍛煉表現(xiàn)尤為突出,對于形成軟、硬兼?zhèn)涞木幊讨R體系具有舉足輕重的作用,而且指令集合簡約,指令操作直接。很多硬件設(shè)施的嵌入式編程使用的都是匯編語言,因為匯編語言更直接,更有效率。例如現(xiàn)在很多數(shù)碼產(chǎn)品賴以生存的芯片、主板等,都包含了嵌入式程序,而這些程序中,匯編語言的使用是非常普遍和相當(dāng)重要的。對于計算機專業(yè)語言類課程的學(xué)習(xí)來說,從匯編語言開始學(xué)習(xí)更符合循序漸進的學(xué)習(xí)原理。特別是在計算機技術(shù)專業(yè)的學(xué)習(xí)中,匯編語言具有十分重要甚至說不可代替的作用。因?qū)W生有英語、C語言學(xué)習(xí)的基礎(chǔ)和習(xí)慣,故本文從英語、C語言語法對比的角度,說明如何輕松學(xué)好匯編語言,以便更好地由英語學(xué)習(xí)、C語言學(xué)習(xí)自然過渡到匯編語言學(xué)習(xí)。
2 匯編語言課程的特點
匯編語言是計算機能提供給用戶的最快而又最有效的語言,同時能夠利用計算機所有硬件特性并能直接控制硬件。所以高級語言簡單、易學(xué)且開發(fā)效率高,而匯編語言復(fù)雜、難懂、開發(fā)效率低。優(yōu)點:①用匯編語言所編程序時空效率高。由于匯編語言本質(zhì)上就是機器語言,可直接、有效地控制計算機硬件,因而與高級語言相比,容易得到運行速度快、執(zhí)行代碼短、占用內(nèi)存空間少的高時空效的目標(biāo)程序。②用匯編語言能設(shè)計出高級語言無法實現(xiàn)的程序。正是由于與機器的密切相關(guān)性,使得匯編語言能充分利用計算機的硬件特性,編寫出與硬件緊密相關(guān)而高級語言又無法實現(xiàn)的程序。缺點:①難學(xué)、難理解、難編程、難調(diào)試、難維護等。②匯編語言程序可移植性差,它是面向機器的語言,不同的機器CPU不一樣,一個CPU一個指令系統(tǒng),硬件CPU的不兼容導(dǎo)致程序移植困難。
3 英語與匯編語言的對比(表1)
例如以下程序:
Data segment ;data段開始
X dw 10,20,50,70,-90 ;data段正文
Data ends ;data段結(jié)束
Code segment ;code段開始
Assume cs:code,ds:data
Main: mov ax,data
Mov ds,ax
Mov bx,offset x
Mov cx,5 ;code段正文
Mov ax,0
L: Add ax,[bx]
Add bx,2
Loop l
MOV AH,4CH
Int 21h
Code ends ;code段結(jié)束
End main ;整個程序書寫結(jié)束,從語句main開始執(zhí)行
該程序的功能是求數(shù)據(jù)10,20,50,70,-90的累加和
4 單詞的種類
4.1 常量(常數(shù))單詞 ①10進制整形常量。詞法規(guī)則:以D結(jié)束(D可省略),由0-9構(gòu)成 如 123D,456。②16進制整形常量。詞法規(guī)則:以H結(jié)束,由0-9,A-F構(gòu)成 如 123H,456H。③8進制整形常量。詞法規(guī)則:以Q結(jié)束,由0-7構(gòu)成 如 101Q,456Q。④2進制整形常量。詞法規(guī)則:以B結(jié)束,由0-1構(gòu)成 如 101B,110B。⑤字符型常量。詞法規(guī)則:單引號括起來的字符,其值為其ASCII碼如‘1’的值是41H,’AB’的值是4241H,’ABCD’的值是44434241H,字符順次存放,其值是低位在低地址部分。
4.2 名字單詞 詞法規(guī)則:以字母或下劃線開始,由字母,數(shù)字,下劃線構(gòu)成的串。如xyz,flag,名字可以是段名,子程序名,指令的名字,常量名,變量名,寄存器名等。
4.3 運算符單詞 算術(shù)運算符:如+,-,*,/。偽指令運算符:如offset,seg,xor。
4.4 操作碼單詞 區(qū)分不同的操作(運算),含義必須硬記。如ADD(加法),SUB(減法),MUL(乘法),DIV(除法)。
5 語法成份――表達(dá)式
語法規(guī)則:由常量,運算符,括號,名字構(gòu)成。如123+456+x,其中最常用的表達(dá)式有:①100:數(shù)據(jù)100。②[100]:100號單元,100不是數(shù)據(jù),是地址,100號單元的內(nèi)容是數(shù)據(jù)。③BX:BX單元。④[BX]:BX所指向的單元,并非BX單元。⑤10[BX]或書寫成[10+BX]:BX所指向的單元,下10個單元。⑥[SI][BX]或書寫成[SI+BX]:BX所指向的單元,下SI個單元。⑦10[SI][BX]或書寫成10[SI+BX]或書寫成[10+SI+BX]:BX所指向的單元,下SI個單元,再下10個單元。
6 語句格式
自然語言格式是:動詞(做什么)賓語(對誰做)狀語(怎么做)。匯編語言格式是:動詞(做什么)賓語(對誰做),省掉狀語(運算結(jié)果怎么辦,隱含給出)。
語法規(guī)則:[名字][:]操作碼目的操作數(shù),源操作數(shù);注解。表示做何種操作的代碼稱為操作碼,參加操作的數(shù)稱為操作數(shù),操作數(shù)無非是常量,名字,表達(dá)式。存放結(jié)果的稱為目的操作數(shù),僅參加運算的數(shù)稱為源操作數(shù)。運算后,目變源不變。
語義規(guī)則:目的操作數(shù)操作上源操作數(shù),結(jié)果送到目的操作數(shù)(運算結(jié)果怎么辦,隱含給出)。
如 ADD AX,BX表示AX的內(nèi)容加上BX的內(nèi)容送AX,(AX)+(BX)送AX。
7 匯編語言與C語言的比較(表2)
8 結(jié)束語
計算機由硬件軟件兩部分構(gòu)成,匯編語言可直接在硬件層上編程序,高級語言有編譯程序,該軟件層遮蓋了硬件層,使得用戶看不到硬件,看到的只是編譯程序的語法約定。故學(xué)好匯編語言,對于理解計算機內(nèi)部運行機制及產(chǎn)品開發(fā)尤為重要。
參考文獻:
[1]王成耀.80X86匯編語言程序設(shè)計(第2版)[M].北京:人民郵電出版社,2008.
關(guān)鍵詞:計算機;匯編語言;系統(tǒng)控制;應(yīng)用研究
中圖分類號:TP313 文獻標(biāo)識碼:A 文章編號:1007-9599 (2012) 11-0000-02
匯編語言是一種面向機器的特殊程序設(shè)計語言,計算機匯編語言是指通過匯編語言程序設(shè)計實現(xiàn)計算機的硬件系統(tǒng)控制的指令的一種程序構(gòu)成。利用計算機匯編語言進行編程設(shè)計,不僅可以有效提高工作效率,還可以節(jié)省程序空間,實現(xiàn)最大利用。本文將主要對計算機匯編語言的相關(guān)理論及其在實踐中的具體應(yīng)用進行研究分析。
一、計算機匯編語言的概念
在計算機的系統(tǒng)操作過程中,主要是通過計算機硬件設(shè)備對計算機的軟件發(fā)出工作命令完成的。計算機匯編語言是通過匯編語言程序的設(shè)計,來操控計算機的某一程序系統(tǒng),從而實現(xiàn)匯編語言程序?qū)τ嬎銠C的控制。計算機匯編語言的這一操作控制過程也正好符合計算機主機中中央處理器的工作原理和工作結(jié)構(gòu)??刂泼钍怯煽刂凭幋a與操作數(shù)構(gòu)成,操作數(shù)的處理功能和中央處理器能夠擁有的功能是由控制編碼來控制實現(xiàn),中央處理器是控制命令得以執(zhí)行的根本,操作數(shù)能夠為中央處理器執(zhí)行控制命令提供處理對象。
中央處理器執(zhí)行系統(tǒng)所發(fā)出的控制命令,從而的實現(xiàn)命令完成。中央處理器實現(xiàn)這一過程主要依據(jù)其強大的功能和結(jié)構(gòu)特性。在計算機的中央處理器中,中央處理器的控制器部分首先對其它系統(tǒng)所發(fā)出的控制信息中的操作碼進行編譯、執(zhí)行等工作,然后再通過已經(jīng)接收、編譯的信息,發(fā)出控制命令,從而幫助整個計算機系統(tǒng)完成運行工作;中央處理器的運算器部分則是實行對控制器所接收到的數(shù)據(jù)信息進行高速運算功能;另外,中央處理器中還有一個寄存器的部分,主要是用來儲存數(shù)據(jù)的,寄存器的功能不同,在處理數(shù)據(jù)和執(zhí)行命令時所發(fā)揮出的作用也就不同。
在計算機的實際應(yīng)用中,匯編語言在對計算機軟、硬件的操控和工作效率上的優(yōu)點是其它編程語言不能夠?qū)崿F(xiàn)的。在通過計算機硬件設(shè)施來控制計算機的軟件系統(tǒng)上,很多時候都只有匯編語言可以滿足;在利用匯編語言進行編程來完成工作目標(biāo)上,匯編語言不僅能夠快速的完成工作目標(biāo),而且整個目標(biāo)程序的設(shè)置也是最簡短的,在空間和時間上都具有無可比擬的優(yōu)越性。這里可以通過一個對比顯現(xiàn)出來,假設(shè)現(xiàn)在通過匯編語言和不是采用匯編語言的兩種方法來計算目標(biāo)程序,通過兩個操作運算過程就可以明顯看出,不采用語言匯編計算方法的計算過程,在運算中不僅花費的時間要遠(yuǎn)遠(yuǎn)高于運用匯編語言來計算的方法,而且冗雜繁蕪的計算過程占用了計算機的大部分空間,而運用語言匯編計算方法的計算過程只占用了一少部分空間,孰優(yōu)孰劣,結(jié)果不言而喻。
二、匯編語言與高級語言、DELPHI語言、C語言的結(jié)合運用
(一)匯編語言與高級語言的結(jié)合運用
在計算機的實際程序應(yīng)用中,一般程序員在進行程序編寫時大部分是運用高級語言來完成,而在整個程序的重要部分,或者說在實際中運行要求高、運行次數(shù)又較多而且可以直接與計算機硬件設(shè)施相關(guān)聯(lián)的部分,其程序的編寫都是運用匯編語言來實現(xiàn)的。采取以上的方法,是因為在實際操作中雖然匯編語言擁有工作速度快,工作效率高,占用空間小的優(yōu)勢,但它同時也要求對計算機內(nèi)存裝置有相當(dāng)?shù)氖煜ざ龋谶M行程序編制和讀寫時也存在有一定的難度,在計算機程序編寫的實踐應(yīng)用中有一定的不便利性;而高級語言除了占用計算機存放空間比較多,程序編寫的代碼較長使計算機運行速度較慢外,高級語言本身也存在有豐富的函數(shù)和數(shù)據(jù)信息、齊全的運算符、可移植性好、易讀易寫等優(yōu)點。這樣將匯編語言與高級語言結(jié)合在一起運用到計算機程序編寫實踐中,不僅可以取長補短實現(xiàn)優(yōu)勢互補,提高工作效率,還節(jié)省了計算機的空間占有量。
另外,在計算機程序編寫的實踐應(yīng)用中,匯編語言除了與高級語言可以相互結(jié)合使用實現(xiàn)優(yōu)勢互補外,匯編語言和DELPHI語言、C語言之間也可以結(jié)合使用,以實現(xiàn)計算機程序編寫過程的最大高效便利化。
(二)匯編語言與DELPHI語言的結(jié)合運用
匯編語言與DELPHI語言在進行計算機程序編寫是相互結(jié)合使用,主要是在DELPHI語言編寫的程序中運用一定的數(shù)據(jù)信息將DELPHI語言程序融入到匯編語言編寫程序中去,實現(xiàn)兩種語言程序相互結(jié)合。
匯編語言編寫程序與DELPHI語言編寫程序之間在進行參數(shù)信息的相互傳達(dá)時,可以由DELPHI語言編寫程序向匯編語言程序進行傳遞,也可以由匯編語言程序向DELPHI語言編寫程序進行傳遞。
DELPHI語言編寫程序向匯編語言程序進行參數(shù)傳遞時,首先在DELPHI語言編寫程序選出匯編語言程序中或者編寫過程中的正確參數(shù)信息,然后在對這些參數(shù)信息進行匯編過程中直接運用其變量參數(shù)數(shù)據(jù),其中存在的所運用變量參數(shù)之間語法不相同情況是由于變量參數(shù)在被傳送的過程中,相互傳遞數(shù)據(jù)信息其實是地址。
匯編語言程序向DELPHI語言編寫程序進行參數(shù)傳遞時,對匯編語言程序中的固定數(shù)據(jù)信息參數(shù)的傳遞有一定的特殊要求,匯編語言程序向DELPHI語言編寫程序的參數(shù)傳遞過程則是運用指針的方式進行數(shù)據(jù)值的傳遞的。
(三)匯編語言與DELPHI語言的結(jié)合運用
關(guān)鍵詞:多媒體教學(xué);比喻教學(xué)法;實踐性教學(xué);考核方法
中圖分類號:TP301-4
《微機原理與接口技術(shù)》主要講述微型計算機的工作原理,匯編語言程序設(shè)計,微型計算機的I/O接口技術(shù)三部分內(nèi)容。第一部分內(nèi)容的學(xué)習(xí)有利于學(xué)生對微機工作原理有深入地了解,熟悉進制轉(zhuǎn)化和微機中數(shù)字的表示方法,掌握它也有利于對專業(yè)后續(xù)課程的學(xué)習(xí),并且這一部分內(nèi)容中介紹到的計算機內(nèi)部的結(jié)構(gòu)(比如寄存器的結(jié)構(gòu)和存儲器的原理結(jié)構(gòu))又是匯編語言程序設(shè)計的基礎(chǔ)。第二部分介紹的匯編語言程序設(shè)計是我們?nèi)撕陀嬎銠C溝通最直接的方式,雖然機器語言速度更直接更快,但機器語言非常難于記憶和識別,不適合拿來編程使用,匯編語言是除了機器語言,最能直接控制硬件操作的編程語言,如果我們想從事計算機科學(xué)、數(shù)控、機電、通信信號方面的工作的話,匯編語言的基礎(chǔ)是必不可缺的,因為我們的工作平臺、研究對象都是機器,我們通過匯編語言和機器交流,在和硬件關(guān)系非常密切的程序或要提高運算速度的程序,即使是 C 語言也會有些力不從心,而匯編語言則能夠很好的揚長避短,最大限度地發(fā)揮硬件的性能。由于匯編語言和硬件密切相關(guān),所以這一部分內(nèi)容的學(xué)習(xí)一定要打好基礎(chǔ)。第三部分內(nèi)容是一些常用且典型的芯片比如8259A(中斷控制器)、8255A(可編程并行接口)和8253(計數(shù)/定時器)等,讓學(xué)生掌握這些芯片的功能,引腳,內(nèi)部結(jié)構(gòu),命令字的設(shè)置和編程應(yīng)用,為以后學(xué)習(xí)其他芯片打下基礎(chǔ)。作者結(jié)合自己多年的教學(xué)實踐,想將自己的授課經(jīng)驗做一些總結(jié)、并探討一些新的教學(xué)手段和方法。
1 采用多媒體教學(xué)方法
多媒體就是指能夠同時獲取、處理、編輯、存儲和展示兩個以上不同類型信息媒體的技術(shù),這些信息媒體包括:文字、聲音、圖形、圖像、動畫、視頻等。多媒體教學(xué)就是多媒體以其信息傳遞的快捷性,知識更新的便利性,媒體內(nèi)容、形式的新穎性走進了課堂。這種教學(xué)方式稱為多媒體教學(xué)。這里我們不僅僅局限于將課程的知識點以幻燈片的方式講解這種簡單的多媒體技術(shù),《微機原理及匯編語言》課程中微機的工作原理部分是很抽象的,很多需要我們自行想象,比如說中斷的處理過程,有中斷請求的到來、中斷的屏蔽、中斷優(yōu)先級別的判定、中斷的響應(yīng)、中斷類型碼的判定、中斷矢量表的讀取,中斷服務(wù)子程序的實現(xiàn)、中斷的返回,這些都是很抽象發(fā)生在CPU和芯片內(nèi)部的,而且是有序的先后發(fā)生和進行的,學(xué)生會覺得非常難理解,那么我們就可以以多媒體教學(xué)的方式,將這個過程以動畫的方式演示出來,讓學(xué)生看到更具體、更形象的中斷處理過程,學(xué)生就可以更快速準(zhǔn)確地掌握這部分知識。所以制作出最適合本校課程開設(shè)情況和學(xué)生情況的多媒體教學(xué)軟件,也是筆者的努力方向。
2 采用比喻教學(xué)法
比如在對內(nèi)存儲器存儲結(jié)構(gòu)的講解過程中,可以采用比喻法,將內(nèi)存儲器的每個存儲單元想象成中藥鋪裝藥的小抽屜,每個對應(yīng)的物理地址就是小抽屜上的藥名,我們尋找操作數(shù)的過程就是首先知道藥名即物理地址,然后找到相應(yīng)的藥抽屜就是存儲單元,將它打開,里面存儲的就是我們要使用的數(shù)據(jù)。中藥鋪那大量的中藥小抽屜和內(nèi)存儲的大量的存儲單元有很多的相似性,只不過,中藥鋪的每個抽屜的區(qū)分是以藥名區(qū)分,而內(nèi)存單元的區(qū)分是以物理地址的編號數(shù)據(jù)區(qū)分。又比如在講解中斷控制器8259A或可編程接口芯片8255A的引腳片選信號時,可以比喻成芯片的開關(guān),只有片選信號有效,該芯片才能進行正常的工作,如果片選信號無效,那么所有該芯片其他引腳的任何形式的接線和方式設(shè)置,都處于無效狀態(tài)。
3 注重實踐性教學(xué),增加學(xué)生感興趣的實例操作
匯編程序設(shè)計對于大多數(shù)的初學(xué)者來說都是有一定的難度的。在匯編語言實驗設(shè)計方面,首先從調(diào)試匯編程序的過程來入手,摒棄過去三步的調(diào)試過程(匯編、連接、執(zhí)行),采用目前適用于windows操作系統(tǒng)的匯編調(diào)試環(huán)境:Masm For Windows 集成實驗環(huán)境,安裝在單機之后,在輸入源程序后,可以一步運行,很方便的調(diào)試結(jié)果。實驗課中可以先把一些經(jīng)典、趣味性比較強的的程序提供給學(xué)生,例如抽獎程序(分支結(jié)構(gòu))的設(shè)計、遞歸運算(循環(huán)結(jié)構(gòu))的設(shè)計等,慢慢累積經(jīng)驗,經(jīng)過一短時間的訓(xùn)練,才能編寫比較復(fù)雜的的程序,由于上機地點和上機時間有限,可以每次實踐上機課之后布置一些題目供學(xué)生思考和練習(xí),讓學(xué)生課外設(shè)計練習(xí)這些程序,題目的類型可以更有挑戰(zhàn)性和趣味性,比如水仙花數(shù)的計算,折紙多少次可以達(dá)到的珠穆朗瑪峰高度等等,挑起學(xué)生的興趣,讓學(xué)生更愿意鉆研下去,編寫出各種不同結(jié)構(gòu)的程序,達(dá)到熟練匯編語言的目的。
匯編語言有了一定的熟練度,并且學(xué)習(xí)了各個芯片的功能、初始化設(shè)置方法以及程序設(shè)計應(yīng)用后,就可以開始使用清華同方股份有限公司生產(chǎn)的TPC-H通用微機接口實驗系統(tǒng)實驗箱,讓學(xué)生完成I/O端口地址譯碼、中斷、8253定時/計數(shù)器應(yīng)用、交通燈控制實驗、競賽搶答器實驗、可編程并行接口實驗等多個個實驗,使每個學(xué)生都能夠做到程序設(shè)計與調(diào)試,電路連線,在程序控制下對芯片的應(yīng)用,從真正意義上切實掌握匯編語言及其硬件芯片的使用操作。
4 建立完善的課程考核方法
考核是全面檢驗學(xué)生課程學(xué)習(xí)效果的一個手段,每門課程學(xué)習(xí)結(jié)束都需要對學(xué)生進行考核,在教學(xué)過程中,難免有些同學(xué)平時不愛學(xué)習(xí),經(jīng)常采取考試之前突擊學(xué)習(xí)、圈化重點等臨時抱佛腳的方法來應(yīng)付,這樣的學(xué)習(xí)方式有時也能僥幸通過考試,但很顯然學(xué)到的知識扎實,不全面具體,考過之后很快就會忘記的。我們可以采用過程考核的方式,將學(xué)生平時的一舉一動及學(xué)習(xí)情況都算入學(xué)生成績。過程考核可采用的形式有:作業(yè)、平時表現(xiàn)、上機實踐、隨堂測試、期中考試、學(xué)習(xí)態(tài)度、期末考試等。一般來說課堂表現(xiàn)占總分比例不得超過10%,期末考試占總分比例范圍為60%,上機實踐占20%,其他的根據(jù)實際需要靈活選擇。在這種考核方法下,那些考試抄襲或者突擊的同學(xué)即便在期末考試中考了六七十分,但也會由于平時成績不理想也無法通過該課程的考核,也就是說這種考核方法讓學(xué)生不僅要注重期末考試結(jié)果,又要注重平時學(xué)習(xí)過程,因此那些原本平時不愛下功夫?qū)W習(xí)的同學(xué)在這樣的課程考核制度下也不得不抓緊時間學(xué)習(xí)了。教學(xué)實踐表明遵循以上課程考核方法可以在很大程度上促進學(xué)生學(xué)習(xí)。
5 結(jié)束語
作為一名高職院校的專任教師,思考教學(xué)內(nèi)容的不斷優(yōu)化與精選,選擇更適合學(xué)生的教學(xué)手段,保證教學(xué)目標(biāo)的順利實現(xiàn),是我們職業(yè)生涯不斷的追求。
本文是作者結(jié)合自己的教學(xué)經(jīng)驗,將自己在教學(xué)過程中如何激發(fā)學(xué)生學(xué)習(xí)興趣,通過適當(dāng)?shù)姆椒ê褪侄谓档驼n程學(xué)習(xí)難度,重視和嚴(yán)格要求實踐性教學(xué),建立合理可行的課程教學(xué)考核方法,從而達(dá)到改善教學(xué)效果的一些方法做了初步探討,作者深知要想取得更好的教學(xué)效果還需要我們付出更多的努力,進行廣泛的交流和更多的探索,作者一定會在這條路上盡力走的更遠(yuǎn),研究出更多行之有效的學(xué)習(xí)方法和手段。
參考文獻:
[1]王成耀.80x86匯編語言程序設(shè)計[M].北京:人民郵電出版社,2008(第2版).
[2]汪吉鵬.微機原理與接口技術(shù)[M].高等教育出版社2004年7月(第2次版).
[3]朱定華.微型計算機原理及應(yīng)用[M].電子工業(yè)出版社,2001年1月(第1版).
精品課程建設(shè)和立體化教學(xué)體系的構(gòu)建,建立了一個開放、互動、積極、科學(xué)的和高效率的教學(xué)機制,為高校課程建設(shè)和改革指明方向,推動實踐教學(xué)和人才培養(yǎng)模式改革創(chuàng)新,整合教學(xué)資源,最大限度地滿足教學(xué)需要,提高教學(xué)效果[1]。“匯編語言程序設(shè)計”是高校計算機類專業(yè)本科生必修的專業(yè)基礎(chǔ)課,是操作系統(tǒng)、單片機和微型計算機原理與接口等核心課程的先修課。通過該課程的學(xué)習(xí),培養(yǎng)學(xué)生設(shè)計和編寫匯編語言程序的能力,對計算機的底層編程有一定認(rèn)識,使學(xué)生掌握時效性要求高、直接控制硬件的程序設(shè)計方法;另一方面,使學(xué)生理解計算機底層運行程序的機制,了解計算機的工作原理,為以后一些課程的學(xué)習(xí)打下良好的基礎(chǔ),并使各門課程之間的知識融會貫通。實行立體化教學(xué)將在提高教學(xué)效率、增強教學(xué)效果、加大教學(xué)信息量、培養(yǎng)學(xué)生的實際應(yīng)用能力、加強學(xué)生課后的學(xué)習(xí)能力等方面起到積極的作用[2]。
一匯編語言及其教學(xué)現(xiàn)狀
匯編語言是面向機器的程序設(shè)計語言。在匯編語言中,用助記符代替操作碼,用地址符號或標(biāo)號代替地址碼。這樣用符號代替機器語言的二進制碼,就把機器語言變成了匯編語言。匯編語言直接描述機器指令,與機器指令相比更容易記憶和理解。通過學(xué)習(xí)和使用匯編語言,能夠感知、體會、理解機器的邏輯功能,向上為理解各種軟件系統(tǒng)的原理,打下技術(shù)理論基礎(chǔ);向下為掌握硬件系統(tǒng)的原理,打下實踐應(yīng)用基礎(chǔ)。學(xué)習(xí)匯編語言,向上可以理解軟件,向下能夠感知硬件,是我們理解整個計算機系統(tǒng)的最佳起點。
在以往匯編語言課程教學(xué)過程中,經(jīng)常存在以下問題[3]:
第一,匯編語言是一種完全面向硬件的語言,和機器的體系結(jié)構(gòu)結(jié)合緊密,使用者需要對計算機的組成、硬件控制和指令的解釋過程有比較本文由收集整理清晰的掌握才可以,學(xué)生反映難懂。
第二,匯編語言指令和偽指令眾多,語法難記,調(diào)試?yán)щy,程序的可讀性差。因此學(xué)生普遍反映這門課難學(xué)難懂。
由此,學(xué)生一開始就產(chǎn)生了畏學(xué)情緒,學(xué)習(xí)的能動性喪失,給老師的教學(xué)工作也帶來一定的困難。在多年該課程教學(xué)經(jīng)驗的基礎(chǔ)上,我們對該課程的教學(xué)進行了深入的改革,在教學(xué)模式、教學(xué)方法和教學(xué)手段等方面提出并采用了一系列新舉措,明顯提高了教學(xué)質(zhì)量和效果。
二關(guān)于匯編語言課程立體化教學(xué)模式的探索
1組建創(chuàng)新型教師隊伍,是精品課程建設(shè)成功的基礎(chǔ)
創(chuàng)新型教師應(yīng)當(dāng)是學(xué)術(shù)造詣深、授課經(jīng)驗豐富、創(chuàng)新意識強、改革成果明顯的創(chuàng)造型高素質(zhì)教師。合理的教學(xué)梯隊,能夠?qū)⒍嗄攴e累下來的行之有效教學(xué)經(jīng)驗和教學(xué)成果鞏固和發(fā)展下去。因此要形成師資質(zhì)量優(yōu)秀、師德高尚、人員穩(wěn)定、教學(xué)水平高、教學(xué)效果好、年齡結(jié)構(gòu)和職稱結(jié)構(gòu)鈞合理的教師隊伍。目前匯編語言程序設(shè)計課程組教師7人,其中2名博士,4名碩士;高級職稱4人,中級職稱3人,教師隊伍結(jié)構(gòu)合理,師資力量扎實牢固。
近年來,課程組積極加強在職教師的素質(zhì)培訓(xùn),多次組織專題研討會和教研室會議,就課程的教學(xué)內(nèi)容安排、教學(xué)中出現(xiàn)的疑難問題及如何提高教學(xué)效果等問題進行研討,共同提高授課水平。為提高教學(xué)技能,教學(xué)組定期和不定期地進行教學(xué)心得和教學(xué)方法的交流,并鼓勵撰寫教學(xué)研究論文。課題組還多次組織教學(xué)觀摩活動,一方面要求青年教師學(xué)習(xí)優(yōu)秀教師課堂教學(xué)的經(jīng)驗和技巧,另一方面也要求有經(jīng)驗的教師結(jié)對幫助青年教師,提高他們的教學(xué)質(zhì)量。鼓勵青年教師積極申請教學(xué)和科研項目,鼓勵青年教師出國深造等。嚴(yán)格按照省級精品課程評選標(biāo)準(zhǔn)進行建設(shè),定期組織專家對本課程建設(shè)情況進行檢查和監(jiān)督,每年召開不少于一次的精品課程建設(shè)工作研討會。積極開展課程建設(shè),大力支持本課程省部級以上教學(xué)成果和教改項目的申報工作。
2教學(xué)方法改革,讓學(xué)生由被動接受變?yōu)橹鲃忧笾?/p>
⑴啟發(fā)與鼓勵
啟發(fā)式教學(xué)是教學(xué)實踐中一個古老又新穎的課題。從孔子提出啟發(fā)式教學(xué)至今兩千多年的歷史中,啟發(fā)式教學(xué)日益展現(xiàn)出自身強大的功能[4]。
現(xiàn)代教學(xué)的指導(dǎo)思想是“學(xué)生為主體,教師為主導(dǎo)”,如何體現(xiàn)“學(xué)生為主體,教師為主導(dǎo)”,關(guān)鍵是學(xué)生能否有學(xué)習(xí)動機,而學(xué)生的學(xué)習(xí)動機并不會無緣無故地產(chǎn)生,在很大程度上和教師的主導(dǎo)作用有直接關(guān)系,要靠教師在師生的交流中去激發(fā)、去培養(yǎng)。特別是對于匯編語言這門指令多、語法難記、程序難讀的課程,啟發(fā)的過程中,可能對一部分同學(xué)還產(chǎn)生不了很好的效果,這
時就要啟發(fā)加激勵并行。例如在講解尋址方式時,不同的尋址方式如何區(qū)分?區(qū)分尋址方式的關(guān)鍵點在哪里?問題拋出后,給學(xué)生一段思考的時間后,為了讓學(xué)生能夠站起來主動回答這個問題,一定要對主動回答問題的同學(xué)給予適當(dāng)?shù)墓膭詈捅頁P,而且不管回答對與否,主要是先把學(xué)生的學(xué)習(xí)的主動性和積極性調(diào)動起來,使學(xué)生擺脫教師那種生澆硬灌的教學(xué)模式,掌握學(xué)習(xí)的主動權(quán),主動探求蘊藏在教材中的知識,變“講授知識”為“主動求知”。
⑵探究式教學(xué)
探究性教學(xué)模式是指以“自主、探究、合作”為特征的學(xué)習(xí)方式對當(dāng)前教學(xué)內(nèi)容中的主要知識點進行自主學(xué)習(xí)、深入探究并進行小組合作交流,從而較好地達(dá)到課程標(biāo)準(zhǔn)中關(guān)于認(rèn)知目標(biāo)與情感目標(biāo)要求的一種教學(xué)模式[5]。
探究式教學(xué)的核心是問題,所以教師在采用探究式的教學(xué)方法之前,需要根據(jù)教學(xué)目的和內(nèi)容,精心考量,提出難度適度、邏輯合理的問題,以便全班學(xué)生帶著這些問題去探究,去挖掘自己的內(nèi)在潛力,獲得新知、增長能力。教師為了達(dá)到讓學(xué)生自主學(xué)習(xí)的目的,要引導(dǎo)學(xué)生自己去發(fā)現(xiàn)問題,學(xué)生不明白時可適當(dāng)點撥,誘導(dǎo)探究的方向。在探究教學(xué)中,教師是引導(dǎo)者,基本任務(wù)是啟發(fā)誘導(dǎo);學(xué)生是探究者,其主要任務(wù)是通過自己的探究,發(fā)現(xiàn)新事物。因此,必須正確處理教師的“引”和學(xué)生的“探”的關(guān)系,做到既不放任自流,讓學(xué)生漫無邊際去探究,也不能過多牽引。最后教師引導(dǎo)學(xué)生對問題進行總結(jié),對學(xué)習(xí)成果進行分析歸納,并可聯(lián)系實際,對當(dāng)前知識點進行深化、遷移與提高。
探究式教學(xué)使學(xué)生的主體地位和自主能力都得到了加強,對知識技能的理解與掌握都達(dá)到了較深的程度,非常有利于創(chuàng)新思維和創(chuàng)新能力的形成和發(fā)展。
3改變考核方式,注重綜合能力的培養(yǎng)
打破以最終的一次期末考試成績作為學(xué)生學(xué)習(xí)好壞的唯一評價標(biāo)準(zhǔn)的模式。把評價學(xué)生的標(biāo)準(zhǔn)分成三部分:平時表現(xiàn)占20%,期末考試占40%,能力作業(yè)占40%。結(jié)合教學(xué)內(nèi)容教師布置專題項目的學(xué)習(xí)內(nèi)容作為能力作業(yè),學(xué)生以小組形式通過課下調(diào)研、上網(wǎng)、各級圖書館資料查詢完成作業(yè)。最后學(xué)生要上臺講授自己的能力作業(yè),通過評分競選優(yōu)勝者。這樣就把由教師講授學(xué)生被動接受的過程變成學(xué)生主動獲取知識的過程。通過這種形式的學(xué)習(xí),在引入競爭機制后,不僅培養(yǎng)學(xué)生的濃厚的學(xué)習(xí)興趣,而且學(xué)生可獲得更多課堂以外的專業(yè)知識,擁有了較強的自學(xué)能力、組織能力、人際交往能力和人與人之間的協(xié)作溝通能力。最后對于學(xué)生的評價是根據(jù)學(xué)生的學(xué)習(xí)成績和能力作業(yè)給予綜合評定,全面考察學(xué)生的綜合素質(zhì)。
4課堂教學(xué)與網(wǎng)絡(luò)教學(xué)相結(jié)合
隨著網(wǎng)絡(luò)、通信技術(shù)的迅速發(fā)展,可以制作多媒體網(wǎng)絡(luò)課件、建立網(wǎng)上教學(xué)平臺。網(wǎng)上教學(xué)的優(yōu)勢在于它不受課堂教學(xué)時間和空間的限制,可以在課程網(wǎng)站上補充、增加更多的相關(guān)專業(yè)知識與內(nèi)容,建立更多的專業(yè)網(wǎng)站鏈接,有助于學(xué)生從更大范圍內(nèi)了解學(xué)科與專業(yè)發(fā)展的現(xiàn)狀。借助于網(wǎng)絡(luò)教學(xué),學(xué)生的自學(xué)、自測基本不受時間和地點的限制,方便了學(xué)生的自主學(xué)習(xí);學(xué)生遇到任何問題,教師都可以通過網(wǎng)絡(luò)進行答疑,這些問題也可能是同學(xué)們共有的問題,教師的回答信息可供學(xué)生共享,這就從一對一的形式轉(zhuǎn)變成一對多形式,大大提高了教學(xué)效率。我們學(xué)院已經(jīng)建立了一個比較完善的網(wǎng)絡(luò)教學(xué)平臺,供教師和學(xué)生使用。
5重視立體化教材建設(shè)