實驗五 排序程序設計_第1頁
實驗五 排序程序設計_第2頁
實驗五 排序程序設計_第3頁
實驗五 排序程序設計_第4頁
實驗五 排序程序設計_第5頁
已閱讀5頁,還剩6頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、微機原理與應用微機原理與應用 實驗五、實驗五、排序程序設計排序程序設計 實驗重點:數據排序原理、調試程序方法,數據分析并規范記錄實驗重點:數據排序原理、調試程序方法,數據分析并規范記錄 實驗難點:編寫較復雜程序實驗難點:編寫較復雜程序 具體做的情:具體做的情: * * 實驗內容理解實驗內容理解(包括實驗目的)(包括實驗目的) * * 了解排序程序設計原理、編寫方法了解排序程序設計原理、編寫方法 * * 上機實踐熟悉匯編語言程序開發過程及調試方法上機實踐熟悉匯編語言程序開發過程及調試方法 * * 數據分析并記錄數據分析并記錄 * * 編寫實驗報告編寫實驗報告子程序設計子程序設計1 1、實驗、實驗

2、內容內容 在數據區中存放著一組數,數據的個數就是數據緩沖區的長在數據區中存放著一組數,數據的個數就是數據緩沖區的長度,要求用氣泡法對該數據區中數據按遞增關系排序。度,要求用氣泡法對該數據區中數據按遞增關系排序。設計思想:設計思想:a a從最后一個數(或第一個數)開始,依次把相鄰的兩個數進行從最后一個數(或第一個數)開始,依次把相鄰的兩個數進行比較,即第比較,即第n n個數與第個數與第n-1 n-1 個數比較,第個數比較,第n-1n-1個數與第個數與第n-2n-2個數比較個數比較等等;若第等等;若第n-1n-1個數大于第個數大于第n n 個數,則兩者交換,否則不交換,直個數,則兩者交換,否則不交

3、換,直到到n n個數的相鄰兩個數都比較完為止。此時,個數的相鄰兩個數都比較完為止。此時,n n個數中的最小數將個數中的最小數將被排在被排在n n個數的最前列。個數的最前列。b b對剩下的對剩下的n-1n-1個數重復上步個數重復上步, ,找到找到n-1n-1個數中的最小數。個數中的最小數。c c重復第二步重復第二步, ,直到直到n n個數全部排序好為止。個數全部排序好為止。排序程序設計排序程序設計2 2、實驗目的、實驗目的 掌握分支、循環、子程序等基本的程序結構;學習較復雜程序掌握分支、循環、子程序等基本的程序結構;學習較復雜程序的設計及調試方法。的設計及調試方法。 、實驗設備與儀器、實驗設備與

4、儀器 pcpc機、機、emu8086emu8086仿真軟件。仿真軟件。 4 4、實驗步驟實驗步驟 a. a. 檢查實驗設置外接電源,開啟檢查實驗設置外接電源,開啟pcpc機。機。b. b. 進入軟件集成操作環境主界面,按進入軟件集成操作環境主界面,按newnew建立新建立新文件,即可開始輸入源程序。文件,即可開始輸入源程序。c. c. 輸入程序后,按輸入程序后,按ctrl+sctrl+s保存程序(規定擴展保存程序(規定擴展名為名為 * *.asm.asm源程序文件源程序文件)。)。 實驗設備實驗設備 仿真軟件使用仿真軟件使用子程序設計子程序設計d. d. 對原程序進行匯編與鏈接,通過觀察輸出對

5、原程序進行匯編與鏈接,通過觀察輸出窗口的信息,確定對匯編程序的修改。有錯誤,窗口的信息,確定對匯編程序的修改。有錯誤,進行修改,隨即匯編與鏈接,直到無錯誤為止,進行修改,隨即匯編與鏈接,直到無錯誤為止,形成形成 * *.exe.exe可執行的文件可執行的文件。e. e. 在調試界面中采用不同方式調試程序在調試界面中采用不同方式調試程序( (采用采用單步、連續等運行方式,單步、連續等運行方式,調試程序調試程序) ),通過,通過“ausaus”功能,觀察符號變量數據變化。查功能,觀察符號變量數據變化。查看?單元中的內容。看?單元中的內容。 實驗設備實驗設備 仿真軟件使用仿真軟件使用子程序設計子程序

6、設計、程序設計、程序設計1 1)工作原理)工作原理 a a從最后一個數(或第一個數)開始,依次把相鄰的從最后一個數(或第一個數)開始,依次把相鄰的兩個數進行比較,即第兩個數進行比較,即第n n個數與第個數與第n-1 n-1 個數比較,第個數比較,第n-1n-1個數與第個數與第n-2n-2個數比較等等;若第個數比較等等;若第n-1n-1個數大于第個數大于第n n 個數,個數,則兩者交換,否則不交換,直到則兩者交換,否則不交換,直到n n個數的相鄰兩個數都比個數的相鄰兩個數都比較完為止。此時,較完為止。此時,n n個數中的最小數將被排在個數中的最小數將被排在n n個數的最個數的最前列。前列。b b

7、對剩下的對剩下的n-1n-1個數重復上步個數重復上步, ,找到找到n-1n-1個數中的最小數。個數中的最小數。c c重復第二步重復第二步, ,直到直到n n個數全部排序好為止。個數全部排序好為止。 數據分析并記錄數據分析并記錄子程序設計子程序設計code segmentcode segment assume cs:code assume cs:codestart: mov cx ,000ahstart: mov cx ,000ah mov si ,300ah mov si ,300ah mov bl ,0ffh mov bl ,0ffh ;初始化;初始化a1: cmp bl ,0ffha1:

8、cmp bl ,0ffh jnz a4 jnz a4 ;blbl不為不為ffff則轉則轉 mov bl ,00hmov bl ,00h dec cx dec cx ;外循環修正;外循環修正cxcx jz a4 jz a4 push si push si push cx push cx 2 2)參考程序)參考程序 上機操作開發匯編程序上機操作開發匯編程序a2: dec sia2: dec si mov al ,si mov al ,si dec si dec si cmp al ,si cmp al ,si ja a3 ja a3 xchg al ,si xchg al ,si mov si+0

9、1h ,al mov si+01h ,al mov bl ,0ffh mov bl ,0ffha3: inc sia3: inc si loop a2 loop a2 pop cx pop cx pop si pop si jmp a1 jmp a1a4: jmp a4a4: jmp a4code endscode ends end start end start 上機操作開發匯編程序上機操作開發匯編程序 數據分析并記錄數據分析并記錄 3 3)根據上機操作進行記錄)根據上機操作進行記錄 排序程序執行前情況排序程序執行前情況ds:3000ds:3001ds:3002ds:3003ds:3004d

10、s:300520h24h0ah23h32h41hds:3006ds:3007ds:0008ds:3009 7fh80h21h 33hds:3000ds:3001ds:3002ds:3003ds:3004ds:30050ah20h21h23h24h32hds:3006ds:3007ds:0008ds:3009 33h41h7fh 80h 排序程序執行后情況排序程序執行后情況6 6、實、實驗報告要求驗報告要求(見附錄)(見附錄)1)1)實驗報告要求有實驗目的、要求、設備或儀實驗報告要求有實驗目的、要求、設備或儀器、程序設計、步驟、數據分析。數據分析填器、程序設計、步驟、數據分析。數據分析填在在報告本的報告本的原始數據欄。原

溫馨提示

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

評論

0/150

提交評論