位匯編語言大綱_第1頁
位匯編語言大綱_第2頁
位匯編語言大綱_第3頁
位匯編語言大綱_第4頁
位匯編語言大綱_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、32位匯編語言程序設計(32-bit Assembly Programming)匯編語言程序設計教學大綱一、適用專業(yè): 計算機科學與技術 軟件學院 二、先修課:高級語言程序設計 三、開課學期及學時:三年級上學期(第五學期)授課學時:51 實驗學時:30 總學時:83 四、使用教材:錢曉捷,32位匯編語言程序設計,機械工業(yè)出版社,2011年五、目的和要求:“匯編語言程序設計”是繼“高級語言程序設計”之后的又一門計算機語言程序設計課程,但講解的是面向處理器的低級語言。該課程一方面加強學生的高級語言編程能力;另一方面配合“計算機組成原理”和“微機原理及接口技術”課程,從軟件角度理解計算機工作原理;同

2、時,還作為自動控制等與硬件相關應用領域的程序設計基礎,以及為“嵌入式系統(tǒng)”、“操作系統(tǒng)”、“編譯原理”等課程提供基礎知識。本課程以Intel 80x86指令系統(tǒng)和微軟MASM展開匯編語言程序設計方法。課程要求學生系統(tǒng)學習80x86整數(shù)指令系統(tǒng)、進一步理解計算機工作原理;要求學生掌握匯編語言源程序語句和格式,能夠利用順序、分支、循環(huán)和子程序等結構解決常規(guī)問題。本課程配有上機實踐環(huán)節(jié),要求學生具有閱讀、編輯、匯編和調(diào)試匯編語言程序的能力。六、教學內(nèi)容和要求:第1章 匯編語言基礎,4學時在了解軟硬件開發(fā)環(huán)境的基礎上,熟悉通用寄存器和存儲器組織,掌握匯編語言的語句格式、程序框架和開發(fā)方法。第2章 數(shù)據(jù)

3、表示和尋址,6學時在理解計算機如何表達數(shù)據(jù)的基礎上,熟悉匯編語言中如何使用常量和變量,掌握處理器指令如何尋址數(shù)據(jù)的方式。第3章 通用數(shù)據(jù)處理指令,8學時熟悉IA-32處理器數(shù)據(jù)傳送、算術運算、邏輯運算和移位操作等基本指令,通過程序片段掌握指令功能和編程應用。第4章 程序結構,10學時以順序、分支和循環(huán)程序結構為主線,結合數(shù)值運算、數(shù)組處理等示例程序,掌握控制轉(zhuǎn)移指令以及編寫基本程序的方法。第5章 模塊化程序設計,8學時以子程序結構為主體,圍繞數(shù)碼轉(zhuǎn)換實現(xiàn)鍵盤輸入和顯示輸出,掌握子程序、文件包含、宏匯編等各種多模塊編程的方法。第6章 Windows編程,6學時熟悉匯編語言調(diào)用API函數(shù)的方法,掌

4、握控制臺輸入輸出函數(shù)。熟悉MASM的高級特性,理解Windows圖形窗口程序的編寫。第7章 與Visual C+的混合編程,4學時掌握嵌入?yún)R編和模塊連接進行混合編程方法,理解堆棧幀的作用,熟悉匯編語言調(diào)用高級語言函數(shù)和開發(fā)調(diào)試過程。第8章 DOS環(huán)境的程序設計,4學時熟悉DOS應用程序特點和DOS功能調(diào)用,掌握串操作指令和輸入輸出指令及應用,理解初始化編程、中斷機制和編程方法。第9章 浮點、多媒體及64位指令,1學時熟悉浮點數(shù)據(jù)格式、多媒體數(shù)據(jù)格式及64位編程環(huán)境的特點,了解浮點操作、多媒體操作和64位指令。 “匯編語言程序設計”上機任務“匯編語言程序設計”是一門實踐性很強的課程,需要通過編程

