2023年匯編實(shí)驗(yàn)報(bào)告2_第1頁
2023年匯編實(shí)驗(yàn)報(bào)告2_第2頁
2023年匯編實(shí)驗(yàn)報(bào)告2_第3頁
2023年匯編實(shí)驗(yàn)報(bào)告2_第4頁
2023年匯編實(shí)驗(yàn)報(bào)告2_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

中南大學(xué)

匯編實(shí)驗(yàn)報(bào)告

學(xué)院:信息科學(xué)與工程學(xué)院

班級(jí):計(jì)科工試1501班

學(xué)號(hào):__________________________

姓名:______________張雨欣_______________

指導(dǎo)老師:______________雷向東____________________

完畢時(shí)間:2023.06.09

目錄

實(shí)驗(yàn)一、判斷素?cái)?shù).............3

實(shí)驗(yàn)二、判斷單詞個(gè)數(shù)..........9

實(shí)驗(yàn)三、數(shù)組元素排序..........13

心得體會(huì).......................21

實(shí)驗(yàn)一、判斷素?cái)?shù)

一、實(shí)驗(yàn)內(nèi)容

根據(jù)從鍵盤輸入的數(shù)字判斷其是否是素?cái)?shù),并在屏幕上打

出判斷結(jié)果。

二、算法分析

調(diào)用子程序判斷素?cái)?shù)

思緒:只能被1和它自身整除的數(shù)叫做素?cái)?shù),假設(shè)輸入數(shù)

X(十進(jìn)制)

1.先將我們輸入的字符轉(zhuǎn)換為10進(jìn)制相應(yīng)的數(shù)存入BX

2.判斷是否小于2:假如這個(gè)數(shù)是2或1,則一定是素?cái)?shù)

3.從2開始除到X-1,判斷每一次的余數(shù)是否為0

4.若有一次的余數(shù)為0,則不是素?cái)?shù)

5.若余數(shù)都不為0,循環(huán)次數(shù)為X-2,則是素?cái)?shù)

三、源代碼

datasegment

valdb'Thedataisaprimenumber!$'

va2db'-l$'

dataends

codesegment

assumecs:code/ds:data

start:

movax,data

movds,ax

cal1decibin;段內(nèi)調(diào)用子程序

callcrlf

calljudge

callcrlf

movah,4ch

int21h

decibinprocnear;子程序從鍵盤接受十進(jìn)制

movbx,0

newchar:

movah,1

int21h

suba1,30h;轉(zhuǎn)為十進(jìn)制

jlexit;小于0退出

cmpa1,9

jgexit次于9退出

cbw

xchgax,bx;將ax和bx中的內(nèi)容互換

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

三、結(jié)果演示

置DOSBox0.74,Cpuspeed:3000cycles,Frameskip0,Program:DW...I巳

hedataisaprimenumber?

Pressanykeytocontinue_

蹴DOSBox0.74,Cpuspeed:3000cycles,Frameskip0,Program:DW...三回應(yīng)

1/

1

Pressanykeytocontinue

實(shí)驗(yàn)二、判斷單詞個(gè)數(shù)

一、實(shí)驗(yàn)內(nèi)容

給定句子,編寫程序判斷句子中單詞的個(gè)數(shù)。

二、算法分析

設(shè)立bl標(biāo)志位,當(dāng)bl為1時(shí)表達(dá)當(dāng)前元素是字母。設(shè)立循環(huán)

判斷每一位的元素是否在二十六個(gè)字母的大小寫范圍內(nèi)。運(yùn)用

Si擬定到每一位元素,設(shè)立多個(gè)跳轉(zhuǎn)條件。每判斷一次就讓

si力口一o

三、源代碼

.mode1sma11

.data

stringdb"hello,theworld!”

endstringdb?

.code

mainprocfar

movax,@data

movds,ax

movex,(offsetendstring-offsetstri

ng)

movdl,0

movbl,0;標(biāo)志位為1是字母

movsi,offsetstring

again:

cmpb1,0

jnz11;zf不為1跳轉(zhuǎn)

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

四、運(yùn)營(yíng)測(cè)試

Xtt?gfy(8)TJUQ)ttffilH)

n

jiff停存R?1帖帖宣投3SKMifitt我袤AiKtiS

modelsnailnsngQ

.data

stringdb-hello,theworld*-特別提M?

endstringdb?

.code1同步*出OM?EeXtorWi>,fl(質(zhì)實(shí)給落筑?

nainprocfar、事學(xué)的gech.CK*開設(shè)系短軟件?用

AOUax.(Mata

nonds.ax戶只要僉W.N.就可以輕松地學(xué)會(huì)侵腎它,

nouex.(offsetendstringoffsetstring)從百方?增遂行(支總■??聽6kcthe.C,.O)

nowdl,0的學(xué)習(xí),為用戶if一步學(xué)習(xí)軍*ffhos開發(fā)打不食好的

:產(chǎn)者.侄為是字母

novbl.01ata-實(shí)?痛Rtt北的*想?

>由挎作1聆novsi.offsetstring

?曲褓修搐令jgain:2代伴支構(gòu)DOSZ編(柒用\££XE6MJ?>?

,匯嚼《蝴泠enpbl.0WMws匯韁<親用MLIXEi14M>

t曲nwm樂

Jnz11;”不為1跳轉(zhuǎn)JrsBMW\v.?d?,xpacj:natiHA

*nmc*s匚!?其洌*祖用nou41,[si]5

防】勾送康通項(xiàng)即可,作用:就決在“位、,位、Veto-,-

MS功卻用我(剜I)

”笛功蜀國(guó)用累(免費(fèi))及Windcw,8消IB看模堤街上不住王拿運(yùn)行票弱給83,日

KBIK榆吟(免照)樂等匯境程序制魅。

,“(1息窗a-的作用:用戶在圖寫程序的過程中亶面

£*?$(、DOS功度點(diǎn)冏褰、BIOS功能溷咫泉、控制字

n'ASCT#?*、查?1Zm列去文件1?<??

5“信息第口”的使用方法是:依次?擊打開“軟件

?然樂雙擊要打開的內(nèi)杏?就可

以在信復(fù)窗口H不談內(nèi)容,

C\Vren\Aix\Ilesktop\hh.ax>

當(dāng)?shù)?1的急行假:59行號(hào)7列號(hào)T4安陽工希計(jì)算機(jī)科學(xué)與值制工尊用N求民

圈DOSBox0.74,Cpuspeed:3000cycles,Frameskip0,Program:DW...|_Q回用

Pressanykeytocontinue_

實(shí)驗(yàn)三、數(shù)組元素排序

一、實(shí)驗(yàn)內(nèi)容

實(shí)現(xiàn)從鍵盤輸入兩個(gè)數(shù)字并存入數(shù)組中,對(duì)數(shù)組中元素進(jìn)

行排序并打印在屏幕上。

二、算法分析

對(duì)于從鍵盤輸入的每個(gè)數(shù)字都將其存進(jìn)數(shù)組的一個(gè)內(nèi)存

單元中,并將數(shù)組第一個(gè)元素的有效地址置入DI,之后采用冒

泡排序算法對(duì)數(shù)組元素進(jìn)行排序。

二、源代碼

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

;鍵盤輸入數(shù)值數(shù)組子程序(數(shù)組名為array,元素個(gè)數(shù)存放在num

中)

INPUTNUMPROCNEAR

;輸入的數(shù)據(jù)以一個(gè)空格分隔,以回車符結(jié)束輸入

LEADLARRAY;將數(shù)組第一個(gè)元

素的有效地址置入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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論