国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

“匯編語(yǔ)言程序設(shè)計(jì)”教學(xué)方法研討

2018-02-22 12:32李紅剛殷立新李紅彪
無(wú)線互聯(lián)科技 2018年23期
關(guān)鍵詞:匯編語(yǔ)言實(shí)踐教學(xué)方法

李紅剛 殷立新 李紅彪

摘 要:“匯編語(yǔ)言程序設(shè)計(jì)”是我國(guó)高校計(jì)算機(jī)專業(yè)一門重要的專業(yè)課程,是一門軟硬件并重的課程。該課程在學(xué)習(xí)上存在著一定的難度,如何調(diào)動(dòng)學(xué)生對(duì)匯編語(yǔ)言的學(xué)習(xí)興趣,提高學(xué)習(xí)的效果,在文章中總結(jié)一些心得體會(huì),希望與大家共同探討。

關(guān)鍵詞:匯編語(yǔ)言;教學(xué)方法;實(shí)踐

“匯編語(yǔ)言程序設(shè)計(jì)”課程是計(jì)算機(jī)及相關(guān)專業(yè)開設(shè)的一門重要的專業(yè)課程,許多大學(xué)都開設(shè)此課程。匯編語(yǔ)言還是學(xué)習(xí)“編譯原理”“微機(jī)原理”“操作系統(tǒng)”等課程的前序課程。當(dāng)今,越來越廣泛地使用高級(jí)程序語(yǔ)言,導(dǎo)致許多學(xué)生沒有學(xué)習(xí)匯編語(yǔ)言的積極性和動(dòng)力,因?yàn)閷W(xué)生普遍認(rèn)為學(xué)習(xí)匯編語(yǔ)言沒有用武之地。其實(shí),匯編語(yǔ)言是一種能夠充分發(fā)揮計(jì)算機(jī)硬件特性的高效語(yǔ)言,會(huì)經(jīng)常出現(xiàn)在一些特殊的場(chǎng)合,比如數(shù)據(jù)加密、解密、分析和防患病毒攻擊等。而且,學(xué)習(xí)匯編語(yǔ)言可以有助于學(xué)生更好地掌握計(jì)算機(jī)工作的原理,可以提高學(xué)生分析、解決實(shí)際問題的能力。匯編語(yǔ)言是面向機(jī)器的低級(jí)語(yǔ)言,是離計(jì)算機(jī)硬件最近的編程語(yǔ)言,具有執(zhí)行效率高的特點(diǎn)[1]。但由于匯編語(yǔ)言是面向機(jī)器的,必須對(duì)計(jì)算機(jī)有相當(dāng)深入的了解,才能使用匯編語(yǔ)言進(jìn)行程序設(shè)計(jì)。匯編語(yǔ)言由于指令多,有近百條指令,語(yǔ)法規(guī)則嚴(yán)格,同時(shí)還要熟悉硬件結(jié)構(gòu),學(xué)習(xí)過程抽象,學(xué)生普遍反映匯編語(yǔ)言難學(xué),難以產(chǎn)生學(xué)習(xí)興趣。如何較好地解決這些問題呢?在多年的實(shí)踐教學(xué)過程中,我們總結(jié)、實(shí)施了一些教學(xué)方法,取得了較好的效果。

1 學(xué)會(huì)使用Debug調(diào)試工具

Debug調(diào)試工具是Windows操作系統(tǒng)自帶的調(diào)試工具。在Debug調(diào)試工具中,根據(jù)逐條執(zhí)行每條匯編指令,大家可以看到每條指令的執(zhí)行結(jié)果,以及對(duì)各個(gè)標(biāo)志寄存器的影響以及存儲(chǔ)器單元的變化,學(xué)生因此清楚了解指令下的執(zhí)行步驟和作用。學(xué)會(huì)使用Debug調(diào)試工具執(zhí)行程序段,通過依靠Debug提供的指令來查看存儲(chǔ)單元的變化[2]。

例如,執(zhí)行以下指令后AX寄存器的內(nèi)容是什么?

