循環(huán)程序設(shè)計實驗報告-文少軒(共9頁)_第1頁
循環(huán)程序設(shè)計實驗報告-文少軒(共9頁)_第2頁
循環(huán)程序設(shè)計實驗報告-文少軒(共9頁)_第3頁
循環(huán)程序設(shè)計實驗報告-文少軒(共9頁)_第4頁
循環(huán)程序設(shè)計實驗報告-文少軒(共9頁)_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上循環(huán)程序設(shè)計實驗報告西安交通大學(xué)文少軒一、 實驗?zāi)康?. 掌握循環(huán)程序設(shè)計方法;2. 掌握數(shù)據(jù)的統(tǒng)計和排序方法。二、 實驗設(shè)備IBM-PC 微型計算機(jī) 一臺三、 實驗要求1. 復(fù)習(xí)比較指令、循環(huán)控制指令的用法;2. 根據(jù)流程圖和編程提示,預(yù)先編寫匯編語言程序;3. 有興趣的同學(xué)請編寫出實驗習(xí)題中的程序四、 實驗內(nèi)容及數(shù)據(jù)記錄1. 在屏幕上顯示提示信息“Please input 10 numbers:”,提示用戶輸入10個數(shù)(數(shù)的范圍在099之間),然后從鍵盤上讀入這10個數(shù)。接著對這10個數(shù)從小到大進(jìn)行排序,并統(tǒng)計059、6079、8099的數(shù)各有多少。最后在屏幕上顯

2、示排序后的數(shù)(每個數(shù)之間用逗號分隔)并顯示統(tǒng)計的結(jié)果。顯示格式如下:Sorted numbers:xx,xx,xx,xx,xx,xx,xx,xx,xx,xx059:xx6079:xx8099:xx程序設(shè)計:CALLDOSMACRO FUNCTIONMOV AH,FUNCTIONINT 21HENDMCRLFMACROMOV DL,0DHCALLDOS 2MOV DL,0AHCALLDOS 2ENDMDATASEGMENT;提示信息字符串MESSAGEDB 'Please input 10 nums:',0DH,0AH,'$'鍵盤緩沖區(qū)KB_BUFDB 3ACTL

3、ENDB ?BUFFERDB 3 DUP(?);數(shù)據(jù)及統(tǒng)計結(jié)果NUMBERSDB 10 DUP(?);鍵入的數(shù)據(jù)轉(zhuǎn)換成二進(jìn)制后放在此處LE59DB 0;059的個數(shù)GE60DB 0;6079的個數(shù)GE80DB 0;8099的個數(shù);顯示結(jié)果的字符串SORTSTRDB 'Sorted numbers:'SORTNUMDB 10 DUP(20H,20H,','),0DH,0AHMESS00DB ' 0-59:',30H,30H,0DH,0AHMESS60DB '60-79:',30H,30H,0DH,0AHMESS80DB '8

4、0-99:',30H,30H,0DH,0AH,'$'DATAENDS;CODESEGMENTASSUMECS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AX;顯示MESSAGE提示信息LEA DX,MESSAGECALLDOS 9MOV CX,10;共讀入10個數(shù)據(jù)LEA DI,NUMBERS;設(shè)置數(shù)據(jù)保存區(qū)指針L1:LEA DX,KB_BUFCALLDOS 10;將ASCII碼形式的兩位的十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)MOV AH,BUFFERMOV AL,BUFFER+1CMP AL,0DHJNZ L2MOV AL,AHMOV AH,'

5、0'L2:SUB AL,30HSUB AH,30HSHL AH,1MOV BL,AHSHL AH,1SHL AH,1ADD AH,BLADD AL,AHMOV DI,ALINC DICRLFLOOP L1;對NUMBERS中的10個數(shù)據(jù)進(jìn)行排序LEA SI,NUMBERSMOV BL,9;設(shè)置外循環(huán)次數(shù)NEXT1:MOV DI,SIMOV CL,BL;設(shè)置內(nèi)循環(huán)次數(shù);內(nèi)循環(huán)開始NEXT2:MOV AL,SIINC DICMP AL,DIJB NEXT3MOV DL,DIMOV SI,DLMOV DI,ALNEXT3:LOOP NEXT2;內(nèi)循環(huán)結(jié)束INC SIDEC BLJNZ NEX

