匯編語言課程設(shè)計_第1頁
已閱讀1頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  《微機(jī)原理實(shí)踐》課程設(shè)計報告</p><p>  題目: 匯編語言課程設(shè)計</p><p>  專業(yè): 網(wǎng)絡(luò)工程 </p><p>  班級: 班 </p><p><b>  學(xué)號: </b></p><p>  姓名:

2、</p><p>  指導(dǎo)教師: </p><p>  完成日期:2013年 1 月 6 日</p><p><b>  一、課程設(shè)計目的</b></p><p>  加深對匯編語言理論和基本知識的理解, 掌握DOS和BIOS系統(tǒng)功能調(diào)用,掌握運(yùn)用匯編語言設(shè)計具有一定功能的軟件的基本方法.</p>

3、<p>  通過編寫一定規(guī)模和難度的程序,進(jìn)行一次較全面的匯編編程訓(xùn)練,提高分析問題和解決問題的能力</p><p><b>  提高調(diào)試程序的能力</b></p><p><b>  二、課程設(shè)計內(nèi)容</b></p><p>  從鍵盤輸入一組十進(jìn)制數(shù),排序后在屏幕上顯示</p><p>

4、;  要求:從鍵盤輸入一組十進(jìn)制數(shù)(每個數(shù)不超過3個字符),它們之間以逗號“,”分開,以回車鍵為該數(shù)組數(shù)據(jù)結(jié)束,將該數(shù)組升序排序后,結(jié)果在屏幕上顯示。</p><p>  '********************Display Program********************</p><p>  please input 10 decimal number,sorted t

5、hen output:</p><p>  如果輸入的不是數(shù),提示出錯,顯示:input error!</p><p><b>  三、課程設(shè)計過程</b></p><p>  1、算法設(shè)計(畫出算法流程圖)</p><p><b>  2、程序代碼清單</b></p><p&g

6、t;<b>  程序代碼如下:</b></p><p>  DSEG SEGMENT ;數(shù)據(jù)段 </p><p>  number dw 80 dup (?)</p><p>  count dw ?</p><p>  BUFF DB 'please input decimal number:$&

7、#39; 提示輸入數(shù)組</p><p>  STR1 DB 'input error!',0AH,0DH,'$'</p><p><b>  DSEG ENDS</b></p><p>  CSEG SEGMENT</p><p>  assume CS:CSEG , DS:D

8、SEG</p><p>  main procfar ;入口</p><p>  mov ax, dseg</p><p>  mov ds, ax</p><p><b>  添加主程序代碼:</b></p><p><b>  xor ax,ax</b></p&

9、gt;<p>  mov dx,offset BUFF </p><p><b>  mov ah,9 </b></p><p><b>  int 21h</b></p><p>  call input;從鍵盤輸入一組十進(jìn)制數(shù)(每個數(shù)不超過3個字符),存于數(shù)組number中</p><

10、p>  call sort ;將該組數(shù)按升序排序 </p><p>  call disp ;將結(jié)果送顯示器顯示 ;按任意鍵退出</p><p><b>  mov ah,1</b></p><p>  int 21h ;程序結(jié)束,返回到操作系統(tǒng)系統(tǒng)</p><p>  mov ax,

11、 4ch </p><p><b>  int 21h</b></p><p><b>  MAIN ENDP</b></p><p>  input proc </p><p>  lea si,number</p><p>  next: mov bx, 0<

12、/p><p><b>  mov cx,4</b></p><p>  newchar: mov ah, 1;鍵盤輸入,每個數(shù)據(jù)以,結(jié)束</p><p>  int 21h </p><p>  cmp al,0dh ;全部數(shù)據(jù)以回車結(jié)束</p><p>  jz he </

13、p><p>  cmp al, 2ch ;存儲數(shù)據(jù)</p><p><b>  jz he</b></p><p>  sub al, 30h </p><p>  jl exit ; <0退出</p><p>  cmp al, 9h</

14、p><p>  jg exit ; </p><p><b>  cbw</b></p><p>  xchg ax, bx</p><p>  mov dx, 10</p><p><b>  mul dx</b></p><p&

15、gt;  xchg ax, bx</p><p>  add bx, ax</p><p>  loop newchar </p><p>  he: inc count</p><p>  mov [si],bx</p><p>  add si,2 </p><p>  cmp a

