微機(jī)原理與接口技術(shù)實驗三 數(shù)據(jù)比較及排序程序_第1頁
微機(jī)原理與接口技術(shù)實驗三 數(shù)據(jù)比較及排序程序_第2頁
微機(jī)原理與接口技術(shù)實驗三 數(shù)據(jù)比較及排序程序_第3頁
微機(jī)原理與接口技術(shù)實驗三 數(shù)據(jù)比較及排序程序_第4頁
微機(jī)原理與接口技術(shù)實驗三 數(shù)據(jù)比較及排序程序_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 北京XX大學(xué)實驗報告課程(項目)名稱 : 實驗三 數(shù)據(jù)比較及排序程序 學(xué) 院: 專 業(yè): 班 級: 學(xué) 號: 姓 名: 成 績: 2013年 12月 10 日一、任務(wù)與目的1. 實驗任務(wù):(1) 熟悉和掌握數(shù)據(jù)比較指令的用法;(2) 掌握多字節(jié)有符號數(shù)及無符號數(shù)排序程序的編寫方法。2. 實驗?zāi)康?1).掌握數(shù)據(jù)比較指令的使用方法;(2)熟悉數(shù)據(jù)排序?qū)崿F(xiàn)的基本方法。二、原理(條件)1. 相關(guān)知識:(1) 數(shù)據(jù)比較指令的使用方法;(2) 8086/8088匯編程序數(shù)據(jù)排序的基本算法。2.實驗條件:MASM匯編程序及TD調(diào)試軟件。三、內(nèi)容步驟1啟動TD(Turbo Debugger)輸入程序段,觀

2、察執(zhí)行情況、標(biāo)志位變化并分析結(jié)果:(1) MOV AX,0FF80H MOV BX,2C76H CMP AX, BX JAE ABOVE ;注意ABOVE由具體地址替代,下同。 XCHG AX,BXABOVE:HLT (2) MOV AX,0FF80H MOV BX,2C76H CMP AX,BX JLE ABOVE JMP STOPABOVE: XCHG AX,BXSTOP: HLT2編寫10個雙字節(jié)(字)無符號及從小到大排序程序,觀察執(zhí)行情況并分析結(jié)果:利用MASM宏匯編程序及TD程序進(jìn)行調(diào)試。無符號數(shù)排序參考程序如下,請在參考程序之上改寫。 DSEG SEGMENTBUFFER DW 0

3、AAFEH,3768H, 5CD9H,2227H,0BDC1H,725AH,0C236H 66FFH,0E23H,8577HDSEG ENDSCSEG SEGMENTASSUME CS:CSEG,DS:DSEGSTART: MOV AX,DSEG MOV DS,AX LEA DI, BUFFER MOV BL,9 NEXT1:MOV SI,DI MOV CL,BLNEXT2:MOV AX,SI INC SI INC SI CMP AX,SI J NEXT3 ;小于則不交換 MOV DX,SI MOV SI-2,DX MOV SI,AXNEXT3:DEC CL JNZ NEXT2 DEC BL

4、JNZ NEXT1 MOV AH,4CH INT 21H CSEG ENDS END START實現(xiàn)代碼:DSEG SEGMENTBUFFER DW 0AAFEH,3768H,5CD9H,2227H,0BDC1H,725AH,0C236HDW 66FFH,0E23H,8577HDSEG ENDSCSEG SEGMENTASSUME CS:CSEG,DS:DSEGSTART: MOV AX,DSEG MOV DS,AX LEA DI, BUFFER MOV BL,9 NEXT1:MOV SI,DI MOV CL,BLNEXT2:MOV AX,SI INC SI INC SI CMP AX,SI

5、JB NEXT3 ;小于則不交換 MOV DX,SI MOV SI-2,DX MOV SI,AXNEXT3:DEC CL JNZ NEXT2 DEC BL JNZ NEXT1 MOV AH,4CH INT 21H CSEG ENDS END START實現(xiàn)結(jié)果如圖:3編寫10個雙字節(jié)(字)有符號及從小到大排序程序,觀察執(zhí)行情況并分析結(jié)果。 DSEG SEGMENTBUFFER DW 0AAFEH,3768H,5CD9H,2227H,0BDC1H,725AH,0C236H,DW 66FFH,0E23H,8577HDSEGENDS實現(xiàn)結(jié)果如圖: 實現(xiàn)代碼:DSEG SEGMENTBUFFER DW

6、 0AAFEH,3768H,5CD9H,2227H,0BDC1H,725AH,0C236HDW 66FFH,0E23H,8577HDSEG ENDSCSEG SEGMENTASSUME CS:CSEG,DS:DSEGSTART: MOV AX,DSEG MOV DS,AX LEA DI, BUFFER MOV BL,9 NEXT1:MOV SI,DI MOV CL,BLNEXT2:MOV AX,SI INC SI INC SI CMP AX,SI JL NEXT3 MOV DX,SI MOV SI-2,DX MOV SI,AXNEXT3:DEC CL JNZ NEXT2 DEC BL JNZ

7、NEXT1 MOV AH,4CH INT 21H CSEG ENDS END START四、結(jié)論通過實驗進(jìn)一步了解了數(shù)據(jù)比較指令CMP的用法和數(shù)據(jù)排序程序的原理和編寫方法,并且通過對實驗現(xiàn)象和實驗結(jié)果的觀察并結(jié)合課本得出如下結(jié)論:1.比較指令CMP是用目標(biāo)操作數(shù)減原操作數(shù),但相減的結(jié)果不送回目標(biāo)操作數(shù)即指令執(zhí)行后兩操作數(shù)內(nèi)容不變,而只是影響6個狀態(tài)標(biāo)志位。2.JB/JBE用于比較無符號數(shù); JL/JLE用于比較有符號數(shù)。3.數(shù)據(jù)排序的基本原理: 無符號數(shù)比較可以直接用比較指令CMP和條件轉(zhuǎn)移指令JB來實現(xiàn),有符號數(shù)比較可以用比較指令CMP和條件轉(zhuǎn)移指令JL來實現(xiàn),而數(shù)據(jù)的排序可由雙重循環(huán)實現(xiàn),以有符號數(shù)的比較為例,先使第一個數(shù)與下一個數(shù)比較,若小于則使其位置保持不變,大于則兩數(shù)交換位置,此為內(nèi)循環(huán)即:NEXT2:MOV AX,SI INC SI INC SI CMP AX,SI JB NEXT3 ;小于則不交換 MOV

溫馨提示

  • 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

提交評論