版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
中南大學
匯編實驗報告
學院:信息科學與工程學院
班級:計科工試1501班
學號:__________________________
姓名:______________張雨欣_______________
指導老師:______________雷向東____________________
完畢時間:2023.06.09
目錄
實驗一、判斷素數.............3
實驗二、判斷單詞個數..........9
實驗三、數組元素排序..........13
心得體會.......................21
實驗一、判斷素數
一、實驗內容
根據從鍵盤輸入的數字判斷其是否是素數,并在屏幕上打
出判斷結果。
二、算法分析
調用子程序判斷素數
思緒:只能被1和它自身整除的數叫做素數,假設輸入數
X(十進制)
1.先將我們輸入的字符轉換為10進制相應的數存入BX
2.判斷是否小于2:假如這個數是2或1,則一定是素數
3.從2開始除到X-1,判斷每一次的余數是否為0
4.若有一次的余數為0,則不是素數
5.若余數都不為0,循環(huán)次數為X-2,則是素數
三、源代碼
datasegment
valdb'Thedataisaprimenumber!$'
va2db'-l$'
dataends
codesegment
assumecs:code/ds:data
start:
movax,data
movds,ax
cal1decibin;段內調用子程序
callcrlf
calljudge
callcrlf
movah,4ch
int21h
decibinprocnear;子程序從鍵盤接受十進制
movbx,0
newchar:
movah,1
int21h
suba1,30h;轉為十進制
jlexit;小于0退出
cmpa1,9
jgexit次于9退出
cbw
xchgax,bx;將ax和bx中的內容互換
movex,10
mu1ex
xchgax,bx
addbx,ax
jmpnewchar
exit:
ret
decibinendp
judgeprocnear;判斷程序
movcx,bx
subex,2
empbx,2
jleprint1
movd1,1
Jud:
movax,bx
incd1
divdl
empah,0
jzprint2
loopjud
jmpprintl
printl:
movah,09h
leadx,val
int21h
ret
print2:
movah,09h
leadx,va2
int21h
ret
judgeendp
crlfprocnear
movdl,Odh
movah,2h
int2lh
movdl,Oah
movah,02h
int21h
ret;返回
crIfendp
codeends
endstart
三、結果演示
置DOSBox0.74,Cpuspeed:3000cycles,Frameskip0,Program:DW...I巳
hedataisaprimenumber?
Pressanykeytocontinue_
蹴DOSBox0.74,Cpuspeed:3000cycles,Frameskip0,Program:DW...三回應
1/
1
Pressanykeytocontinue
實驗二、判斷單詞個數
一、實驗內容
給定句子,編寫程序判斷句子中單詞的個數。
二、算法分析
設立bl標志位,當bl為1時表達當前元素是字母。設立循環(huán)
判斷每一位的元素是否在二十六個字母的大小寫范圍內。運用
Si擬定到每一位元素,設立多個跳轉條件。每判斷一次就讓
si力口一o
三、源代碼
.mode1sma11
.data
stringdb"hello,theworld!”
endstringdb?
.code
mainprocfar
movax,@data
movds,ax
movex,(offsetendstring-offsetstri
ng)
movdl,0
movbl,0;標志位為1是字母
movsi,offsetstring
again:
cmpb1,0
jnz11;zf不為1跳轉
moval,[si]
cmpal,'A'
jb14
cmpal,'Z'
ja13
movb1,1
incdl
jmp14
13:
cmpa1,'a'
jb14
cmpal,'z
ja14
movbl,1
incdl
jmp14
11:
moval,Esi]
cmpa1,'A'
jae15
movb1,0
jmp14
15:
cmpal,'Z'
jbe14
cmpa1,'a'
jae17
movb1,0
jmp14
17:
cmpa1,'z'
jbe14
movbl,0
14:
incsi
loopagain
adddl,30h
movah,2h
int21h
movax,4c00h
int21h
mainendp
end
四、運營測試
Xtt?gfy(8)TJUQ)ttffilH)
n
jiff停存R?1帖帖宣投3SKMifitt我袤AiKtiS
modelsnailnsngQ
.data
stringdb-hello,theworld*-特別提M?
endstringdb?
.code1同步*出OM?EeXtorWi>,fl(質實給落筑?
nainprocfar、事學的gech.CK*開設系短軟件?用
AOUax.(Mata
nonds.ax戶只要僉W.N.就可以輕松地學會侵腎它,
nouex.(offsetendstringoffsetstring)從百方?增遂行(支總■??聽6kcthe.C,.O)
nowdl,0的學習,為用戶if一步學習軍*ffhos開發(fā)打不食好的
:產者.侄為是字母
novbl.01ata-實?痛Rtt北的*想?
>由挎作1聆novsi.offsetstring
?曲褓修搐令jgain:2代伴支構DOSZ編(柒用\££XE6MJ?>?
,匯嚼《蝴泠enpbl.0WMws匯韁<親用MLIXEi14M>
t曲nwm樂
Jnz11;”不為1跳轉JrsBMW\v.?d?,xpacj:natiHA
*nmc*s匚!?其洌*祖用nou41,[si]5
防】勾送康通項即可,作用:就決在“位、,位、Veto-,-
MS功卻用我(剜I)
”笛功蜀國用累(免費)及Windcw,8消IB看模堤街上不住王拿運行票弱給83,日
KBIK榆吟(免照)樂等匯境程序制魅。
,“(1息窗a-的作用:用戶在圖寫程序的過程中亶面
£*?$(、DOS功度點冏褰、BIOS功能溷咫泉、控制字
n'ASCT#?*、查?1Zm列去文件1?<??
5“信息第口”的使用方法是:依次?擊打開“軟件
?然樂雙擊要打開的內杏?就可
以在信復窗口H不談內容,
C\Vren\Aix\Ilesktop\hh.ax>
當第81的急行假:59行號7列號T4安陽工希計算機科學與值制工尊用N求民
圈DOSBox0.74,Cpuspeed:3000cycles,Frameskip0,Program:DW...|_Q回用
Pressanykeytocontinue_
實驗三、數組元素排序
一、實驗內容
實現(xiàn)從鍵盤輸入兩個數字并存入數組中,對數組中元素進
行排序并打印在屏幕上。
二、算法分析
對于從鍵盤輸入的每個數字都將其存進數組的一個內存
單元中,并將數組第一個元素的有效地址置入DI,之后采用冒
泡排序算法對數組元素進行排序。
二、源代碼
CODESEGMENT
ASSUMECS:CODE
ORG100H
START:
PUSHCS
POPDS
PUSHCS
POPES
CALLINPUTNUM
MOVAX,NUM
MOVN,AX
CALLBUBBLESORT
MOVAH,2
MOVDL,10
INT21H
MOVDL,13
INT21H
MOVCX,N
LEASI,ARRAY
@M1:
MOVAX,[SI]
CALLDISPAX
INCSI
INCSI
LOOP@M1
MOVAH,4CH
INT21H
NDW?
—=—————————————-------二---=---———――=二二-------------
BUBBLESORTPROCNEAR
LEABX,ARRAY
LEASI,NUM
MOVAX,SI
SUBAX,BX
RORAX,1
MOVWORDPTR[NUM],AX
DECWORDPTR[NUM]
MOVWORDPTR[I],0
以下采用冒泡排序
LEADI,ARRAY
LINE1:
INCWORDPTR[I]
MOVAX,WORDPTR[I]
CMPAX,WORDPTR[NUM]
JGLINE3
MOVWORDPTR[J],0
LINE2:
INCWORDPTR[J]
MOVAX,WORDPTR[NUM]
INCAX
SUBAX,WORDPTR[I]
CMPWORDPTR[J],AX
JGLINE1
MOVBX,WORDPTR[J]
RORBX,1
MOVAX,WORDPTR[DI][B
X-2]
CMPAX,WORDPTR[DI][BX]
JAELINE2
MOVCX,W0RDPTR[DI][BX]
MOVWORDPTR[DI][BX],AX
MOVWORDPTR[DI][BX-2],CX
JMPLINE2
LINE3:
RET
IDW?
JDW?
BUBBLESORTENDP
;鍵盤輸入數值數組子程序(數組名為array,元素個數存放在num
中)
INPUTNUMPROCNEAR
;輸入的數據以一個空格分隔,以回車符結束輸入
LEADLARRAY;將數組第一個元
素的有效地址置入DI
MOVWORDPTR[NUM],0
STIN:
MOVAX,0
PUSHAX
AGAIN1:
MOVAH,1
INT21H
MOVBYTEPTR[CHAR],AL
CMPAL,13
JELINEO
CMPAL,''
JELINEO
SUBAL,30H
MOVAH,0
MOVSI,AX
POPAX
MOVCL,10
MOVCH,0
MULCX
ADDAX,SI
PUSHAX
JMPAGAIN1
LINEO:
POPAX
MOVWORDPTR[DI],AX
INCWORDPTR[NUM]
CMPBYTEPTR[CHAR],13
JESTINEND
INCDI
INCDI
JMPSTIN
STINEND:
RET
ARRAYDW100DUP(O)
NUMDW0
CHARDB9
INPUTNUMENDP
DISPAXPROCNEAR
PUSHBX
PUSHCX
PUSHDX
PUSHSI
PUSHDS
PUSHCS
POPDS
PUSHAX
MOV
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)社會責任國際認證申請服務行業(yè)市場調研分析報告
- 裝配用鉗項目運營指導方案
- 反射療法服務行業(yè)經營分析報告
- 商標監(jiān)控法律服務行業(yè)相關項目經營管理報告
- 度假屋出租行業(yè)營銷策略方案
- 公共汽車包租行業(yè)經營分析報告
- 嬰兒車專用包產品供應鏈分析
- 復印機產業(yè)鏈招商引資的調研報告
- 手持紙帶噴射器產業(yè)鏈招商引資的調研報告
- 互惠基金經紀行業(yè)相關項目經營管理報告
- 期中綜合檢測(1-4單元)(試題)- 2024-2025學年二年級上冊數學人教版
- 2024年消防宣傳月知識競賽考試題庫500題(含答案)
- 國開2024年秋《機電控制工程基礎》形考任務1答案
- 中國郵政社招筆試題庫
- 食品安全工作操作流程(5篇)
- 《中華民族大團結》(初中)-第10課-偉大夢想-共同追求-教案
- 《非計劃性拔管》課件
- 二十四節(jié)氣課件:《立冬》
- 送貨單電子模板
- 七年級書法PPT課件
- 三室兩廳房屋裝修材料清單
評論
0/150
提交評論