16、l,0dh </p><p><b>  jz tj</b></p><p>  jmp next </p><p><b>  tj: ret</b></p><p>  input endp</p><p><b>  exit: </b>&

17、lt;/p><p>  mov ax, 4c00h </p><p><b>  int 21h</b></p><p>  sort proc ;冒泡排序,為數(shù)組排序</p><p>  mov cx,count</p><p><b>  dec cx</b&g

18、t;</p><p>  loop1: mov di,cx</p><p><b>  mov bx,0</b></p><p>  loop2: mov ax,number[bx]</p><p>  cmp ax,number[bx+2]</p><p>  jle continue</

19、p><p>  xchg ax,number[bx+2]</p><p>  mov number[bx],ax</p><p>  continue: add bx,2</p><p>  loop loop2</p><p><b>  mov cx,di</b></p><p

20、>  loop loop1</p><p><b>  ret </b></p><p><b>  sort endp</b></p><p>  disp proc ;輸出排列后的數(shù)據(jù)</p><p><b>  call crlf</b>&l

21、t;/p><p>  mov cx,count</p><p>  lea si,number</p><p><b>  repeat1:</b></p><p>  mov bx,[si]</p><p>  mov di,100d</p><p>  call dec_d

22、iv</p><p>  mov di,10d</p><p>  call dec_div</p><p><b>  mov dx,bx</b></p><p>  add dl,30h</p><p><b>  mov ah,2</b></p><

23、p><b>  int 21h</b></p><p><b>  call crlf</b></p><p><b>  add si,2</b></p><p>  loop repeat1</p><p><b>  ret</b></p

24、><p><b>  disp endp</b></p><p>  dec_div proc near ;除法輸出各個位數(shù)</p><p><b>  mov ax,bx</b></p><p><b>  mov dx,0</b></p><p&g

25、t;<b>  div di</b></p><p><b>  mov bx,dx</b></p><p><b>  mov dl,al</b></p><p>  add dl,30h</p><p><b>  mov ah,2</b></p

26、><p><b>  int 21h</b></p><p><b>  ret</b></p><p>  dec_div endp</p><p>  crlf proc near ;換行子程序</p><p><b>  push dx</

27、b></p><p><b>  push ax</b></p><p>  mov dl,0ah</p><p><b>  mov ah,2</b></p><p><b>  int 21h</b></p><p>  mov dl,0dh&

28、lt;/p><p><b>  mov ah,2</b></p><p><b>  int 21h </b></p><p><b>  pop ax</b></p><p><b>  pop dx</b></p><p><

29、b>  ret</b></p><p><b>  crlf endp</b></p><p><b>  CSEG ENDS</b></p><p><b>  END MAIN</b></p><p>  3、調(diào)試過程(包括實(shí)驗(yàn)過程中實(shí)驗(yàn)步驟,出現(xiàn)的問題,

30、解決的方法,使用的實(shí)驗(yàn)數(shù)據(jù)等)</p><p>  (1)按emu8086進(jìn)行調(diào)試,會出現(xiàn)兩個對話框,</p><p>  執(zhí)行run,彈出一個輸入十進(jìn)制的數(shù)的提示框,按要求輸入N個十進(jìn)制數(shù),用逗號分隔開,確保輸入一組N個十進(jìn)制數(shù)組后(且不大于三個字符),按回車鍵對該數(shù)組進(jìn)行自動升序排序。本次實(shí)驗(yàn)所用的N=10個測試數(shù)據(jù)為:46,15,49,51,100,09,24,57,34,94<

31、;/p><p><b>  系統(tǒng)運(yùn)行結(jié)果截圖</b></p><p>  運(yùn)行后,輸入一組十進(jìn)制數(shù)</p><p>  當(dāng)輸入的不是十進(jìn)制數(shù)的時候:</p><p><b>  例如:結(jié)果如圖</b></p><p><b>  5、結(jié)果分析</b><

32、/p><p>  1. 在輸入十進(jìn)制數(shù)組的時候,若途中失誤輸入其他非十進(jìn)制數(shù)組,例如:大小寫字母等,則程序會終止調(diào)試過程,此時,需要進(jìn)行重新調(diào)試。</p><p><b>  2.</b></p><p><b>  四、課程設(shè)計體會</b></p><p>  通過本次課程設(shè)計,對匯編語言又有了進(jìn)一步

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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

提交評論