《匯編語言程序設(shè)計》課程教學(xué)大綱.doc_第1頁
《匯編語言程序設(shè)計》課程教學(xué)大綱.doc_第2頁
《匯編語言程序設(shè)計》課程教學(xué)大綱.doc_第3頁
《匯編語言程序設(shè)計》課程教學(xué)大綱.doc_第4頁
《匯編語言程序設(shè)計》課程教學(xué)大綱.doc_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

匯編語言程序設(shè)計課程教學(xué)大綱一、課程基本信息課程編號:84810013課程中文名稱:匯編語言課程英文名稱:Assembler language課程類別:專業(yè)必修課適用專業(yè):計算機科學(xué)與技術(shù)專業(yè)本科生開課學(xué)期:第5學(xué)期總 學(xué) 時:60學(xué)時理論課48學(xué)時實驗12學(xué)時總 學(xué) 分:3先修課程:1、 數(shù)字邏輯 2、操作系統(tǒng)3、高級語言程序設(shè)計課程簡介:本課程主要應(yīng)使學(xué)生掌握8086/8088宏匯編語言程序設(shè)計的基本方法和技巧,能夠運用8086/8088宏匯編語言編寫應(yīng)用程序。提高學(xué)生分析問題、解決問題的能力以及實際動手能力。應(yīng)使學(xué)生基本掌握匯編語言程序設(shè)計的基本理論,方法和技巧,正確地使用結(jié)構(gòu)化、模塊程序設(shè)計技術(shù)。注意培養(yǎng)學(xué)生良好的程序設(shè)計風(fēng)格。應(yīng)使學(xué)生比較熟練地使用調(diào)試工具DEBUG調(diào)試8086/8088匯編語言程序。注意提高學(xué)生的調(diào)試能力。二、課程性質(zhì)與教學(xué)目標(biāo)匯編語言程序設(shè)計是計算機科學(xué)與技術(shù)專業(yè)一門重要的基礎(chǔ)課,是必修的核心課程之一,是操作系統(tǒng)和微機原理和接口技術(shù)等其它核心課程必要的先修課,而且對于訓(xùn)練學(xué)生掌握程序設(shè)計技術(shù),熟悉上機操作和程序調(diào)試技術(shù)都有重要作用。因此該課程在整個教學(xué)計劃中占有重要地位。 本課程的目的和要求是: 1、 應(yīng)使學(xué)生掌握8086/8088宏匯編語言程序設(shè)計的基本方法和技巧,能夠運用8086/8088宏匯編語言編寫應(yīng)用程序。提高學(xué)生分析問題、解決問題的能力以及實際動手能力。 2、應(yīng)使學(xué)生基本掌握匯編語言程序設(shè)計的基本理論,方法和技巧,正確地使用結(jié)構(gòu)化、模塊程序設(shè)計技術(shù)。注意培養(yǎng)學(xué)生良好的程序設(shè)計風(fēng)格。 3、應(yīng)使學(xué)生比較熟練地使用調(diào)試工具DEBUG調(diào)試8086/8088匯編語言程序。注意提高學(xué)生的調(diào)試能力。 4、注意與前后相關(guān)課程的關(guān)系。使學(xué)生對前導(dǎo)課程有進(jìn)一步的理解,同時為學(xué)習(xí)后繼課程打好基礎(chǔ)。三、教學(xué)內(nèi)容及基本要求第一單元 基 礎(chǔ) 知 識知識點匯編語言的基本概念、數(shù)據(jù)的表示和類型、幾種基本的邏輯運算、Intel 8088/8086微處理器基本概念、存儲器分段和地址的形成、教學(xué)內(nèi)容1.以二進(jìn)制存在的機器語言。計算機內(nèi)部數(shù)的存儲及運算也都是采用二進(jìn)制。2.制數(shù)的值由1所在位置的權(quán)來確定。3.進(jìn)制是一種很重要的短格式記數(shù)法,它把二進(jìn)制數(shù)每4位分成一組,分別用0-9和A-F來表示0000-1111。反之,16進(jìn)制數(shù)的每一位用四位二進(jìn)制表示,就是相應(yīng)的二進(jìn)制數(shù)。4十進(jìn)制轉(zhuǎn)換為二進(jìn)制的方法主要有降冪法和除法。計算機十化二程序中采取下面的算法: 5標(biāo)志位OF=1表示帶符號數(shù)的運算結(jié)果無效。CF=1表示無符號數(shù)運算結(jié)果無效。6計算機中的字符數(shù)據(jù)用ASC碼表示,一個字符在存儲器中占用一個字節(jié)(8位二進(jìn)制碼)。7BCD碼是一種用二進(jìn)制編碼的十進(jìn)制數(shù),又稱二-十進(jìn)制數(shù)或8421碼,它用4位二進(jìn)制數(shù)表示一個十進(jìn)制數(shù)碼。BCD碼有壓縮和非壓縮兩種格式,壓縮的BCD碼用4位二進(jìn)制數(shù)表示一個十進(jìn)制數(shù)位,如95 表示為1001,0101。非壓縮的BCD碼用地位二進(jìn)制數(shù)表示一個十進(jìn)制數(shù)位。如95 表示為00001001 00000101。8兩種類型的內(nèi)部存儲器是ROM(只讀存儲器)和RAM(隨機存儲器)。存儲器按字節(jié)編址,存儲器地址一般用16進(jìn)制的無符號數(shù)表示。9字?jǐn)?shù)據(jù)在存儲器中存放的順序為高地址字節(jié)放高8位,低地址字節(jié)放低8位。10AX、BA、CA、和DX是通用寄存器,每個通用寄存器可作兩個8位寄存器使用(如AH和AL)。11一個20位的物理地址可表示成段地址:偏移地址。計算存儲器單元的物理地址,可將段地址乘以10H,再加上偏移地址。物理地址=(段地址10H)+偏移地址12段寄存器CS、SS、DS和ES分別寄存代碼段、堆棧段、數(shù)據(jù)段和附加段的段地址。13變址寄存器SI和DI一般指示數(shù)據(jù)段內(nèi)單元的地址,有時也可作為數(shù)據(jù)寄存器用。1416位的標(biāo)志寄存器個包括6個狀態(tài)標(biāo)志(SF、ZF、PF、CF、AF、OF)和3個控制標(biāo)志(DF、IF、TF)。(CF、AF、SF、ZF和OF反映了算術(shù)運算以及移位、循環(huán)、邏輯等操作的結(jié)果狀態(tài)。重難點1教學(xué)重點1.匯編語言的基本概念()機器語言,匯編語言,匯編程序,匯編語言源程序,目標(biāo)程序,目標(biāo)代碼,可執(zhí)行程序。 ()匯編語言的特點 ()為什么要學(xué)習(xí)匯編語言,匯編語言的應(yīng)用場合。 2.數(shù)據(jù)的表示和類型 ()數(shù)值數(shù)據(jù)的表示,符號擴展,數(shù)值數(shù)據(jù)的表示范圍,碼,不同數(shù)據(jù)之間的轉(zhuǎn)換。 ()非數(shù)值數(shù)據(jù)類型:字節(jié)、字、雙字等。 3.幾種基本的羅輯運算 “與”、“或”、“非”、“異或” 4.Intel 8088/8086微處理器基本概念 ()8086/8088基本結(jié)構(gòu):執(zhí)行單元EU,總線接口單元BIU, 指令的執(zhí)行次序。 ()8086/8088CPU寄存器組:通用寄存器,數(shù)據(jù)寄存器,變址和指針寄存器,段寄存器和指令指針。 ()標(biāo)志寄存器,運算結(jié)果標(biāo)志、狀態(tài)、控制標(biāo)志。5.存儲器分段和地址的形成 ()存儲單元的地址 ()“高高低低”的存儲原則 ()存儲器的分段 ()物理地址的形成 ()段寄存器的引用()堆棧及其用途2教學(xué)難點1. 8088/8086微處理器基本概念2. 存儲器分段和地址的形成教學(xué)要求1. 領(lǐng)會匯編語言的慨念及特點2. 掌握數(shù)值數(shù)據(jù)的表示3. 了解8086CPU的基本結(jié)構(gòu)4. 重點領(lǐng)會8086CPU地址形成的原理第二單元 指 令 系 統(tǒng) 與 尋 址 方 式知識點尋址方式、正確使用指令系統(tǒng) 教學(xué)內(nèi)容1.尋址方式:() 立即尋址:操作數(shù)由指令給出() 寄存器尋址:操作數(shù)在寄存器中() 直接尋址:操作數(shù)的有效地址由指令直接給出() 寄存器間接尋址:PA=(DX)*16+(BX)(SI)(DI)() 寄存器相對尋址:PA=(DX)*16+(BX)(SI)(DI)+位移量() 基址加變址尋址:PA=(DX)*16+(SI)(DI)() 相對基址加變址尋址:PA=(DX)*16+(SI)(DI)+位移量2.正確使用指令系統(tǒng),關(guān)鍵要清楚每條指令的功能以及它們規(guī)定或限制使用的寄存器。下面是初學(xué)者易混淆的幾個問題:(1)指令對地址還是對地址中的內(nèi)容進(jìn)行操作,要嚴(yán)格區(qū)分。(2)使用指令時,要清楚指令隱含的操作寄存器。(3)對帶符號數(shù)和無符號數(shù)的操作應(yīng)正確選擇相應(yīng)的條件轉(zhuǎn)移指令。(4)用移位指令來倍增或倍減一個值是很方便的,但要注意對帶符號數(shù)和無無符號數(shù)所使用的指令是不同的。() 是是程序中指令的符號地址,要注意和變量(數(shù)據(jù)符號)的區(qū)別。重難點1教學(xué)重點1、8086/8088的尋址方式 七種基本的尋址方式:固定尋址、立即尋址、存儲器直接尋址、寄存器尋址、寄存器間接尋址,變址尋址,基址加變址尋址。 2、8086/8088指令系統(tǒng) ()分組:數(shù)據(jù)傳送、算術(shù)運算、邏輯運算、串操作、程序控制、處理器控制。()常用指令格式和功能2教學(xué)難點1 8086CPU的尋址方式的理解2 各種指令的用法 教學(xué)要求1 理解七種尋址方式的慨念2 對數(shù)據(jù)傳送、算術(shù)運算、邏輯運算、串操作、程序控制類的指令要深入理解第三單元 匯 編 語 言 格 式知識點偽操作指令、宏定義、地址表達(dá)式、數(shù)值表達(dá)式教學(xué)內(nèi)容1、 偽操作也稱為匯編程序命令,它是給匯編程序提供操作命令信息的,因此它和機器指令的區(qū)別在于機器指令是在在程序運行期間執(zhí)行的,而偽操作是匯編程序?qū)υ绦蜻M(jìn)行匯編時由匯編程序執(zhí)行的。2、 偽操作的用法類似于使用助記符和機器指令。和機器指令一樣,沒條偽操作(偽指令)的含義是唯一的。3、 常用的偽操作:1) 數(shù)據(jù)定義及存儲器偽操作:DB、DW、DD、DQ、DT、DUP屬性偽操作:PTR、LABEL2) 符號定義偽操作:EQU、=3) 段定義和段結(jié)束偽操作:SEGMENT、ENDS、ASSUME定位類型PARR、BYTE、WORD、PAGE組合類型PUBLIC、COMMON、AT、STACK、MEMORY類別class_name4) 過程定義和過程結(jié)束PROC、ENDP過程屬性NEAR、FAR5) 程序結(jié)束偽操作ENDstart6) 對準(zhǔn)偽操作EVEN、ORG7) 基準(zhǔn)控制偽操作 RADIX二進(jìn)制數(shù)標(biāo)記 B 十進(jìn)制數(shù)標(biāo)記 D八進(jìn)制數(shù)標(biāo)記 O、Q 16進(jìn)制數(shù)標(biāo)記 H 匯編程序默認(rèn)無標(biāo)記數(shù)為十進(jìn)制數(shù),DEBUG程序默認(rèn)無標(biāo)記數(shù)為16進(jìn)制數(shù)。4、 機器指令、偽指令和宏定義中的操作數(shù)項可用表達(dá)式表示。表達(dá)式由常數(shù)、寄存器、標(biāo)號、變量及各種操作符組成。表達(dá)式在由匯編程序處理時,應(yīng)能得出一個常數(shù)值填入機器代碼。在匯編期間不能求得確定值的表達(dá)式是錯誤的。5、 變量中的表達(dá)式的屬性應(yīng)和變量的屬性相同。在質(zhì)量中使用的表達(dá)式,其類型應(yīng)和其它操作數(shù)匹配。6、 表達(dá)式中常用的操作符:(1) 算術(shù)操作符 +、*、/、MOD(2) 邏輯操作符 AND、OR、XOR、NOT(3) 關(guān)系操作符 EQ、NE、LT、GT、LE、GE(4) 數(shù)值回送操作符 TYPE、LENGTH、SIZE、OFFSET、SEG(5) 屬性操作符 PTR、SHORT、THIS、HIGH、LOW 重難點1教學(xué)重點、匯編語言語句的種類和格式 ()語句的種類:指令語句、偽指令語句、宏指令語句 ()指令語句格式和偽指令語句格式。、宏匯編語言中的表達(dá)式 ()參數(shù)的表示 ()變量和標(biāo)號 ()運算符 ()宏匯編語言的常用分析操作符和合成操作符 ()運算符和操作符的優(yōu)先級、數(shù)據(jù)(變量)定義的語句和符號說明語句 ()數(shù)據(jù)(變量)定義語句,重復(fù)操作符DUP ()符號定義語句、常用偽指令語句和源程序組織 ()段定義語句 ()段使用設(shè)定語句 ()源程序結(jié)束語句 ()匯編語言源程序的組織 ()其它常用的偽指令、上機過程 ()編輯、匯編、連結(jié)和調(diào)式過程、有關(guān)命令的使用。 ()匯編程序的工作過程簡單介紹2教學(xué)難點1 偽指令的理解2 宏指令的理解3 常用偽指令語句和源程序組織4 地址表達(dá)式的理解教學(xué)要求1 深入理解偽指令2 常用偽指令語句和源程序組織應(yīng)用3 深入領(lǐng)會地址表達(dá)式4 對地址表達(dá)式的組成的理解第四單元 匯 編 語 言 程 序 設(shè) 計知識點程序框圖、分支程序設(shè)計、循環(huán)程序設(shè)計、子程序設(shè)計、常用系統(tǒng)功能調(diào)用、字符串處理教學(xué)內(nèi)容1、 程序設(shè)計的一般步驟(1) 分析所要解決的問題,確定適當(dāng)?shù)乃惴?。?) 設(shè)計整個程序的邏輯結(jié)構(gòu),畫出程序框圖。(3) 編寫程序,正確運用IBM PC提供的指令、偽操作以及DOS、BIOS功能調(diào)用。同時簡潔明了的說明注釋。(4) 上機調(diào)試程序。2、 一個高質(zhì)量程序應(yīng)具有以下特點:(1) 程序有較好的邏輯結(jié)構(gòu),便于進(jìn)行二次開發(fā)。(2) 源程序有較好的可讀性。使非專業(yè)人員能讀懂會用,甚至能加以修改。(3) 程序應(yīng)有很好的可靠性和可維護(hù)性,也就是說要保證能正確地工作,并且易于做進(jìn)一步的改進(jìn)和完善。(4) 程序運行效率高而且有可重入性,這就要求盡量使用效高的指令,盡量減少程序的額外開銷,同時程序的運行不能破壞程序的原始數(shù)據(jù)和指令。3、子程序即是前述的過程。它是模塊化、結(jié)構(gòu)化程序設(shè)計的基本構(gòu)件,其設(shè)計與調(diào)用技術(shù)是要求重點和熟悉掌握的內(nèi)容。而對于子程序設(shè)計和調(diào)用技術(shù),最關(guān)鍵的是要正確理解和熟悉掌握主、子程序的接口方法和主程序與子程序間的參數(shù)傳遞方法。主程序與子程序的接口,一是要正確使用CALL/RET 指令對,它們必須成對出現(xiàn);二是轉(zhuǎn)子和返主過程中的現(xiàn)場保護(hù)和恢復(fù)。保護(hù)和恢復(fù)現(xiàn)場通常有兩種方法:() 程序與子程序所使用的存儲器單元和寄存器盡量分開,互不干擾。() “現(xiàn)場”通過堆棧保護(hù)和恢復(fù)。分為兩種情況:一是“現(xiàn)場”信息的保護(hù)和恢復(fù)安排在子程序中進(jìn)行,即在子程序的開始處安排一段保護(hù)程序,在子程序結(jié)束前,再將有關(guān)部門內(nèi)容恢復(fù);二是安排在主程序中進(jìn)行,即在調(diào)用子程序指令(CALL)前保護(hù),在CALL指令后恢復(fù)。4主程序與子程序的參數(shù)傳遞() 存器參數(shù)傳遞調(diào)用前,主程序?qū)?shù)保存在某些通用寄存器中,子程序則直接使用寄存器中的參數(shù)。出口程序也通過寄存器返回給主程序。寄存器參數(shù)傳遞簡單快捷,單需占用通用寄存器,只適合參數(shù)較少的場合。() 存儲器參數(shù)傳遞利用制定的存儲變量傳遞參數(shù)或通過地址表傳送變量地址。此方法適合參數(shù)較多的場合,但需事先在內(nèi)存中建立參數(shù)表,不如寄存器參數(shù)傳遞方便快捷。() 堆棧參數(shù)傳遞主程序與子程序?qū)⒁獋鬟f的信息放在堆棧中,使用時再從堆棧中取出。由于堆棧具有先進(jìn)后出的特性,故多重調(diào)用中各重參數(shù)層次分明,適合參數(shù)較多且子程序有嵌套和遞歸調(diào)用的場合。實現(xiàn)可重入子程序,一般也是用堆棧傳遞參數(shù)。 重難點1 教學(xué)重點、順序程序設(shè)計 ()順序程序設(shè)計的基本方法 ()簡單查表法代碼轉(zhuǎn)換、 分支程序設(shè)計 () 分支程序設(shè)計的基本方法 () 利用地址表實現(xiàn)多向分支、循環(huán)程序設(shè)計 () 循環(huán)結(jié)構(gòu)的組成和控制循環(huán)的一般方法 () 簡單循環(huán)和多重循環(huán)、子程序設(shè)計 () 子程序設(shè)計的一般原則 () 過程定義語句 () 主程序與子程序的參數(shù)傳遞方法 () 子程序說明信息和寄存器的保護(hù)和恢復(fù) 、常用系統(tǒng)功能調(diào)用() 系統(tǒng)功能調(diào)用概述,調(diào)用方法 ()常用功能調(diào)用。、字符串處理 ()字符串操作指令和重復(fù)前綴 ()字符串處理2。教學(xué)難點1分支程序設(shè)計應(yīng)用2 循環(huán)程序設(shè)計應(yīng)用3 子程序設(shè)計應(yīng)用教學(xué)要求1 加強分支程序設(shè)計的訓(xùn)練2 加強循環(huán)程序設(shè)計的訓(xùn)練3 加強子程序設(shè)計的訓(xùn)練第五單元 輸 入 和 輸 出 與 中 斷知識點程序控制的I/O方式、中斷傳送方式、BIOS和DOS中斷、常用BIOS和DOS調(diào)用 教學(xué)內(nèi)容1、 程序控制的I/O方式這種方式使用I/O指令(IN和OUT)直接在端口級上進(jìn)行信息的輸入/輸出。CPU與各設(shè)備之間以串行方式工作。CPU要通過測試I/O接口的狀態(tài)來控制傳送,若I/O設(shè)備沒有準(zhǔn)備好,CPU就循環(huán)測試,直到設(shè)備準(zhǔn)備好,CPU就執(zhí)行一次傳送。2、 中斷傳送方式這種I/O方式實質(zhì)上是一種特殊情況下的程序轉(zhuǎn)移方式。所謂特殊情況一般指:(1) 計算機出現(xiàn)異常事件,如電源掉電,內(nèi)存I/O總線奇偶錯等。出現(xiàn)這樣的事件,CPU應(yīng)立即中斷現(xiàn)行程序的運行,轉(zhuǎn)去執(zhí)行處理故障的子程序。(2) 程序中預(yù)先安排的中斷指令(INT)或其它內(nèi)部原因(如除法錯等),使現(xiàn)行程序暫時中斷,轉(zhuǎn)去執(zhí)行相應(yīng)的處理子程序。(3) 外部設(shè)備一切準(zhǔn)備就緒時,向CPU發(fā)出中斷現(xiàn)行程序的請求,以處理外設(shè)的輸入輸出。以上三類情況是引起中斷發(fā)生的原因,稱為中斷源。第(1)類情況一般安排為非屏蔽中斷。第(2)類情況稱為內(nèi)中斷,第(3)類情況為外中斷,這是一些可屏蔽的中斷類型。3、 BIOS和DOS中斷駐留ROM的BIOS提供了主要I/O設(shè)備的中斷例行程序以及接口控制等功能模塊,因此可直接用指令設(shè)置參數(shù),然后用中斷指令I(lǐng)NT調(diào)用BIOS中的例行程序。使用DOS功能調(diào)用其操作更為簡易,對硬件的以來性更少一些。(1)常用的BIOS中斷調(diào)用:INT 10H 顯示器 INT 16H 鍵盤INT 12H 內(nèi)存檢驗 INT 17H 打印機INT 13H 磁盤 INT 1AH 時鐘INT 14H 串行通訊 INT 40H 軟盤(2)常用的DOS中斷調(diào)用:INT 20H 程序結(jié)束INT 21H 功能調(diào)用 鍵盤I/O(AH=1、6、7

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論