趙燕萍 (呂梁學(xué)院計(jì)算機(jī)系, 山西 呂梁 033000)
《匯編語(yǔ)言技術(shù)》課程教學(xué)改革探討
趙燕萍 (呂梁學(xué)院計(jì)算機(jī)系, 山西 呂梁 033000)
《匯編語(yǔ)言技術(shù)》課程是計(jì)算機(jī)和通信等專(zhuān)業(yè)的基礎(chǔ)課程。針對(duì)該課程教學(xué)中的存在問(wèn)題進(jìn)行分析,并結(jié)合教學(xué)實(shí)踐提出了相應(yīng)教學(xué)改革措施。
匯編語(yǔ)言技術(shù);課程建設(shè);教學(xué)改革
《匯編語(yǔ)言技術(shù)》是計(jì)算機(jī)、通信等電子技術(shù)類(lèi)專(zhuān)業(yè)的基礎(chǔ)課程。由于該課程的概念多而抽象,瑣碎的語(yǔ)法規(guī)則難于記憶,因而學(xué)生學(xué)習(xí)時(shí)感到枯燥乏味,最終導(dǎo)致教學(xué)效果不佳。如何提高該課程的教學(xué)質(zhì)量,是當(dāng)前亟待解決的問(wèn)題。為此,筆者結(jié)合教學(xué)實(shí)踐提出了相應(yīng)教學(xué)改革措施。
1.1學(xué)生積極性不高
因?yàn)閰R編語(yǔ)言是面向機(jī)器的低級(jí)語(yǔ)言, 是機(jī)器語(yǔ)言的符號(hào)化,它的語(yǔ)句是易于機(jī)器理解,卻不宜于人的理解,需要學(xué)生具有更加扎實(shí)的計(jì)算機(jī)硬件知識(shí)。由于該課程的概念多而抽象,瑣碎的語(yǔ)法規(guī)則難于記憶,因而學(xué)生學(xué)習(xí)時(shí)感到枯燥乏味。此外,8086/8088 匯編語(yǔ)言程序中程序結(jié)構(gòu)不明顯, 不宜于學(xué)生編程,執(zhí)行的結(jié)果也不能像高級(jí)語(yǔ)言編寫(xiě)的程序一樣直觀(guān),這使得學(xué)生在學(xué)習(xí)時(shí)沒(méi)有很高的積極性。
1.2實(shí)踐環(huán)節(jié)的界面單一
面對(duì)高級(jí)語(yǔ)言可視化的迅猛發(fā)展,匯編語(yǔ)言的實(shí)踐環(huán)境就顯得格外單調(diào)。匯編語(yǔ)言的傳統(tǒng)實(shí)踐界面是在DOS 環(huán)境下,這種純指令環(huán)境對(duì)于已經(jīng)習(xí)慣點(diǎn)擊鼠標(biāo)的學(xué)生確實(shí)是一個(gè)很大的難題,這樣會(huì)讓他們產(chǎn)生一些畏難情緒,所以在實(shí)踐課上的積極性也會(huì)大減。由于只能用鍵盤(pán)輸入指令,在實(shí)踐課上還需要實(shí)時(shí)地教授、講解一些DOS 環(huán)境下的經(jīng)常用到的簡(jiǎn)單命令,這也就無(wú)形中加重了教師的工作量,使師生無(wú)法專(zhuān)注于匯編語(yǔ)言的學(xué)習(xí)。
1.3與高級(jí)語(yǔ)言的融合欠缺
由于學(xué)習(xí)匯編語(yǔ)言需要一定的計(jì)算機(jī)硬件知識(shí),所以一般高校里在開(kāi)設(shè)這門(mén)課程之前,學(xué)生已經(jīng)學(xué)習(xí)了至少一門(mén)高級(jí)語(yǔ)言。但是,由于匯編語(yǔ)言和高級(jí)語(yǔ)言的語(yǔ)句意義、編程技巧和思路都有很大的區(qū)別,教師在講授課程時(shí)往往很少提及高級(jí)語(yǔ)言,這使得學(xué)生把匯編語(yǔ)言和高級(jí)語(yǔ)言的學(xué)習(xí)完全割裂開(kāi),這對(duì)于學(xué)生學(xué)習(xí)該課程是不利的。
2.1從實(shí)模式到保護(hù)模式編程結(jié)構(gòu)的改變
目前大部分高校的匯編語(yǔ)言教學(xué)仍然以16位8086 CPU指令系統(tǒng)、基本匯編語(yǔ)言知識(shí)和程序結(jié)構(gòu)作為基本教學(xué)內(nèi)容。16位機(jī)只有實(shí)模式,其匯編語(yǔ)言的編程結(jié)構(gòu)只涉及CPU、內(nèi)存和I/O子系統(tǒng)3部分,其內(nèi)容較為簡(jiǎn)潔?;?0x86的32位機(jī)的編程結(jié)構(gòu)有3種工作模式,即實(shí)模式、保護(hù)模式和虛擬8086模式,上述工作模式的編程結(jié)構(gòu)存在較大差異[1]。除系統(tǒng)初始化時(shí)刻外,機(jī)器已很少工作在實(shí)模式下。保護(hù)模式已成為當(dāng)前個(gè)人計(jì)算機(jī)的主要工作模式,普遍使用的個(gè)人操作系統(tǒng)Windows XP和Vista/7均工作在保護(hù)模式下。因此,在教學(xué)中應(yīng)首先講授實(shí)模式的編程結(jié)構(gòu),再介紹保護(hù)模式的編程結(jié)構(gòu),這樣學(xué)生感覺(jué)新穎,容易接受,從而提高學(xué)習(xí)興趣。
2.2引入保護(hù)模式下尋址方式內(nèi)容
熟練掌握尋址方式是靈活使用指令的基本功。16位機(jī)的尋址方式只有7種,其最大缺點(diǎn)是對(duì)32位機(jī)的支持性差,把尋址方式從16位機(jī)提升到32位機(jī)。這種提升主要表現(xiàn)在2個(gè)方面:①增加尋址方式類(lèi)型。即在原有7種尋址方式的基礎(chǔ)上增加了比例變址尋址方式、基址比例變址尋址方式和相對(duì)基址比例變址尋址方式,從而使32位機(jī)的尋址方式的類(lèi)型達(dá)到了10種。②增加了數(shù)據(jù)寬度。即32位機(jī)可以使用10種尋址方式中的任何一種,可一次處理32位操作數(shù)。而16位機(jī)使用同樣的尋址方式處理32位數(shù),必須將其分成2個(gè)16位數(shù),增加了處理的次數(shù)。尋址方式的類(lèi)型增多,說(shuō)明指令的功能在增強(qiáng),特別是32位機(jī)新增的帶比例因子的3種尋址方式對(duì)于內(nèi)存中32位的操作數(shù)和64位的操作數(shù)存取異常犀利,只需一個(gè)總線(xiàn)周期,遠(yuǎn)遠(yuǎn)優(yōu)于其他的尋址方式。32位操作數(shù)及64位操作數(shù)都是目前主流計(jì)算機(jī)廣泛采用的操作數(shù),處理這些操作數(shù)的指令幾乎全部使用32位機(jī)新增的3種帶比例因子的尋址方式[2]。
2.3擴(kuò)充保護(hù)模式下指令系統(tǒng)內(nèi)容
基于Intel 8086/8088 CPU的指令系統(tǒng)主要是數(shù)據(jù)傳送類(lèi)、算術(shù)運(yùn)算類(lèi)、邏輯運(yùn)算類(lèi)、控制轉(zhuǎn)移類(lèi)、串處理類(lèi)、處理機(jī)處理類(lèi),32位機(jī)在此基礎(chǔ)上,對(duì)指令系統(tǒng)進(jìn)行了提升,增加了許多專(zhuān)為32位機(jī)及系統(tǒng)工作模式而設(shè)計(jì)的指令。同樣的操作,用32位機(jī)的專(zhuān)用指令去實(shí)現(xiàn),借助于升級(jí)的編程結(jié)構(gòu)及尋址方式,其源代碼的數(shù)量、速度、占用的內(nèi)存資源都比16位機(jī)有質(zhì)的飛躍。
不應(yīng)從純軟件角度理解《匯編語(yǔ)言技術(shù)》的教學(xué),這樣的教學(xué)也就沒(méi)有體現(xiàn)匯編語(yǔ)言面向處理器、直接控制硬件的特點(diǎn)。通過(guò)匯編語(yǔ)言理解計(jì)算機(jī)工作原理也就很難做到。這顯然曲解了《匯編語(yǔ)言技術(shù)》的實(shí)質(zhì),是不可取的。匯編語(yǔ)言的主要優(yōu)點(diǎn)就是可以直接控制計(jì)算機(jī)硬件部件,可以編寫(xiě)在“時(shí)間”和“空間”2方面最有效的程序。
不管是從理解計(jì)算機(jī)工作原理角度,還是從匯編語(yǔ)言程序設(shè)計(jì)角度,處理器指令都是重點(diǎn)與難點(diǎn)之一。應(yīng)該要求學(xué)生理解常用指令與偽指令的功能,但是這部分內(nèi)容往往又是最枯燥、耗時(shí)最多,學(xué)生難以熟練運(yùn)用的難點(diǎn)。所以在具體的教學(xué)改革中,如何能夠激發(fā)起學(xué)生強(qiáng)烈的學(xué)習(xí)欲望,是值得深思熟慮。
以前所使用的大部分匯編語(yǔ)言教材都將DOS和ROM-BIOS系統(tǒng)功能調(diào)用編排到后面的章節(jié)中,但是學(xué)生在學(xué)習(xí)指令系統(tǒng)與尋址方式中如果沒(méi)有系統(tǒng)功能調(diào)用的練習(xí),例如輸入、輸出,就對(duì)指令的認(rèn)識(shí)更茫然。由于匯編程序本身沒(méi)有提供任何函數(shù)等功能,因而應(yīng)該將掌握系統(tǒng)功能調(diào)用作為一個(gè)基本教學(xué)要求,況且系統(tǒng)功能調(diào)用更能激發(fā)學(xué)生的學(xué)習(xí)興趣,可以用來(lái)編寫(xiě)有顯示信息、有趣味性的程序。事實(shí)上,任何一個(gè)編程語(yǔ)言在進(jìn)行程序設(shè)計(jì)中都要涉及調(diào)用操作系統(tǒng)資源的問(wèn)題。
由于學(xué)生生源水平下降,本科階段匯編語(yǔ)言的實(shí)際應(yīng)用有限,課時(shí)不夠充足,所以目前采取重點(diǎn)講解8088/8086基本指令系統(tǒng),講重點(diǎn)、關(guān)鍵技術(shù),其他留給學(xué)生自學(xué),留給學(xué)生通過(guò)實(shí)驗(yàn)來(lái)掌握。教師主要起引導(dǎo)的作用,即圍繞程序設(shè)計(jì)的關(guān)鍵技術(shù)精講多練。在教學(xué)手段方面,可以根據(jù)課程特點(diǎn),采用多種方法和多種媒體進(jìn)行教學(xué)。在課堂教學(xué)中,以PPT為講課提綱,配合指令系統(tǒng)的動(dòng)畫(huà)CAI,使課堂教學(xué)生動(dòng)形象。此外,要充分發(fā)揮現(xiàn)代信息技術(shù)在教學(xué)中的作用,建立相關(guān)的教學(xué)網(wǎng)站,為學(xué)生提供大量的學(xué)習(xí)資料,例如教學(xué)計(jì)劃、教學(xué)大綱、教學(xué)日歷、電子教案、實(shí)驗(yàn)指導(dǎo)、課后習(xí)題、作業(yè)解答、參考文獻(xiàn)等相關(guān)教學(xué)資源,從而為師生搭建一個(gè)良好的網(wǎng)絡(luò)教學(xué)平臺(tái)。
可以將實(shí)驗(yàn)教學(xué)內(nèi)容分為2個(gè)層次。首先是基礎(chǔ)與驗(yàn)證型實(shí)驗(yàn),該類(lèi)實(shí)驗(yàn)主要涉及課程的相關(guān)知識(shí)點(diǎn),實(shí)驗(yàn)?zāi)康氖鞘箤W(xué)生驗(yàn)證、理解、鞏固并掌握課內(nèi)所要求的基本教學(xué)內(nèi)容;其次是設(shè)計(jì)與開(kāi)發(fā)型實(shí)驗(yàn),該類(lèi)實(shí)驗(yàn)以“任務(wù)”或“課題”形式提出實(shí)驗(yàn)要求和具體的實(shí)驗(yàn)?zāi)康模髮W(xué)生通過(guò)有關(guān)課程或自學(xué)方式,掌握實(shí)驗(yàn)所涉及到的知識(shí),通過(guò)綜合利用這些知識(shí)來(lái)設(shè)計(jì)、開(kāi)發(fā)并最終完成實(shí)驗(yàn)項(xiàng)目。該類(lèi)實(shí)驗(yàn)旨在培養(yǎng)學(xué)生綜合應(yīng)用計(jì)算機(jī)知識(shí)與技術(shù)的能力,培養(yǎng)學(xué)生帶著問(wèn)題自主學(xué)習(xí)的能力。通過(guò)實(shí)驗(yàn),能使學(xué)生容易理解和掌握所學(xué)書(shū)本知識(shí),鍛煉和提高學(xué)生解決實(shí)際問(wèn)題的能力。《匯編語(yǔ)言技術(shù)》是一門(mén)實(shí)踐性很強(qiáng)的課程,它要求學(xué)生掌握源程序的編輯、匯編、連接和調(diào)試的開(kāi)發(fā)過(guò)程。應(yīng)通過(guò)運(yùn)用現(xiàn)代化教學(xué)手段壓縮課堂教學(xué)時(shí)間,同時(shí)加大上機(jī)實(shí)踐時(shí)間。教學(xué)過(guò)程中,應(yīng)該體現(xiàn)通過(guò)實(shí)際編程理解指令功能和程序設(shè)計(jì)方法,編程練習(xí)應(yīng)盡量選擇能夠正確執(zhí)行并具有一定輸出結(jié)果的源程序。由于學(xué)生不熟悉DOS操作系統(tǒng),不習(xí)慣單調(diào)的命令行操作方式,調(diào)試程序成了實(shí)踐當(dāng)中的一個(gè)難點(diǎn)。實(shí)際上,調(diào)試程序的應(yīng)用可以進(jìn)入教學(xué)過(guò)程中,從開(kāi)始學(xué)習(xí)尋址方式和指令系統(tǒng)時(shí)引入,學(xué)生通過(guò)調(diào)試程序的匯編A、反匯編U、寄存器R、內(nèi)存顯示D、單步執(zhí)行T等命令理解和掌握指令功能,同時(shí)在這些操作中自然就掌握了調(diào)試程序[3]。另外,調(diào)試程序還可以進(jìn)行可執(zhí)行程序的調(diào)試,這也是一個(gè)應(yīng)該引起足夠重視的方面。不應(yīng)只要求學(xué)生掌握源程序的開(kāi)發(fā),而忽略可執(zhí)行程序的調(diào)試過(guò)程。因?yàn)檫@個(gè)調(diào)試過(guò)程是檢查、排除錯(cuò)誤,尤其是運(yùn)行錯(cuò)誤的關(guān)鍵,同時(shí)也是掌握匯編語(yǔ)言、學(xué)習(xí)調(diào)試程序的過(guò)程。
針對(duì)《匯編語(yǔ)言技術(shù)》課程教學(xué)中的存在問(wèn)題進(jìn)行分析,并結(jié)合教學(xué)實(shí)踐提出了相應(yīng)教學(xué)改革措施。教學(xué)實(shí)踐表明,采取上述措施后,能夠使學(xué)生系統(tǒng)而全面地掌握匯編語(yǔ)言的編程方法,可以培養(yǎng)學(xué)生扎實(shí)的理論基礎(chǔ)和良好的實(shí)際應(yīng)用能力,因而受到學(xué)生的歡迎。
[1]沈美明,溫冬嬋. IBM PC 匯編語(yǔ)言程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2010.
[2]張海燕.“匯編語(yǔ)言程序設(shè)計(jì)”課程教學(xué)方法的探討[J].計(jì)算機(jī)教育,2011(7):25-27.
[3]劉輝.編語(yǔ)言實(shí)驗(yàn)教學(xué)探索[J].計(jì)算機(jī)教育,2008(4):33-34.
[編輯] 李啟棟
10.3969/j.issn.1673-1409(N).2012.02.051
N4
A
1673-1409(2012)02-N148-03
2011-11-29
趙燕萍(1977-),女, 2000年大學(xué)畢業(yè),講師,現(xiàn)主要從事計(jì)算機(jī)應(yīng)用方面的教學(xué)與研究工作。