匯編語言課程設計_第1頁
匯編語言課程設計_第2頁
匯編語言課程設計_第3頁
匯編語言課程設計_第4頁
匯編語言課程設計_第5頁
已閱讀5頁,還剩7頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、微機原理實踐課程設計報告題目: 匯編語言課程設計專業: 網絡工程 班級: 班 學號: 姓名: 指導教師: 完成日期:2013年 1 月 6 日一、課程設計目的1、 加深對匯編語言理論和基本知識的理解, 掌握DOS和BIOS系統功能調用,掌握運用匯編語言設計具有一定功能的軟件的基本方法.2、 通過編寫一定規模和難度的程序,進行一次較全面的匯編編程訓練,提高分析問題和解決問題的能力3、 提高調試程序的能力二、課程設計內容1、 從鍵盤輸入一組十進制數,排序后在屏幕上顯示要求:從鍵盤輸入一組十進制數(每個數不超過3個字符),它們之間以逗號“,”分開,以回車鍵為該數組數據結束,將該數組升序排序后,結果在

2、屏幕上顯示。*Display Program* please input 10 decimal number,sorted then output: 如果輸入的不是數,提示出錯,顯示:input error!三、課程設計過程1、算法設計(畫出算法流程圖)開始輸入十進制數是否輸入數字結束回車?是否輸入,數據存儲顯示input error!將該數組升序排序顯示排序結果YNYNYN2、程序代碼清單程序代碼如下:DSEG SEGMENT ;數據段 number dw 80 dup (?)count dw ?BUFF DB please input decimal number:$ 提示輸入數組STR1

3、 DB input error!,0AH,0DH,$DSEG ENDSCSEG SEGMENT assume CS:CSEG , DS:DSEGmain procfar ;入口 mov ax, dseg mov ds, ax添加主程序代碼:xor ax,axmov dx,offset BUFF mov ah,9 int 21h call input;從鍵盤輸入一組十進制數(每個數不超過3個字符),存于數組number中call sort ;將該組數按升序排序 call disp ;將結果送顯示器顯示 ;按任意鍵退出 mov ah,1 int 21h ;程序結束,返回到操作系統系統mov ax,

4、 4ch int 21hMAIN ENDPinput proc lea si,numbernext: mov bx, 0 mov cx,4newchar: mov ah, 1;鍵盤輸入,每個數據以,結束 int 21h cmp al,0dh ;全部數據以回車結束 jz he cmp al, 2ch ;存儲數據 jz he sub al, 30h jl exit ; 0退出 cmp al, 9h jg exit ; cbw xchg ax, bx mov dx, 10 mul dx xchg ax, bx add bx, axloop newchar he: inc count mov si,b

5、x add si,2 cmp al,0dh jz tj jmp next tj: retinput endpexit: mov ax, 4c00h int 21hsort proc ;冒泡排序,為數組排序 mov cx,count dec cxloop1: mov di,cx mov bx,0loop2: mov ax,numberbx cmp ax,numberbx+2 jle continue xchg ax,numberbx+2 mov numberbx,axcontinue: add bx,2 loop loop2 mov cx,di loop loop1ret sort endpdi

6、sp proc ;輸出排列后的數據 call crlf mov cx,count lea si,numberrepeat1: mov bx,si mov di,100d call dec_div mov di,10d call dec_div mov dx,bx add dl,30h mov ah,2 int 21h call crlf add si,2 loop repeat1 retdisp endpdec_div proc near ;除法輸出各個位數 mov ax,bx mov dx,0 div di mov bx,dx mov dl,al add dl,30h mov ah,2 in

7、t 21h retdec_div endpcrlf proc near ;換行子程序 push dx push ax mov dl,0ah mov ah,2 int 21h mov dl,0dh mov ah,2 int 21h pop ax pop dx retcrlf endpCSEG ENDSEND MAIN3、調試過程(包括實驗過程中實驗步驟,出現的問題,解決的方法,使用的實驗數據等)(1)按emu8086進行調試,會出現兩個對話框,執行run,彈出一個輸入十進制的數的提示框,按要求輸入N個十進制數,用逗號分隔開,確保輸入一組N個十進制數組后(且不大于三個字符),按回車鍵對該數組進行自動升序排序。本次實驗所用的N=10個測試數據為:46,15,49,51,100,09,24,57,34,944、 系統運行結果截圖運行后,輸入一組十進制數當輸入的不是十進制數的時候:例如:結果如圖5、結果分析1. 在輸入十進制數組的時候,若途中失誤輸入其他非十進制數組,例如:大小寫字母等,則程序會終止調試過程,此時,需要進行重新調試。 2.四、課程設計體會通過本次課程設計,對匯編語言又有了進一步的了解,主要有各種結構以及

溫馨提示

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

評論

0/150

提交評論