TABLE DW 20,30,40,50,60

...

MOV AX,[BX]

在得到答案后,我們?cè)趺床拍艽_定自己的答案是否正確呢?我們可以在Debug調(diào)試工具中執(zhí)行完這幾條指令,然后通過查看AX寄存器中的內(nèi)容就可以知道自己所得的答案是否正確了。問題的重點(diǎn)是在于調(diào)試工具Debug不能直接表示符號(hào)地址,那么如何表示出符號(hào)地址呢,我們可以通過替換的方式來實(shí)現(xiàn),先換為具體的存儲(chǔ)器的地址,等執(zhí)行完對(duì)應(yīng)的指令之后,去具體的存儲(chǔ)器查看數(shù)據(jù),從而判斷出答案對(duì)錯(cuò)與否。通過以上步驟,學(xué)生可以充分掌握匯編語(yǔ)言的直接尋址和寄存器間接尋址之間的區(qū)別以及操作數(shù)和地址之間的關(guān)系[3]。

2 通過植入錯(cuò)誤,提高調(diào)試經(jīng)驗(yàn)

由于匯編語(yǔ)言采取英文助記符的形式,與高級(jí)語(yǔ)言相比可讀性較差,因此,匯編語(yǔ)言源程序的調(diào)試比高級(jí)語(yǔ)言程序調(diào)試更加困難。在調(diào)試程序的時(shí)候,雖然系統(tǒng)會(huì)給出錯(cuò)誤提示,但是由于錯(cuò)誤提示是英文提示,很多同學(xué)由于缺乏專業(yè)英語(yǔ)的基礎(chǔ),不明白這些提示的含義,更不知道如何處理這些錯(cuò)誤。因此,為了讓學(xué)生積累調(diào)試程序的經(jīng)驗(yàn),我們采用植入錯(cuò)誤的方法。寫一個(gè)簡(jiǎn)單的程序,在里面設(shè)置一些典型的語(yǔ)法或邏輯錯(cuò)誤,讓學(xué)生對(duì)其進(jìn)行調(diào)試和修改。通過逐步引導(dǎo)學(xué)生對(duì)一些典型的錯(cuò)誤建立良好的認(rèn)知,讓學(xué)生在錯(cuò)誤中不斷積累調(diào)試經(jīng)驗(yàn),并通過成功調(diào)試而獲得成就感,從而激發(fā)學(xué)生的學(xué)習(xí)興趣[4]。

3 從細(xì)節(jié)入手,不放過一個(gè)細(xì)節(jié)

例如,當(dāng)教師講授匯編語(yǔ)言程序設(shè)計(jì)課程中地址的概念的時(shí)候,由于匯編語(yǔ)言使用分段編程,每個(gè)存儲(chǔ)空間對(duì)應(yīng)一個(gè)20位的物理地址,用邏輯地址表示實(shí)際尋址中20位的物理地址,把它分為段地址和偏移地址。當(dāng)段地址和偏移地址形成物理地址時(shí),段地址向左移位4位,即乘以16后加上偏移地址。這導(dǎo)致兩個(gè)段彼此最接近,并且段地址僅相差一個(gè),然而實(shí)際物理地址上是相差16,也就是說,段的兩個(gè)最近段首地址之間的最小距離也是16個(gè)字節(jié)。每個(gè)段的大小應(yīng)該是16的整數(shù)倍,最小的段是16個(gè)字節(jié)。有些老師在講解這個(gè)知識(shí)點(diǎn)時(shí)都是一帶而過,沒有詳細(xì)地講述,學(xué)生在學(xué)習(xí)時(shí)會(huì)感到比較抽象,難以理解。因此,教師不能輕易放過這些細(xì)節(jié),而應(yīng)該只用1個(gè)字節(jié)定義一個(gè)數(shù)據(jù)段,然后在學(xué)生的調(diào)試命令中向?qū)W生展示該數(shù)據(jù)段實(shí)際占用的空間,學(xué)生可以明確地看到,雖然只有1個(gè)字節(jié)的數(shù)據(jù)段也要占用內(nèi)存空間的16個(gè)字節(jié)。講授內(nèi)容可以繼續(xù)引申,空間為17個(gè)字節(jié),實(shí)際占用的空間應(yīng)該為多少字節(jié)? 學(xué)生應(yīng)該不難得出結(jié)論17等于16加1,額外的1字節(jié)也占用16個(gè)字節(jié)的空間。因此,該段占用的實(shí)際空間應(yīng)為16加16,即32字節(jié)。