5、實踐更好地掌握課程內(nèi)容。編程實踐以普通32位PC機為唯一硬件條件,結合教材配套的開發(fā)軟件包進行。教材從構建開發(fā)環(huán)境開始就可以安排上機實踐的任務,隨著課堂教學的展開,逐漸進行開發(fā)環(huán)境的熟悉、MASM開發(fā)方法的練習、開發(fā)過程的熟練掌握、調(diào)試程序WinDbg的了解,掌握常用指令應用、分支、循環(huán)、子程序結構、庫文件開發(fā)以及小型項目的組織,并隨著內(nèi)容深入介紹Windows編程和MASM32開發(fā)環(huán)境、與Visual C+混合編程和Visual C+開發(fā)環(huán)境、DOS平臺和輸入輸出指令及串操作指令應用。課程主要基于32位Windows控制臺,以IA-32處理器常用指令和微軟MASM展開匯編語言程序設計方法。課

6、程要求學生系統(tǒng)學習IA-32指令系統(tǒng)、理解計算機工作原理;要求學生具有閱讀、編輯、匯編和調(diào)試匯編語言程序的能力;要求學生掌握匯編語言源程序語句和格式,能夠利用順序、分支、循環(huán)和子程序等結構解決常規(guī)問題。對程序設計類課程,沒有上機編程的實踐是無法真正掌握的。所以,希望學生加強實踐環(huán)節(jié)。學生應完成基本的上機指導編程要求,同時爭取多進行編程實踐;因為只有通過實際編程才能發(fā)現(xiàn)程序設計中的許多問題。請你不要直接拷貝源程序代碼,在你將一條一條語句的錄入編輯過程中,就是書寫正確語句、加深語句理解的絕好機會。上機實驗要求:1、上機前作好充分準備,包括程序框圖、源程序代碼、開發(fā)過程、對運行結果的分析等。2、上機

7、時要遵守實驗室的規(guī)章制度,愛護實驗設備。注意及時在硬盤上存儲程序,以避免文件丟失。每個上機實驗安排在2個學時內(nèi)完成。程序開發(fā)完成后,須由實驗輔導教師在機器上檢查運行結果。3、上機后,應寫出實驗報告、并及時提交到實驗室。上機實驗教材:錢曉捷,32位匯編語言程序設計,機械工業(yè)出版社,2011年本上機指導書所述的習題和例題均來自上述教材,有關習題例題的詳細介紹請參看教材。上機任務1 匯編語言開發(fā)過程(1)創(chuàng)建MASM目錄、復制開發(fā)軟件,熟悉進入和退出32位控制臺的方法。(2)熟悉匯編語言的語句格式和程序框架,錄入教材例1-1程序(EG0101.ASM)。(3)熟悉匯編語言的開發(fā)過程,匯編連接教材例1

8、-1程序、生成可執(zhí)行文件并執(zhí)行,查閱列表文件。上機任務2 數(shù)據(jù)表示和尋址(1)掌握匯編語言進行常量表達和變量定義的方法,參考例1-1程序、按照習題2.14要求在數(shù)據(jù)段定義ASCII可顯示字符的數(shù)值,然后進行匯編、連接生成可執(zhí)行文件,并顯示出正確的ASCII表。(2)掌握數(shù)據(jù)尋址方式,上機驗證教材例2-11和例2-12程序。上機任務3 數(shù)據(jù)傳送指令(1)掌握MOV、XCHG、PUSH和POP等常用傳送指令,驗證例3-3程序,并體會其中存儲器操作數(shù)尋址方法的運用。(2)掌握配套教材的輸入輸出子程序庫的應用,實現(xiàn)習題3.9程序。上機任務4 數(shù)據(jù)運算指令(1)熟悉狀態(tài)標志的意義。首先判斷習題3.12每

