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