李鵬+趙立輝
摘要:討論了在《微機(jī)原理及應(yīng)用》或《微機(jī)原理與接口技術(shù)》等教材中,編寫匯編語(yǔ)言程序設(shè)計(jì)部分的兩種方法,作者運(yùn)用這兩種方法從提高教學(xué)效率的目的出發(fā),編寫與出版了兩本教材,并分析了這兩種方法的特點(diǎn)。
關(guān)鍵詞:匯編語(yǔ)言;16位機(jī);32位機(jī);指令系統(tǒng)
中圖分類號(hào):TN79-4 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):
1.引言
在《微機(jī)原理與接口技術(shù)》、《微機(jī)原理及應(yīng)用》等教材中,80X86匯編語(yǔ)言一般僅占有1-3章的篇幅,但是,如果專門開(kāi)設(shè)《匯編語(yǔ)言程序設(shè)計(jì)》課程,則要選用專門的《匯編語(yǔ)言程序設(shè)計(jì)》教程,一般安排48學(xué)時(shí)左右的教學(xué)時(shí)間。在我們出版的《微機(jī)原理與接口技術(shù)》和《微機(jī)原理及應(yīng)用》兩本教程中,分別用了兩章和一章的篇幅來(lái)介紹80X86匯編語(yǔ)言程序設(shè)計(jì),但是,80X86指令集包括16位和32位計(jì)算機(jī)指令系統(tǒng),指令復(fù)雜,16位和32位匯編語(yǔ)言格式有所不同,內(nèi)容廣泛,要保護(hù)匯編語(yǔ)言的完整性,但又受到篇幅的限制,因此,從提高匯編語(yǔ)言程序設(shè)計(jì)的教學(xué)效率出發(fā),結(jié)合教學(xué)實(shí)際,精心組織內(nèi)容,兩本教材采用了兩種不同的撰寫方式。
2.采用32位機(jī)的方式撰寫匯編語(yǔ)言(第一方式)
《微機(jī)原理與接口技術(shù)》教材只介紹32位匯編語(yǔ)言程序設(shè)計(jì),但含蓋了16位計(jì)算機(jī)的指令系統(tǒng)及匯編語(yǔ)言程序設(shè)計(jì)?!段C(jī)原理及應(yīng)用》教材則按照80X86的發(fā)展先后,首先介紹了16位機(jī)指令系統(tǒng)及編程,然后介紹了32位機(jī)指令系統(tǒng)及編程,從提高教學(xué)效率及培養(yǎng)實(shí)用性人才方面分析,各有特色。
2.1 首先介紹16位段和32位段
32位機(jī)上電或復(fù)位后,CPU首先工作在實(shí)地址模式,它與8086CPU的工作方式有相同的基本結(jié)構(gòu),存儲(chǔ)器分段每段最多64KB,稱為16位段,32位機(jī)既可以工作在32位段又可以工作在16位段。
2.2第二步講解尋址方式
介紹尋址方式之前,明確指出了指令格式中出現(xiàn)的符號(hào)及含義,包括8、16以及32位,顯然,介紹32位機(jī)指令系統(tǒng)的同時(shí),也就包含了16位計(jì)算機(jī)的指令系統(tǒng)。
尋找操作數(shù)或操作數(shù)地址的方式稱為尋址方式,16位和32位指令系統(tǒng)的尋址方式基本上是相同的,只不過(guò)32位微處理器多兩個(gè)段寄存器,在CPU訪問(wèn)存儲(chǔ)器時(shí),有效地址的形成比較復(fù)雜,增加了“變址*比例因子”一個(gè)累加項(xiàng)。
2.3 第三步分析32位微處理器指令系統(tǒng)
因?yàn)橐呀?jīng)聲明了指令系統(tǒng)中出現(xiàn)的符號(hào)及含義,所以,每條指令的通用格式中就含蓋了8、16及32位指令,通過(guò)舉例說(shuō)明,可以達(dá)到事半功倍的效果。
2.4最后介紹匯編語(yǔ)言編程
介紹了匯編語(yǔ)言中的常量、變量、標(biāo)號(hào)以及許多規(guī)定,按照先后順序,介紹了16位完整段匯編語(yǔ)言程序設(shè)計(jì)、16位簡(jiǎn)化段匯編語(yǔ)言程序設(shè)計(jì)、32位匯編語(yǔ)言程序設(shè)計(jì),簡(jiǎn)單指出了匯編語(yǔ)言程序的格式,并按照匯編語(yǔ)言程序的格式編寫了經(jīng)典的匯編程序。
3.采用先介紹16位后介紹32位的方式撰寫匯編語(yǔ)言(第二方式)
《微機(jī)原理及應(yīng)用》教材只用一章的篇幅(包括3小節(jié)),表述了16位和32位機(jī)的指令系統(tǒng)及匯編語(yǔ)言編程,第一節(jié)是8086 CPU的尋址方式,第二節(jié)是16位微處理器的指令系統(tǒng),第三節(jié)是匯編語(yǔ)言編程。
匯編語(yǔ)言編程一節(jié)包括比較多的內(nèi)容:
機(jī)器語(yǔ)言與匯編語(yǔ)言;
匯編語(yǔ)言中的常量、變量和標(biāo)號(hào);
16位完整段匯編語(yǔ)言程序設(shè)計(jì);
32位尋址方式;
32位微處理器擴(kuò)充與新增指令;
簡(jiǎn)化段匯編語(yǔ)言程序設(shè)計(jì)。
從以上可以看出,待講完16位完整段匯編語(yǔ)言程序設(shè)計(jì)之后,接著介紹32位尋址方式、32位微處理器擴(kuò)充與新增指令以及32位程序設(shè)計(jì),最后使用簡(jiǎn)化段格式編寫32位程序,并用實(shí)際程序例子進(jìn)行說(shuō)明。
4.兩種方式的特點(diǎn)
共同點(diǎn):
(1)保護(hù)了16、32位匯編語(yǔ)言編程的完整性。
(2)內(nèi)容精煉,便于自學(xué),便于教學(xué),介紹指令系統(tǒng)時(shí)列舉了大量指令、講解匯編語(yǔ)言編程時(shí),列舉了較豐富的典型程序例子。
差異:
第一方式知識(shí)起點(diǎn)高,結(jié)構(gòu)嚴(yán)謹(jǐn),一旦入門后就不難學(xué)習(xí);不需要另外闡述16位匯編語(yǔ)言編程,舉例時(shí),既可以列舉16位也可以列舉32位。
第二方式做到了先易后難、便于自學(xué)、只有一章,篇幅僅是第一方式的2/3,重點(diǎn)突出。
5.結(jié)語(yǔ)
在《微機(jī)原理及應(yīng)用》等包含有匯編語(yǔ)言編程的教材中,編寫匯編語(yǔ)言部分可以運(yùn)用該文中提到的兩種方法,但是,一定要從提高教學(xué)效率出發(fā),優(yōu)化結(jié)構(gòu),充實(shí)實(shí)例,便于自學(xué)。
參考文獻(xiàn):
[1]李鵬等.微機(jī)原理及應(yīng)用[M].北京:電子工業(yè)出版社,2014.
作者簡(jiǎn)介:
李鵬(1978-),男(漢族),湖北仙桃人,長(zhǎng)江大學(xué)計(jì)算機(jī)科學(xué)學(xué)院,副教授,碩士endprint