4 重視實(shí)踐,加強(qiáng)實(shí)驗(yàn)考核

要想學(xué)習(xí)好一門編程語(yǔ)言,盡可能多的編程實(shí)戰(zhàn)是必由之路。學(xué)習(xí)匯編語(yǔ)言也是這樣,作者認(rèn)為編程應(yīng)用有兩個(gè)層次,比較低的層次是在學(xué)校實(shí)驗(yàn)室中應(yīng)用的匯編語(yǔ)言,指的是匯編語(yǔ)言課程中經(jīng)典的編程項(xiàng)目和實(shí)驗(yàn)環(huán)節(jié);較高的層次是匯編語(yǔ)言在日常工作生活中的應(yīng)用,主要是指利用匯編語(yǔ)言解決實(shí)際生活中遇到的問題。匯編語(yǔ)言由于貼近硬件,對(duì)中斷以及外部設(shè)備的控制部分感覺很抽象,我們可以通過設(shè)置一些相關(guān)實(shí)驗(yàn),讓學(xué)生逐步對(duì)這一問題建立起較好的認(rèn)知。比如,模擬紅綠燈的實(shí)驗(yàn),先在計(jì)算機(jī)中編好匯編控制程序,然后在計(jì)算機(jī)的端口連接好8255等外部芯片,通過執(zhí)行匯編程序來控制外接燈的開關(guān)以及開關(guān)的時(shí)間,從而實(shí)現(xiàn)對(duì)紅綠燈的控制。通過設(shè)計(jì)這些實(shí)驗(yàn),學(xué)生不僅能清楚了解匯編語(yǔ)言對(duì)硬件的控制方式,還能產(chǎn)生學(xué)習(xí)匯編語(yǔ)言的濃厚興趣。再者,將“匯編語(yǔ)言程序設(shè)計(jì)”與“單片機(jī)”“微機(jī)原理”等課程相結(jié)合開發(fā)出綜合性、設(shè)計(jì)性實(shí)驗(yàn)也有非常好的效果。

加強(qiáng)實(shí)驗(yàn)考核也是一個(gè)很有效的方法。通過學(xué)生的反饋以及多年積累的教學(xué)經(jīng)驗(yàn)來看,通過加強(qiáng)實(shí)驗(yàn)考核,對(duì)提高學(xué)生掌握好匯編語(yǔ)言很有效果。實(shí)踐考核考查的是比較理論和基本的內(nèi)容,通過實(shí)驗(yàn)考核使學(xué)生學(xué)會(huì)用盡可能多的方法去解決問題,開拓思路[5-6]。

5 對(duì)比學(xué)習(xí),聯(lián)系記憶,歸類總結(jié)

匯編語(yǔ)言編程的特點(diǎn)是簡(jiǎn)短而精確,程序的執(zhí)行效率非常高,源程序可以直接對(duì)應(yīng)于以前的機(jī)器語(yǔ)言,高級(jí)語(yǔ)言是不同的,并且在將其源程序編譯成可執(zhí)行文件之后,會(huì)生成冗余機(jī)器代碼。以最常用的“hello world!”程序?yàn)槔肅語(yǔ)言和匯編語(yǔ)言單獨(dú)編寫,再生成可執(zhí)行文件。相比之下,學(xué)生可以清楚地了解上述特征,從而對(duì)匯編語(yǔ)言有直觀和感性的理解,這可以激發(fā)學(xué)生學(xué)習(xí)匯編語(yǔ)言的興趣。

