匯編語言程序設(shè)計(jì)課程改革的幾個(gè)問題
發(fā)布時(shí)間:2019-08-06 來源: 短文摘抄 點(diǎn)擊:
摘要:從匯編語言程序設(shè)計(jì)在計(jì)算機(jī)相關(guān)專業(yè)課程體系中的地位與作用出發(fā),說明在新形勢下繼續(xù)開設(shè)這門課程的一些基本問題,包括地位與作用、定位與內(nèi)容、重點(diǎn)與難點(diǎn)以及方法與評(píng)價(jià)等,闡述在教學(xué)中應(yīng)當(dāng)采取怎樣的對(duì)策以解決這類問題。
關(guān)鍵詞:匯編語言;程序設(shè)計(jì);課程改革
引 言
匯編語言程序設(shè)計(jì)作為一門獨(dú)立的課程在誕生之初,一直是各高校計(jì)算機(jī)專業(yè)的一門專業(yè)必修課。近年來,國內(nèi)一些高校(尤其是重點(diǎn)高校)的計(jì)算機(jī)相關(guān)專業(yè)在進(jìn)行培養(yǎng)方案修訂時(shí),大都對(duì)這門課程做了較大調(diào)整。有些學(xué)校將其由必修課改成選修課,有些學(xué)校將其課時(shí)做了較大壓縮,有些學(xué)校甚至干脆取消這門課。
1 地位與作用問題
匯編語言程序設(shè)計(jì)在所有專業(yè)課(含專業(yè)基礎(chǔ)課)中具有獨(dú)特的地位與作用。一直以來,計(jì)算機(jī)及其應(yīng)用系統(tǒng)的構(gòu)成基本上分為硬件和軟件兩大塊,計(jì)算機(jī)相關(guān)專業(yè)所涵蓋的學(xué)科理論知識(shí)與工程技術(shù)也相應(yīng)地分為硬件和軟件兩大塊。受此影響,在人才培養(yǎng)實(shí)踐中,計(jì)算機(jī)相關(guān)專業(yè)所開沒的基礎(chǔ)課程也主要圍繞這兩大塊展開。硬件主要有電子技術(shù)基礎(chǔ)、數(shù)字邏輯、計(jì)算機(jī)組成原理、系統(tǒng)結(jié)構(gòu)等,而軟件主要有數(shù)據(jù)結(jié)構(gòu)、高級(jí)語言程序設(shè)計(jì)、操作系統(tǒng)、數(shù)據(jù)庫等。
從硬件和軟件的關(guān)系看,計(jì)算機(jī)及其應(yīng)用系統(tǒng)的工作以硬件為基礎(chǔ),卻以軟件為動(dòng)力,硬件和軟件密不可分,硬件要靠軟件驅(qū)動(dòng)。一般而言,以計(jì)算機(jī)系統(tǒng)為核心的應(yīng)用開發(fā)必須是硬件開發(fā)和軟件開發(fā)同時(shí)伴隨,因此有些課程注定要同時(shí)圍繞硬件和軟件兩方面展開,如匯編語言程序設(shè)計(jì)、接口技術(shù)、單片機(jī)、嵌入式系統(tǒng)等。
在所有這些軟件和硬件緊密結(jié)合的課程中,匯編語言程序設(shè)計(jì)又是基礎(chǔ)課。通過學(xué)習(xí)匯編語言程序設(shè)計(jì),學(xué)生不僅可以更加透徹地理解在其他課程中學(xué)習(xí)過的有關(guān)知識(shí),更加深入地了解計(jì)算機(jī)系統(tǒng)的內(nèi)部工作機(jī)制,而且能為后續(xù)接口技術(shù)、單片機(jī)、嵌入式系統(tǒng)等課程的學(xué)習(xí)打下堅(jiān)實(shí)基礎(chǔ)。
總之,匯編語言程序設(shè)計(jì)把硬件和軟件有機(jī)地緊密結(jié)合在一起,能讓學(xué)生對(duì)傳統(tǒng)意義上的兩大塊有一個(gè)更全面同時(shí)也更深入的認(rèn)識(shí)和理解。鑒于以上認(rèn)識(shí),筆者認(rèn)為各高校計(jì)算機(jī)相關(guān)專業(yè)在進(jìn)行培養(yǎng)方案修訂時(shí)不宜完全取消匯編語言程序設(shè)計(jì)這門課程。
2 定位與內(nèi)容問題
程序設(shè)計(jì)語言經(jīng)歷了機(jī)器語言、匯編語言、高級(jí)語言等發(fā)展階段。從編程效率看,匯編語言不及高級(jí)語言,但從語言的整體功能看,匯編語言比高級(jí)語言要強(qiáng),通俗點(diǎn)說就是指高級(jí)語言能做到的事,匯編語言都能做到,但反過來則未必。
高級(jí)語言程序設(shè)計(jì)的主要內(nèi)容包括兩部分:高級(jí)語言和程序設(shè)計(jì)。匯編語言程序設(shè)計(jì)也不例外,其主要內(nèi)容也由兩部分構(gòu)成:匯編語言和程序設(shè)計(jì)。事實(shí)上,不管學(xué)習(xí)什么語言程序設(shè)計(jì),主要內(nèi)容就是兩個(gè):程序設(shè)計(jì)的基本思想方法和語言本身。
由于語言只是程序的載體,是程序設(shè)計(jì)的工具,因此第1個(gè)內(nèi)容即程序設(shè)計(jì)的思想方法是相通的。鑒于此,匯編語言程序設(shè)計(jì)的教學(xué)應(yīng)該以匯編語言本身為重點(diǎn),即匯編語言為程序設(shè)計(jì)提供的各個(gè)元素及其應(yīng)用,內(nèi)容應(yīng)該包括數(shù)據(jù)表示、數(shù)據(jù)安排、尋址方式、指令系統(tǒng)、程序結(jié)構(gòu)、流程控制、參數(shù)傳遞、中斷調(diào)用、數(shù)據(jù)處理等;而其定位應(yīng)該是讓學(xué)生掌握最基本的知識(shí)和能力,一方面讓學(xué)生通過學(xué)習(xí)匯編語言深入理解計(jì)算機(jī)系統(tǒng)內(nèi)部的工作機(jī)制,另一方面能讓學(xué)生在必要時(shí)借助匯編語言彌補(bǔ)高級(jí)語言的功能性不足。
3 重點(diǎn)與難點(diǎn)問題
3.1 數(shù)據(jù)表示問題
計(jì)算機(jī)的基本功能就是加工處理數(shù)據(jù),數(shù)據(jù)需要存放到計(jì)算機(jī)系統(tǒng)中。實(shí)際應(yīng)用中的數(shù)據(jù)豐富多彩,具有各種不同的類型;而計(jì)算機(jī)中的數(shù)據(jù)則單調(diào)得多。應(yīng)用中各種不同類型的數(shù)據(jù)如何在計(jì)算機(jī)中以恰當(dāng)?shù)男问奖硎境鰜,就是程序設(shè)計(jì)面臨的首要問題。
數(shù)據(jù)在計(jì)算機(jī)中的表示有多種方法,不同方法有各自的優(yōu)缺點(diǎn),適用于不同的應(yīng)用要求。基本上來說,計(jì)算機(jī)系統(tǒng)對(duì)數(shù)據(jù)的加工處理主要是數(shù)據(jù)運(yùn)算和數(shù)據(jù)輸入輸出。為了節(jié)約存儲(chǔ)空間,我們一般比較喜歡2進(jìn)制代碼長度比較小即2進(jìn)制代碼比較短的表示方法。在2進(jìn)制代碼長度方面,數(shù)值數(shù)據(jù)的代碼表示一般不如其2進(jìn)制表示。
計(jì)算機(jī)對(duì)數(shù)值數(shù)據(jù)最重要的加工處理就是算術(shù)運(yùn)算,為了方便運(yùn)算,我們比較喜歡2進(jìn)制表示,即在運(yùn)算方面數(shù)值數(shù)據(jù)的2進(jìn)制表示要優(yōu)于其代碼表示。采用2進(jìn)制表示的主要問題是溢出,但這同時(shí)也是代碼表示的主要問題之一。此外,代碼表示即使沒有溢出,也可能得到錯(cuò)誤的結(jié)果。計(jì)算機(jī)對(duì)數(shù)據(jù)進(jìn)行加T處理時(shí),加工處理之前要輸入原始數(shù)據(jù),加工處理之后要輸出結(jié)果數(shù)據(jù),我們當(dāng)然希望采用比較有利于輸入/輸出的表示法。在這方面,數(shù)據(jù)的代碼表示要比其2進(jìn)制表示好。
代碼形式的數(shù)據(jù)在輸入/輸出時(shí)只需要采用簡單的移位操作即可實(shí)現(xiàn),因?yàn)槊恳晃簧系臄?shù)都有同樣長度的代碼,而且數(shù)據(jù)在輸入/輸出時(shí)本身就是通過代碼進(jìn)行標(biāo)識(shí)。例如,在西文環(huán)境中普遍采用ASCII碼標(biāo)識(shí)每一個(gè)常用字符,因此ASCII碼形式的數(shù)值數(shù)據(jù)在輸入/輸出時(shí)特別有優(yōu)勢:輸出時(shí)只需要8位8位的進(jìn)行分割,就可以得到每一位上的數(shù),而且不需要做任何轉(zhuǎn)換就可以送往輸出設(shè)備輸出;輸入時(shí)不需要做任何轉(zhuǎn)換,只需要8位8位的進(jìn)行拼接,就可以得到整個(gè)數(shù)。如果是2進(jìn)制形式,則要麻煩得多:輸出時(shí)需要通過除法等分離出每一位上的數(shù),然后轉(zhuǎn)換成ASCII碼后才能送往輸出設(shè)備輸出;輸入時(shí)需要將ASCII碼轉(zhuǎn)換成對(duì)應(yīng)的一位數(shù),然后通過乘法和加法等拼成一個(gè)整體。
總之,學(xué)生要學(xué)會(huì)在深刻理解并熟練掌握各種數(shù)據(jù)表示方法的基礎(chǔ)上,善于根據(jù)需要靈活選擇合適的數(shù)據(jù)表示方法。這一部分的教學(xué)內(nèi)容主要是介紹基本的數(shù)據(jù)表示方法及各自的優(yōu)缺點(diǎn),尤其注重學(xué)生對(duì)各種表示方法的理解。
3.2 尋址方式問題
計(jì)算機(jī)的工作由程序驅(qū)動(dòng),而概括地說,程序又是加工處理數(shù)據(jù)的。不管是程序加丁.處理的數(shù)據(jù),還是程序本身,在程序執(zhí)行時(shí)都要存放到仔儲(chǔ)器巾。
程序在執(zhí)行過程中,需要不斷地從存儲(chǔ)器中取指令和數(shù)據(jù),往存儲(chǔ)器中存數(shù)據(jù),這就面臨一個(gè)非常重要的問題——尋址。從應(yīng)用層面看,程序有結(jié)構(gòu)問題:順序結(jié)構(gòu)、分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)等;而數(shù)據(jù)也有結(jié)構(gòu)問題:一維結(jié)構(gòu)、二維結(jié)構(gòu)、三維結(jié)構(gòu)等。不同的程序結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)對(duì)尋址方式的要求不一樣,為了滿足這種差異性,系統(tǒng)必須提供多種不同的尋址方式。
相關(guān)熱詞搜索:幾個(gè)問題 課程改革 匯編 語言程序設(shè)計(jì)
熱點(diǎn)文章閱讀