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

下載本文檔

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

文檔簡介

匯編語言程序設(shè)計(jì)課程教學(xué)大綱一、課程基本信息課程編號:84810013課程中文名稱:匯編語言課程英文名稱:Assembler language課程類別:專業(yè)必修課適用專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)本科生開課學(xué)期:第5學(xué)期總 學(xué) 時:60學(xué)時理論課48學(xué)時實(shí)驗(yàn)12學(xué)時總 學(xué) 分:3先修課程:1、 數(shù)字邏輯 2、操作系統(tǒng)3、高級語言程序設(shè)計(jì)課程簡介:本課程主要應(yīng)使學(xué)生掌握8086/8088宏匯編語言程序設(shè)計(jì)的基本方法和技巧,能夠運(yùn)用8086/8088宏匯編語言編寫應(yīng)用程序。提高學(xué)生分析問題、解決問題的能力以及實(shí)際動手能力。應(yīng)使學(xué)生基本掌握匯編語言程序設(shè)計(jì)的基本理論,方法和技巧,正確地使用結(jié)構(gòu)化、模塊程序設(shè)計(jì)技術(shù)。注意培養(yǎng)學(xué)生良好的程序設(shè)計(jì)風(fēng)格。應(yīng)使學(xué)生比較熟練地使用調(diào)試工具DEBUG調(diào)試8086/8088匯編語言程序。注意提高學(xué)生的調(diào)試能力。二、課程性質(zhì)與教學(xué)目標(biāo)匯編語言程序設(shè)計(jì)是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)一門重要的基礎(chǔ)課,是必修的核心課程之一,是操作系統(tǒng)和微機(jī)原理和接口技術(shù)等其它核心課程必要的先修課,而且對于訓(xùn)練學(xué)生掌握程序設(shè)計(jì)技術(shù),熟悉上機(jī)操作和程序調(diào)試技術(shù)都有重要作用。因此該課程在整個教學(xué)計(jì)劃中占有重要地位。 本課程的目的和要求是: 1、 應(yīng)使學(xué)生掌握8086/8088宏匯編語言程序設(shè)計(jì)的基本方法和技巧,能夠運(yùn)用8086/8088宏匯編語言編寫應(yīng)用程序。提高學(xué)生分析問題、解決問題的能力以及實(shí)際動手能力。 2、應(yīng)使學(xué)生基本掌握匯編語言程序設(shè)計(jì)的基本理論,方法和技巧,正確地使用結(jié)構(gòu)化、模塊程序設(shè)計(jì)技術(shù)。注意培養(yǎng)學(xué)生良好的程序設(shè)計(jì)風(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ǔ) 知 識知識點(diǎn)匯編語言的基本概念、數(shù)據(jù)的表示和類型、幾種基本的邏輯運(yùn)算、Intel 8088/8086微處理器基本概念、存儲器分段和地址的形成、教學(xué)內(nèi)容1.以二進(jìn)制存在的機(jī)器語言。計(jì)算機(jī)內(nèi)部數(shù)的存儲及運(yùn)算也都是采用二進(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)制的方法主要有降冪法和除法。計(jì)算機(jī)十化二程序中采取下面的算法: 5標(biāo)志位OF=1表示帶符號數(shù)的運(yùn)算結(jié)果無效。CF=1表示無符號數(shù)運(yùn)算結(jié)果無效。6計(jì)算機(jī)中的字符數(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(隨機(jī)存儲器)。存儲器按字節(jié)編址,存儲器地址一般用16進(jìn)制的無符號數(shù)表示。9字?jǐn)?shù)據(jù)在存儲器中存放的順序?yàn)楦叩刂纷止?jié)放高8位,低地址字節(jié)放低8位。10AX、BA、CA、和DX是通用寄存器,每個通用寄存器可作兩個8位寄存器使用(如AH和AL)。11一個20位的物理地址可表示成段地址:偏移地址。計(jì)算存儲器單元的物理地址,可將段地址乘以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ù)運(yùn)算以及移位、循環(huán)、邏輯等操作的結(jié)果狀態(tài)。重難點(diǎn)1教學(xué)重點(diǎn)1.匯編語言的基本概念()機(jī)器語言,匯編語言,匯編程序,匯編語言源程序,目標(biāo)程序,目標(biāo)代碼,可執(zhí)行程序。 ()匯編語言的特點(diǎn) ()為什么要學(xué)習(xí)匯編語言,匯編語言的應(yīng)用場合。 2.數(shù)據(jù)的表示和類型 ()數(shù)值數(shù)據(jù)的表示,符號擴(kuò)展,數(shù)值數(shù)據(jù)的表示范圍,碼,不同數(shù)據(jù)之間的轉(zhuǎn)換。 ()非數(shù)值數(shù)據(jù)類型:字節(jié)、字、雙字等。 3.幾種基本的羅輯運(yùn)算 “與”、“或”、“非”、“異或” 4.Intel 8088/8086微處理器基本概念 ()8086/8088基本結(jié)構(gòu):執(zhí)行單元EU,總線接口單元BIU, 指令的執(zhí)行次序。 ()8086/8088CPU寄存器組:通用寄存器,數(shù)據(jù)寄存器,變址和指針寄存器,段寄存器和指令指針。 ()標(biāo)志寄存器,運(yùn)算結(jié)果標(biāo)志、狀態(tài)、控制標(biāo)志。5.存儲器分段和地址的形成 ()存儲單元的地址 ()“高高低低”的存儲原則 ()存儲器的分段 ()物理地址的形成 ()段寄存器的引用()堆棧及其用途2教學(xué)難點(diǎn)1. 8088/8086微處理器基本概念2. 存儲器分段和地址的形成教學(xué)要求1. 領(lǐng)會匯編語言的慨念及特點(diǎn)2. 掌握數(shù)值數(shù)據(jù)的表示3. 了解8086CPU的基本結(jié)構(gòu)4. 重點(diǎn)領(lǐng)會8086CPU地址形成的原理第二單元 指 令 系 統(tǒng) 與 尋 址 方 式知識點(diǎn)尋址方式、正確使用指令系統(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ū)別。重難點(diǎn)1教學(xué)重點(diǎn)1、8086/8088的尋址方式 七種基本的尋址方式:固定尋址、立即尋址、存儲器直接尋址、寄存器尋址、寄存器間接尋址,變址尋址,基址加變址尋址。 2、8086/8088指令系統(tǒng) ()分組:數(shù)據(jù)傳送、算術(shù)運(yùn)算、邏輯運(yùn)算、串操作、程序控制、處理器控制。()常用指令格式和功能2教學(xué)難點(diǎn)1 8086CPU的尋址方式的理解2 各種指令的用法 教學(xué)要求1 理解七種尋址方式的慨念2 對數(shù)據(jù)傳送、算術(shù)運(yùn)算、邏輯運(yùn)算、串操作、程序控制類的指令要深入理解第三單元 匯 編 語 言 格 式知識點(diǎn)偽操作指令、宏定義、地址表達(dá)式、數(shù)值表達(dá)式教學(xué)內(nèi)容1、 偽操作也稱為匯編程序命令,它是給匯編程序提供操作命令信息的,因此它和機(jī)器指令的區(qū)別在于機(jī)器指令是在在程序運(yùn)行期間執(zhí)行的,而偽操作是匯編程序?qū)υ绦蜻M(jìn)行匯編時由匯編程序執(zhí)行的。2、 偽操作的用法類似于使用助記符和機(jī)器指令。和機(jī)器指令一樣,沒條偽操作(偽指令)的含義是唯一的。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、 機(jī)器指令、偽指令和宏定義中的操作數(shù)項(xiàng)可用表達(dá)式表示。表達(dá)式由常數(shù)、寄存器、標(biāo)號、變量及各種操作符組成。表達(dá)式在由匯編程序處理時,應(yīng)能得出一個常數(shù)值填入機(jī)器代碼。在匯編期間不能求得確定值的表達(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 重難點(diǎn)1教學(xué)重點(diǎn)、匯編語言語句的種類和格式 ()語句的種類:指令語句、偽指令語句、宏指令語句 ()指令語句格式和偽指令語句格式。、宏匯編語言中的表達(dá)式 ()參數(shù)的表示 ()變量和標(biāo)號 ()運(yùn)算符 ()宏匯編語言的常用分析操作符和合成操作符 ()運(yùn)算符和操作符的優(yōu)先級、數(shù)據(jù)(變量)定義的語句和符號說明語句 ()數(shù)據(jù)(變量)定義語句,重復(fù)操作符DUP ()符號定義語句、常用偽指令語句和源程序組織 ()段定義語句 ()段使用設(shè)定語句 ()源程序結(jié)束語句 ()匯編語言源程序的組織 ()其它常用的偽指令、上機(jī)過程 ()編輯、匯編、連結(jié)和調(diào)式過程、有關(guān)命令的使用。 ()匯編程序的工作過程簡單介紹2教學(xué)難點(diǎn)1 偽指令的理解2 宏指令的理解3 常用偽指令語句和源程序組織4 地址表達(dá)式的理解教學(xué)要求1 深入理解偽指令2 常用偽指令語句和源程序組織應(yīng)用3 深入領(lǐng)會地址表達(dá)式4 對地址表達(dá)式的組成的理解第四單元 匯 編 語 言 程 序 設(shè) 計(jì)知識點(diǎn)程序框圖、分支程序設(shè)計(jì)、循環(huán)程序設(shè)計(jì)、子程序設(shè)計(jì)、常用系統(tǒng)功能調(diào)用、字符串處理教學(xué)內(nèi)容1、 程序設(shè)計(jì)的一般步驟(1) 分析所要解決的問題,確定適當(dāng)?shù)乃惴?。?) 設(shè)計(jì)整個程序的邏輯結(jié)構(gòu),畫出程序框圖。(3) 編寫程序,正確運(yùn)用IBM PC提供的指令、偽操作以及DOS、BIOS功能調(diào)用。同時簡潔明了的說明注釋。(4) 上機(jī)調(diào)試程序。2、 一個高質(zhì)量程序應(yīng)具有以下特點(diǎn):(1) 程序有較好的邏輯結(jié)構(gòu),便于進(jìn)行二次開發(fā)。(2) 源程序有較好的可讀性。使非專業(yè)人員能讀懂會用,甚至能加以修改。(3) 程序應(yīng)有很好的可靠性和可維護(hù)性,也就是說要保證能正確地工作,并且易于做進(jìn)一步的改進(jìn)和完善。(4) 程序運(yùn)行效率高而且有可重入性,這就要求盡量使用效高的指令,盡量減少程序的額外開銷,同時程序的運(yùn)行不能破壞程序的原始數(shù)據(jù)和指令。3、子程序即是前述的過程。它是模塊化、結(jié)構(gòu)化程序設(shè)計(jì)的基本構(gòu)件,其設(shè)計(jì)與調(diào)用技術(shù)是要求重點(diǎn)和熟悉掌握的內(nèi)容。而對于子程序設(shè)計(jì)和調(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)用的場合。實(shí)現(xiàn)可重入子程序,一般也是用堆棧傳遞參數(shù)。 重難點(diǎn)1 教學(xué)重點(diǎn)、順序程序設(shè)計(jì) ()順序程序設(shè)計(jì)的基本方法 ()簡單查表法代碼轉(zhuǎn)換、 分支程序設(shè)計(jì) () 分支程序設(shè)計(jì)的基本方法 () 利用地址表實(shí)現(xiàn)多向分支、循環(huán)程序設(shè)計(jì) () 循環(huán)結(jié)構(gòu)的組成和控制循環(huán)的一般方法 () 簡單循環(huán)和多重循環(huán)、子程序設(shè)計(jì) () 子程序設(shè)計(jì)的一般原則 () 過程定義語句 () 主程序與子程序的參數(shù)傳遞方法 () 子程序說明信息和寄存器的保護(hù)和恢復(fù) 、常用系統(tǒng)功能調(diào)用() 系統(tǒng)功能調(diào)用概述,調(diào)用方法 ()常用功能調(diào)用。、字符串處理 ()字符串操作指令和重復(fù)前綴 ()字符串處理2。教學(xué)難點(diǎn)1分支程序設(shè)計(jì)應(yīng)用2 循環(huán)程序設(shè)計(jì)應(yīng)用3 子程序設(shè)計(jì)應(yīng)用教學(xué)要求1 加強(qiáng)分支程序設(shè)計(jì)的訓(xùn)練2 加強(qiáng)循環(huán)程序設(shè)計(jì)的訓(xùn)練3 加強(qiáng)子程序設(shè)計(jì)的訓(xùn)練第五單元 輸 入 和 輸 出 與 中 斷知識點(diǎ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方式實(shí)質(zhì)上是一種特殊情況下的程序轉(zhuǎn)移方式。所謂特殊情況一般指:(1) 計(jì)算機(jī)出現(xiàn)異常事件,如電源掉電,內(nèi)存I/O總線奇偶錯等。出現(xiàn)這樣的事件,CPU應(yīng)立即中斷現(xiàn)行程序的運(yù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)存檢驗(yàn) INT 17H 打印機(jī)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

提交評論