陳 松
摘要微機(jī)原理與匯編語言是計(jì)算機(jī)及相關(guān)專業(yè)學(xué)生的基礎(chǔ)課程。該課程涉及知識(shí)點(diǎn)較多且比較抽象,要獲得良好的教學(xué)效果有一定難度。本文在實(shí)際教學(xué)的基礎(chǔ)上,總結(jié)了好的教學(xué)經(jīng)驗(yàn),對(duì)如何提高教學(xué)質(zhì)量進(jìn)行了初步探索。
關(guān)鍵詞微機(jī)原理 匯編語言 整合 教學(xué)方法
中圖分類號(hào):G642文獻(xiàn)標(biāo)識(shí)碼:A
隨著計(jì)算機(jī)技術(shù)和通信技術(shù)的發(fā)展,微型計(jì)算機(jī)的應(yīng)用越來越廣泛,“微機(jī)原理與接口技術(shù)”課程也成為除計(jì)算機(jī)專業(yè)外,機(jī)械、電子、通信、自動(dòng)化等相關(guān)專業(yè)必設(shè)的專業(yè)基礎(chǔ)課。“微機(jī)原理與接口技術(shù)”課程在一些高校已經(jīng)逐步和“匯編語言程序設(shè)計(jì)”課程整合到了一起。這是由于微機(jī)原理中要使用匯編語言的知識(shí),匯編編程中又牽涉到微機(jī)原理的一些概念。兩者相輔相成,且這兩門課程都有一定的教學(xué)難度,要將它們整合到一起,實(shí)現(xiàn)相互印證,相互促進(jìn),更是一件難事。通過近幾年的教學(xué)實(shí)踐,筆者總結(jié)了一些經(jīng)驗(yàn),介紹如下。
1 教學(xué)過程中注意體現(xiàn)匯編語言本身的優(yōu)缺點(diǎn),引導(dǎo)學(xué)生學(xué)習(xí)的方向
學(xué)生在學(xué)習(xí)本課程之前,一般都有過計(jì)算機(jī)高級(jí)語言的學(xué)習(xí)基礎(chǔ)。與高級(jí)語言相比,匯編語言存在一些固有的缺點(diǎn),如對(duì)硬件的依賴性較強(qiáng),可移植性較差,解決問題的步驟較為繁瑣,有很多細(xì)節(jié)問題需要考慮等。①這就好比用戶首先學(xué)習(xí)了如何在飯店點(diǎn)菜,已經(jīng)習(xí)慣了一套簡易的流程,現(xiàn)在要學(xué)習(xí)自己做菜,要考慮的細(xì)節(jié)更多,也就覺得更麻煩。但學(xué)會(huì)自己做菜,有利于我們了解菜系的搭配原理,火候問題等,從而制作出更可口的菜肴,如同匯編語言的學(xué)習(xí)有利于用戶了解計(jì)算機(jī)的工作原理,從而更好地理解微機(jī)原理的相關(guān)問題。同時(shí),匯編語言的一些細(xì)節(jié),也能幫助用戶簡化一些操作。例如對(duì)于求解1+2+3+……+100②這個(gè)問題,可以利用LOOP語句中CX每次自減1的特點(diǎn)實(shí)現(xiàn),程序③如下:
MOVAX, 0;用來放累加和
MOVCX, 100;循環(huán)次數(shù)為100
NEXT:ADDAX, CX ;AX+CX的和傳送給AX
LOOPNEXT ;CX減1,判斷CX不等于0時(shí),循環(huán),從NEXT標(biāo)號(hào)處執(zhí)行
這比用高級(jí)語言實(shí)現(xiàn)更簡潔。匯編語言的優(yōu)勢(shì)更多的體現(xiàn)在對(duì)硬件芯片的編程,例如對(duì)8253、8255芯片的初始化編程,程序段比較簡潔、直觀。教學(xué)過程中,要注意引導(dǎo)學(xué)生的學(xué)習(xí)方向,避免學(xué)生在學(xué)習(xí)過程中產(chǎn)生厭學(xué)情緒,要讓學(xué)生看到匯編語言的優(yōu)點(diǎn)。
2 找到知識(shí)的結(jié)合點(diǎn),加強(qiáng)知識(shí)的聯(lián)系
匯編語言是微機(jī)原理課程的一門工具性語言,兩門課程中有很多交叉結(jié)合的知識(shí)點(diǎn)。如果在微機(jī)原理部分沒有理解CPU的內(nèi)部結(jié)構(gòu)和工作原理,大量的指令就無法正確運(yùn)用,也就更難靈活運(yùn)用匯編語言進(jìn)行編程。④例如匯編語言中大量采用寄存器結(jié)構(gòu),很多指令中都有指定的寄存器用法,而寄存器是CPU內(nèi)部結(jié)構(gòu)的重要組成部分,是微機(jī)原理的一個(gè)重要的知識(shí)點(diǎn),各種寄存器的用法又可以通過尋址方式體現(xiàn)出來。比如基址指針寄存器BP在尋址做基址中使用時(shí),默認(rèn)數(shù)據(jù)在堆棧段中,在匯編語言講解子程序的參數(shù)傳遞一例時(shí),主程序用PUSH語句將參數(shù)放入堆棧,子程序中引用參數(shù)時(shí),并不采用數(shù)據(jù)出棧,而是以BP為基址采用寄存器間接尋址方式訪問堆棧。再如,微機(jī)原理中講解外設(shè)與計(jì)算機(jī)的數(shù)據(jù)傳送時(shí),可注重介紹IN,OUT輸入輸出指令在執(zhí)行時(shí),對(duì)接口電路的影響,即匯編語言指令具體執(zhí)行對(duì)硬件的影響,如M/,,信號(hào)以及地址譯碼的變化。⑤
3 重視實(shí)驗(yàn)教學(xué),體現(xiàn)指令與硬件的結(jié)合,鼓勵(lì)進(jìn)行設(shè)計(jì)型實(shí)驗(yàn)
微機(jī)原理很多知識(shí)需要通過實(shí)驗(yàn)來加以驗(yàn)證和運(yùn)用,上好實(shí)驗(yàn)課是教學(xué)的重要環(huán)節(jié)。但該課程的實(shí)驗(yàn)課大部分都是驗(yàn)證性實(shí)驗(yàn),都在演示課本上的例子,這對(duì)于學(xué)生充分理解微機(jī)原理,熟練掌握匯編程序設(shè)計(jì)和鍛煉實(shí)踐能力來說是一種限制。我校實(shí)驗(yàn)采用DJ系列8086/8088微機(jī)系統(tǒng),其中實(shí)驗(yàn)十五:簡單I/O口控制,實(shí)現(xiàn)的功能是利用開關(guān)K1~K8控制LED燈L1~L8,一個(gè)開關(guān)控制一個(gè)燈的亮滅,⑥所用接口芯片為74LS244,74LS273。該實(shí)驗(yàn)為驗(yàn)證性試驗(yàn),即學(xué)生可按實(shí)驗(yàn)指導(dǎo)書完成硬件連線,運(yùn)行現(xiàn)有程序,即可實(shí)現(xiàn)功能。如此則學(xué)生較難留下深刻印象,也不能很好地理解硬件和軟件的配套關(guān)系,因此我要求學(xué)生在完成實(shí)驗(yàn)的基礎(chǔ)上,對(duì)實(shí)驗(yàn)進(jìn)行修改,例如當(dāng)?shù)刂肪€重新連接后,端口地址如何變化;如何修改程序,實(shí)現(xiàn)一個(gè)開關(guān)控制8個(gè)燈的亮滅。學(xué)生通過自己思考,動(dòng)手實(shí)踐,實(shí)現(xiàn)功能,從而留下深刻印象,加深了對(duì)知識(shí)的理解,教學(xué)效果也圓滿實(shí)現(xiàn)。對(duì)于實(shí)驗(yàn)教學(xué),我們應(yīng)在做好驗(yàn)證性實(shí)驗(yàn)的基礎(chǔ)上,多挖掘?qū)嶒?yàn)儀器的潛力,多讓學(xué)生思考,多做一些有設(shè)計(jì)環(huán)節(jié)的實(shí)驗(yàn),從而提高學(xué)生的實(shí)踐能力。
4 合理安排課時(shí),考核時(shí)注意知識(shí)點(diǎn)的傾向性
適當(dāng)調(diào)整教學(xué)內(nèi)容講授的次序和學(xué)時(shí)分布,講授內(nèi)容有所側(cè)重,建立一個(gè)合理的教學(xué)體系。由于匯編語言在微機(jī)原理這門課程中主要是起到一門工具性語言的作用,即很多微機(jī)原理的知識(shí)需要通過匯編編程加以體現(xiàn),因此在匯編語言的教學(xué)過程中,不要過于強(qiáng)調(diào)如何解決那些計(jì)算機(jī)高級(jí)語言擅長解決的軟件問題,這本來就不是匯編擅長的領(lǐng)域。匯編的教學(xué)中只要求學(xué)生熟悉匯編語言指令的基本功能及使用要求,熟悉匯編語言解決問題的思路即可,不要花費(fèi)過多的時(shí)間,應(yīng)將教學(xué)的側(cè)重點(diǎn)放在匯編語言與微機(jī)原理的結(jié)合處,主要是對(duì)芯片控制的編程。在考核的內(nèi)容上,也應(yīng)側(cè)重于匯編語言在解決硬件相關(guān)問題的作用,從而引導(dǎo)學(xué)生的學(xué)習(xí)方向。
通過對(duì)匯編語言和微機(jī)原理整合課程的教學(xué)改革,使學(xué)生對(duì)該課程產(chǎn)生了更濃厚的學(xué)習(xí)興趣,取得了較顯著的教學(xué)成果,同時(shí)也還存在一些不完善的地方,需要在以后的教學(xué)實(shí)踐中不斷改善。
注釋
①許穎梅.對(duì)匯編語言和微機(jī)原理課程整合的探討[J].福建電腦,2007.1.
②楊季文.80X86匯編語言程序設(shè)計(jì)教程[M].北京:清華大學(xué)出版社,2004.
③趙樹升,趙雪梅.現(xiàn)代微機(jī)原理及接口技術(shù)[M].北京:清華大學(xué)出版社,2008.
④馬浩.淺談微機(jī)原理與匯編語言教學(xué)改革[J].科技創(chuàng)新導(dǎo)報(bào),2009.17.
⑤周荷琴,吳秀清.微型計(jì)算機(jī)原理與接口技術(shù)(第三版)[M].合肥:中國科技大學(xué)出版社,2004.
⑥馮博琴,吳寧.微型計(jì)算機(jī)原理與接口技術(shù)(第2版)[M].北京:清華大學(xué)出版社,2007.