9、條指令執(zhí)行后AL的數(shù)值和相關標志狀態(tài),寫出結果。然后將其編輯成為一個完整的匯編語言源程序,匯編連接、生成可執(zhí)行文件。可以利用本書配套的輸入輸出子程序庫,在每條指令之后,調(diào)用其中的DISPRF(先調(diào)用)和DISPHD,顯示6個狀態(tài)標志位和EAX內(nèi)容,并核對事先判斷的結果。(2)掌握常用加法、減法等數(shù)據(jù)運算指令,驗證例3-5程序,實現(xiàn)習題3.15程序。上機任務5 位操作指令(1)掌握邏輯運算、移位等常用位操作類指令,驗證例3-8程序,實現(xiàn)習題3.22程序。(2)了解不同編碼間的轉(zhuǎn)換作用,實現(xiàn)習題3.19程序。上機任務6 調(diào)試程序WinDbg(1)參考教材附錄A,通過調(diào)試例1-1程序,熟悉調(diào)試程序W

10、inDbg的使用。(2)理解斷點調(diào)試、單步調(diào)試的作用和方法,按照附錄A調(diào)試例3-6程序,調(diào)試習題3-22程序、觀察程序運行結果。上機任務7 順序程序和轉(zhuǎn)移指令(1)理解順序程序結構,驗證例4-2程序,實現(xiàn)習題4.7程序。(2)掌握無條件轉(zhuǎn)移指令,實現(xiàn)習題4.8程序。(3)掌握有條件轉(zhuǎn)移指令,驗證例4-6程序,實現(xiàn)習題4.12程序。(4)可選,按照附錄A調(diào)試例4-5程序,調(diào)試習題4.12程序,并注意狀態(tài)標志、并跟蹤指令執(zhí)行順序(即,程序指針EIP數(shù)值變化)。上機任務8 分支程序設計(提交實驗報告)(1)掌握單分支結構程序的特點和方法,驗證例4-10程序,實現(xiàn)習題4.17程序。(2)掌握雙分支結構

11、程序的特點和方法,驗證例4-11程序,實現(xiàn)習題4.16程序。(3)可選,利用WinDbg調(diào)試習題4.16或4.17分支程序。上機任務9 循環(huán)程序設計(提交實驗報告)(1)掌握循環(huán)指令和循環(huán)程序結構,驗證例4-18程序,實現(xiàn)習題4.27程序。(2)綜合分支和循環(huán)程序結構,實現(xiàn)習題4.29程序。(3)可選,利用WinDbg調(diào)試例4-15循環(huán)程序。(4)可選,實現(xiàn)習題4.30程序。上機任務10 子程序設計(提交實驗報告)(1)掌握子程序指令和子程序結構、熟悉子程序的參數(shù)傳遞的方法,實現(xiàn)習題5.8和5.13程序。(2)熟悉子程序模塊、子程序庫和子程序庫包含生成可執(zhí)行文件的多模塊程序結構開發(fā)方法,實現(xiàn)習

12、題5.14各項要求。(3)可選,利用WinDbg調(diào)試例5-7子程序。上機任務11 Windows控制臺應用程序(提交實驗報告)(1)熟悉Windows應用程序接口API調(diào)用原理、掌握常用控制臺函數(shù)的調(diào)用方法,實現(xiàn)習題6-4程序。(2)實現(xiàn)習題6.6程序。(3)可選,將主存內(nèi)容顯示子程序加入32位輸入輸出子程序庫IO32.LIB,相應修改包含文件IO32.INC,并利用一個調(diào)用程序驗證該子程序的正確。(4)可選,利用WinDbg調(diào)試例6-4Windows控制臺程序。上機任務12 Windows圖形窗口應用程序(1)熟悉消息窗口函數(shù)的調(diào)用方法,實現(xiàn)習題6.8程序。(2)了解MASM32開發(fā)環(huán)境,驗

13、證例6-11程序,實現(xiàn)習題6.16程序。上機任務13 與C+混合編程(提交實驗報告)(1)熟悉嵌入?yún)R編和模塊連接的混合編程和開發(fā)過程,驗證例7-1和例7-2程序。(2)實現(xiàn)習題7.9各項要求,并按照要求編寫匯編語言程序。上機任務14 DOS應用程序(1)掌握16位DOS應用程序的編寫,驗證例8-2程序、實現(xiàn)習題8.6程序。(2)熟悉串操作指令,驗證例8-4程序、實現(xiàn)習題8.11程序。(3)掌握輸入輸出指令應用,驗證例8-7程序、實現(xiàn)習題8.14程序。上機任務15 浮點指令程序(1)熟悉浮點數(shù)據(jù)格式和常見浮點指令及其編程,驗證例9-4程序和例9-5程序。(2)實現(xiàn)習題9.6程序。“匯編語言程序設

