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