找最大值并統計個數匯編實驗報告(共4頁)_第1頁
找最大值并統計個數匯編實驗報告(共4頁)_第2頁
找最大值并統計個數匯編實驗報告(共4頁)_第3頁
找最大值并統計個數匯編實驗報告(共4頁)_第4頁
全文預覽已結束

下載本文檔

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

文檔簡介

1、精選優(yōu)質文檔-傾情為你奉上找最大值&統計負數個數一、程序設計要求1 統計并且顯示負數的個數。2 找出真值最大的數,并以十六進制的形式,顯示在屏幕上,顯示格式為:MAX= H3 數據自己在數據段進行定義,個數至少為8個。二、程序設計思路主程序設計思路:第一步:將BUF單元的第一個數賦給MAX,將記錄負數個數的計數器COUNT置為0第二步:從BUF中第一個數開始,與MAX比較,如果比MAX大則將其賦給MAX;再判斷該數是否為負數,若是將COUNT加1。重復此過程直至比較完所有數。第三步:調用與實驗二相同的子函數將MAX轉化成十六進制數輸出,同時輸出COUNT。三、程序設計流程圖四、源程序;-;程序

2、功能:統計并顯示負數的個數,找出真值最大的數以十六進制數顯示在屏幕上;-.486DATASEGMENTUSE16 ;數據段定義BUF DB 8H,3H,-1,7H,-6,5H,2H,4H,-34,88LL EQU$-BUFMAX DB ?COUNT DB 0MESG1 DB The number of negtive number is:$MESG2 DB 0DH,0AH,MAX=,4 DUP(?),H,0DH,0AH,$DATA ENDS;-CODESEGMENTUSE16 ;代碼段ASSUMECS:CODE,DS:DATABEG: ;數據段初始化 MOVAX,DATA MOVDS,AX M

3、OVCX,LL ;BUF單元數據個數-CX MOV AL,BUF ;BUF單元第一個數-MAX MOV MAX,AL MOVBX,OFFSET BUF ;BX間址BUF單元AGA: MOVAL,BX CMPAL,MAX ;比較MAX和AL的大小,若小轉NEXT JL NEXT MOV MAX,AL ;AL中的數大于MAX時將AL-MAXNEXT: ADD AL,0 ;判斷AL中的數是否為負數 JNS LAST INC COUNTLAST: INC BX LOOP AGA ;重復AGA至比完所以數 MOVAH,9 ;顯示提示信息 MOVDX,OFFSET MESG1 INT21H ; BUF中只

4、有9個數故由此顯示負數的個數 MOVDL,COUNT CMPDL,10 JC NEXT2 ADDDL,7NEXT2: ADDDL,30H MOV AH,2 INT21H MOVDL,MAX ;MAX-DX MOVDH,0 ;調用N2_16ASC子程序 CALLN2_16ASC ;將MAX轉化成十六進制數置于MESG2中 MOVAH,9 MOVDX,OFFSET MESG2 INT21H MOVAH,4CH INT21H;-;子程序功能:將DX中的數的十六進制數的ACSII碼放入MESG2中;-N2_16ASCPROC SAL EDX,16 ;左移16位,為實現從高位取4位數準備 MOV SI,

5、OFFSET MESG2+6 ;MESG2+6的地址-SI MOV COUNT,4 ;計數LAST1: ROL EDX,4 ;循環(huán)左移4位 AND DL,0FH ;將DL的高4為清零,;保證DL中只存在4位二進制數 CMP DL,10 ;將4位的十六進制數轉化成ACSII碼 JC NEXT1 ADD DL,7NEXT1: ADD DL,30H ;將得到的ACSII-SI MOV SI,DL INC SI ;計數 DEC COUNT JNZ LAST1 RETN2_16ASC ENDP;-CODEENDS END BEG五、測試用例及結果分析運行程序,結果如下:分析:BUF單元中存儲的數據是:8H,3H,-1,7H,-6,5H,2H,4H,-34,88。統計的負數個數為3,最大數為88,其十六進制形式為0058H。六、實驗總結所遇問題及解決方法:問 題1:輸出的最大數始終為00FFH.。原 因: 比較BUF中的數和MAX中的數時,用條件轉移指令JC,沒有考慮負數在計算機以補碼形式存在,而CMP指令是兩個數補碼差,用JC指令時最大的數永遠是-1。解決方法: 用有符號條件轉移指令JL,該指令是比較兩個數真值的大小。問 題2:統計負數的個數出錯。原

溫馨提示

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

評論

0/150

提交評論