6、T1;對NUMBERS中的10個數(shù)據(jù)進(jìn)行統(tǒng)計LEA SI,NUMBERSMOV CL,10GRADE1:CMP BYTE PTRSI,60JNB GRADE2INC LE59JMP L3GRADE2:CMP BYTE PTRSI,80JNB GRADE3INC GE60JMP L3GRADE3:INC GE80L3:INC SILOOP GRADE1;把10個數(shù)據(jù)轉(zhuǎn)換成ASCII碼LEA SI,NUMBERSLEA DI,SORTNUMMOV CL,10L4:MOV AL,SIMOV AH,0MOV BL,10DIV BLADD AH,30HADD AL,30HMOV DI,ALINC DIM

7、OV DI,AHADD DI,2INC SILOOP L4;把統(tǒng)計結(jié)果轉(zhuǎn)換成ASCII碼MOV AL,LE59MOV AH,0MOV BL,10DIV BLADD AH,30HADD AL,30HMOV MESS00+6,ALMOV MESS00+7,AHMOV AL,GE60MOV AH,0MOV BL,10DIV BLADD AH,30HADD AL,30HMOV MESS60+6,ALMOV MESS60+7,AHMOV AL,GE80MOV AH,0MOV BL,10DIV BLADD AH,30HADD AL,30HMOV MESS80+6,ALMOV MESS80+7,AH;顯示排

8、序和統(tǒng)計的結(jié)果LEA DX,SORTSTRCALLDOS 9CALLDOS 4CHCODEENDSEND START編譯、鏈接結(jié)果:執(zhí)行結(jié)果:2. 實驗習(xí)題:從鍵盤輸入任意輸入一個字符串,統(tǒng)計其中AZ字符出現(xiàn)的次數(shù)(不分大小寫,沒出現(xiàn)次數(shù)就記為0),并把結(jié)果顯示在屏幕上。顯示格式如下:A:xxB:XXZ:xx程序設(shè)計:CALLDOSMACRO FUNCTIONMOV AH,FUNCTIONINT 21HENDMDATASEGMENT;提示信息字符串MESSAGEDB 'Please input a string with less than 50 letters:',0DH,0

9、AH,'$'OUTMESSDB 0DH,0AH,'The result is:',0DH,0AH,'$'鍵盤緩沖區(qū)KB_BUFDB 51ACTLENDB ?BUFFERDB 51 DUP(?);數(shù)據(jù)及統(tǒng)計結(jié)果NUMBERSDB 26 DUP(0);統(tǒng)計的數(shù)據(jù)結(jié)果存放在此處ASCNUMS DB 52 DUP(30H);統(tǒng)計的數(shù)據(jù)結(jié)果轉(zhuǎn)換為ASCII碼后存放在此處;顯示結(jié)果的字符串SORTSTRDB 'Sorted numbers:',0DH,0AH,'$'DATAENDS;CODESEGMENTASSUMECS:CO

10、DE,DS:DATASTART:MOV AX,DATAMOV DS,AX;顯示MESSAGE提示信息LEA DX,MESSAGECALLDOS 9LEA DX,KB_BUFCALLDOS 10;把讀入的字符全部轉(zhuǎn)換為大寫MOV CL,ACTLENLEA SI,BUFFERL1:CMP BYTE PTRSI,'a'JB L2SUB BYTE PTRSI,'a'-'A'L2:INC SILOOP L1;進(jìn)行統(tǒng)計MOV CL,ACTLENLEA SI,BUFFERL3:LEA DI,NUMBERSMOV AL,SISUB AL,'A'X

11、OR AH,AHADD DI,AXINC BYTE PTRDIINC SILOOP L3;把統(tǒng)計結(jié)果轉(zhuǎn)換成ASCII碼并存放LEA SI,NUMBERSLEA DI,ASCNUMSMOV CL,26L4:MOV AL,SIMOV AH,0MOV BL,10DIV BLADD AH,30HADD AL,30HMOV DI,ALINC DIMOV DI,AHINC DIINC SILOOP L4;輸出統(tǒng)計結(jié)果LEA DX,OUTMESSCALLDOS 9MOV CL,26MOV BL,0LEA DI,ASCNUMSL5:MOV AL,'A'ADD AL,BLMOV DL,ALCALLDOS 2MOV DL,':'CALLDOS 2MOV DL,DICALLDOS 2INC DIMOV DL,DICALLDOS 2INC DIINC BLMOV DL,20HCALLDOS 2LOO

溫馨提示

  • 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

提交評論