學(xué)習(xí)匯編語(yǔ)言時(shí),學(xué)生已經(jīng)具備了高級(jí)語(yǔ)言編程的良好基礎(chǔ),使用兩種語(yǔ)言比較方法。針對(duì)匯編語(yǔ)言指令多、規(guī)則多、不宜于記憶的特點(diǎn),采用聯(lián)系記憶法和歸類總結(jié)法[7-8]。例如,把幾個(gè)工作寄存器的使用方法與寄存器的英文聯(lián)系起來記憶,將具有類似功能的指令一起記憶等。通過對(duì)比學(xué)習(xí)方式和歸類總結(jié)法,可以直觀地看出匯編語(yǔ)言的特點(diǎn),從而幫助學(xué)生學(xué)習(xí)匯編語(yǔ)言課程。

6 結(jié)語(yǔ)

總的來說,我們一直在不斷地探索和研究“匯編語(yǔ)言程序設(shè)計(jì)”課程的教學(xué)改革,學(xué)校也是大力支持、提供方便條件,在培養(yǎng)方案制定、教學(xué)大綱修訂上給予足夠的權(quán)限和自由。即使學(xué)生學(xué)習(xí)匯編語(yǔ)言有一定難度,但如果在教師講授過程中,通過改進(jìn)教學(xué)方法,調(diào)整教學(xué)內(nèi)容,提高學(xué)生的學(xué)習(xí)興趣,降低課程的學(xué)習(xí)難度、培養(yǎng)學(xué)生的編程能力、調(diào)試能力、實(shí)踐動(dòng)手能力,能夠幫助學(xué)生順利渡過入門關(guān),那么學(xué)生掌握好這門編程語(yǔ)言就并非難事,從而提高整體教學(xué)效果,來適應(yīng)計(jì)算機(jī)技術(shù)的發(fā)展。

[參考文獻(xiàn)]

[1]沈美明,溫冬嬋.IBM-PC匯編語(yǔ)言程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2002.

[2]王成耀.匯編語(yǔ)言程序設(shè)計(jì)[M].北京:機(jī)械工業(yè)出版社,2003.

[3]解志堅(jiān),張引瓊,陳剛.匯編語(yǔ)言程序設(shè)計(jì)教學(xué)方法的探討[J].電腦知識(shí)與技術(shù),2015(32):89-91.

[4]曾韻,王立新,司彬彬,等.匯編語(yǔ)言教學(xué)改革的思考與探索[J].計(jì)算機(jī)教育,2015(13):60-62.

[5]張曉亞,唐東成,黎鈺珍,等.匯編語(yǔ)言程序設(shè)計(jì)的重要性[J].電子技術(shù),2017(6):70-71.

[6]劉明,蘇靜.“匯編語(yǔ)言程序設(shè)計(jì)”課程教學(xué)探討[J].福建電腦,2011(11):34.

[7]龐新法.如何輕松學(xué)好匯編語(yǔ)言[J].價(jià)值工程,2014(19):193-194.

[8]葉劍芯,彭華林.高職院校匯編語(yǔ)言課程教學(xué)改革的探討[J].科技資訊,2012(3):211.

Abstract:The “Assembly Language Programming” is an important professional course for computer majors in Chinas colleges and universities, which emphasizes both hardware and software. Because there are some difficulties in learning this course, how to arouse students interest in assembly language learning and improve the learning effect are summarized in this paper, hoping to discuss with you.

Key words:assembly language; teaching method; practice

猜你喜歡
匯編語(yǔ)言實(shí)踐教學(xué)方法
高等學(xué)校計(jì)算機(jī)專業(yè)課程教學(xué)改革實(shí)踐——以匯編語(yǔ)言與接口技術(shù)課程為例
教學(xué)方法與知識(shí)類型的適宜
匯編語(yǔ)言與C語(yǔ)言的混合程序設(shè)計(jì)技術(shù)研究
提高《匯編語(yǔ)言程序設(shè)計(jì)》教學(xué)效率的思考與實(shí)踐
試論匯編語(yǔ)言與C語(yǔ)言的混合程序設(shè)計(jì)技術(shù)
我的教學(xué)方法