14、計”布置習題為了更好地理解教材當中的各個知識點,本教材編制了具有自測性質(zhì)的習題,即每章習題中的前3種習題,依次是簡答題、判斷題和填空題。這些習題可以不要求學生書寫在作業(yè)簿上提交,但應該布置給學生進行自我練習。教師可以根據(jù)實際情況在課堂教學過程中,以提問、討論或測試方式與學生交流,了解學生對教學內(nèi)容的掌握情況。第1章1.1 簡答題(1、3、6、7、8)1.2 判斷題(1、6、7、8、9)1.3 填空題(3、4、5、7、10)1.9 1.13 1.15 1.16第2章2.1 簡答題(2、3、4、7、8)2.2 判斷題(2、4、8、9、10)2.3 填空題(1、2、3、8、9)2.10 2.14 2

15、.15 2.17第3章3.1 簡答題(1、2、5、7、9)3.2 判斷題(1、4、5、7、10)3.3 填空題(2、4、5、8、10)3.4 3.6 3.11 3.14 3.16 3.21 3.22第4章4.1 簡答題(2、5、6、9、10)4.2 判斷題(2、4、6、7、10)4.3 填空題(2、3、4、5、6)4.4 4.7 4.15 4.17 4.27 4.29第5章5.1 簡答題(1、4、5、6、7)5.2 判斷題(2、5、6、7、8)5.3 填空題(1、4、5、6、7)5.7 5.8 5.11 5.13 8.13第6章6.1 簡答題(3、5、6、7)6.2 判斷題(1、3、4)6.3

16、 填空題(1、3、6)6.4 6.6 6.7第7章7.1 簡答題(1、3、5、6)7.2 判斷題(5、6、7)7.3 填空題(1、4、5)7.4 7.6第8章8.1 簡答題(1、2、4)8.2 判斷題(2、4、6、7)8.3 填空題(1、2、7)8.6 8.14第9章9.1 簡答題(1、5、7)9.2 判斷題(1、2、3)9.3 填空題(1、2、3)9.4 9.5 9.6匯編語言程序設計考試大綱課程編號:課程名稱:匯編語言程序設計課程英文名稱:Assembly Programming總學時:51學分: 課程的基本教學要求第1章 匯編語言基礎,4學時在了解軟硬件開發(fā)環(huán)境的基礎上,熟悉通用寄存器和

17、存儲器組織,掌握匯編語言的語句格式、程序框架和開發(fā)方法。4第2章 數(shù)據(jù)表示和尋址,6學時在理解計算機如何表達數(shù)據(jù)的基礎上,熟悉匯編語言中如何使用常量和變量,掌握處理器指令如何尋址數(shù)據(jù)的方式。第3章 通用數(shù)據(jù)處理指令,8學時熟悉IA-32處理器數(shù)據(jù)傳送、算術運算、邏輯運算和移位操作等基本指令,通過程序片段掌握指令功能和編程應用。第4章 程序結構,10學時以順序、分支和循環(huán)程序結構為主線,結合數(shù)值運算、數(shù)組處理等示例程序,掌握控制轉(zhuǎn)移指令以及編寫基本程序的方法。第5章 模塊化程序設計,8學時以子程序結構為主體,圍繞數(shù)碼轉(zhuǎn)換實現(xiàn)鍵盤輸入和顯示輸出,掌握子程序、文件包含、宏匯編等各種多模塊編程的方法。第6章 Windows編程,6學時熟悉匯編語言調(diào)用API函數(shù)的方法,掌握控制臺輸入輸出函數(shù)。熟悉MASM的高級特性,理解Windows圖形窗口程序的編寫。第7章 與Visual C+的混合編程,4學時掌握嵌入?yún)R編和模塊連接進行混合編程方法,理解堆棧幀的作用,熟悉匯編語言調(diào)

溫馨提示

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

評論

0/150

提交評論