匯編上機(jī)實(shí)驗(yàn)C-最大公約數(shù)_第1頁(yè)
匯編上機(jī)實(shí)驗(yàn)C-最大公約數(shù)_第2頁(yè)
匯編上機(jī)實(shí)驗(yàn)C-最大公約數(shù)_第3頁(yè)
匯編上機(jī)實(shí)驗(yàn)C-最大公約數(shù)_第4頁(yè)
匯編上機(jī)實(shí)驗(yàn)C-最大公約數(shù)_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、實(shí)驗(yàn)c最大公因數(shù)實(shí)驗(yàn)?zāi)康模簭逆I盤(pán)輸入兩個(gè)不超過(guò)65535的十進(jìn)制整數(shù)a、b,輸出a、b的最大公因數(shù) gcd(a,b)o實(shí)驗(yàn)要求:鍵盤(pán)輸入兩個(gè)十進(jìn)制整數(shù)a、b (其對(duì)應(yīng)的二進(jìn)制至多16位),以回車(chē)結(jié)束 一個(gè)十進(jìn)制數(shù)的輸入。接著在下面的一行上輸出這兩個(gè)整數(shù)的最大公約數(shù)。如無(wú) 最大公因數(shù),則輸出“nogcd”。注:為方便起見(jiàn),最大公因數(shù)前允許有多余的前導(dǎo)0。實(shí)驗(yàn)結(jié)果:please input two numbers and press enter key when you want to stop a number!9600003do you want to continue(y/n)?ypleas

2、e input two numbers and press enter key when you want to stop a number!301200006do you want to continue(y/n)?yplease input two numbers and press enter key when you want to stop a number!50000050do you want to continue(y/n)?yplease input two numbers and press enter key when you want to stop a number!

3、00no gcddo you want to continue(y/n)?n實(shí)驗(yàn)報(bào)告要求:1、分析要點(diǎn)及調(diào)試后的正確程序。datas segmentusedb 10dup(0)bcnum dw?dcnum dw ?detail db 'please in put two numbers and press en ter key when you want to stop a number!'/$'continue db 'do you want to continue(y/n)?','$'nodbnogcd','$,tmp

4、db?datas endsexdatas segmentflg db 0;標(biāo)記是否為第一次計(jì)算,0是,1否exdatas endsstacks segmentdw 100 dup(o)stacks endscodes segmentassume cs:codes,ds:datas,ss:stacks,es:exdatasstart:mov ax,datasmov ds,axmov ax,exdatasmov es,axshowque:cmp flg,0;判斷是否為第一次計(jì)算jztwo;如果是第一次計(jì)算則跳過(guò)換行call changelinetwo:lea dx,detail ;顯示提示mov

5、ah,9int21hsub bx,bxsub cx,cxmov cx, 10mov si,10ready:call changelinesub ax,axsub bx,bxsub dx,dxinput:mov ahz01h ;輸入int21hcmpal,odhjz decsitemovtmp,alsub ax,axsub dx,dxmov ax,bxmul cxmov bx,axsubtmp,30h;轉(zhuǎn)換add bx,word ptrtmpmov si,bx保存sub ax,axjmp inputdecsite:mov dx,bxadd si,2cmp si,14jz nextjnz read

6、ynext:sub ax,axsub bx,bxsubcx,cxsub dx,dxmov ah,02hmov dx,odhint21hmov ah,02hmov dx,oahint21hmyready:sub ax,axmov dx,0mov ax,bcnummov cx,dcnumcmp cx,0jz result2div cxcmp dx,0jz resultjnzsub1sub1:mov bcnum,cxmov dcnum,dxjmpmyreadyresult2:cmp ax,0jz noticemov dx,axjmp mycallresult:mov dx,dx mycall: ca

7、ll transfermovah,02hint21hmovah,02hmov dx,odhint21hmovah,02hmov dx,oahint21hsub ax,axshow:movflg,1lea dx,continue movah,09hint21hsub ax,bxmovah,01hint21hcmpal/y* jzshowquecmp al,v jzshowque jnz exit;輸出轉(zhuǎn)換transfer proc near mov si,offset use add si,4sub bx,cxmov bl,$mov sl+l,blmov ax,dxmov cx,5ag1:mov

8、 dx,0mov bx,1odiv bxpush dxadd dl,30hmov si,dl dec si popdx loopag1 mov dx,si incdx m0vah,9int21hret transfer endp;換行changeline proc near movah,02h mov dx,0dh int21h movah,02h mov dx,0ah int21hretchangeline endpnotice:lea dx,nomovah,09hint21hmovah,02h mov dx,odh int21hmovah,02h movsi,oah int21h jmp showexit:m0vah,4chint21hcodes endsend start2、實(shí)驗(yàn)體會(huì)。這次實(shí)驗(yàn)并沒(méi)有什么技術(shù)方面的難度,但是它難在輸入數(shù)據(jù)長(zhǎng)度的處理。如 果輸入了五位數(shù)那么一個(gè)寄存器無(wú)法放下,必須增加一個(gè)寄存器,同時(shí)在進(jìn)行 乘法除法時(shí)也要考慮這一點(diǎn)。同時(shí)有些難到我的是用戶(hù)友好性的方面,為了去除一個(gè)開(kāi)頭顯示會(huì)換行的問(wèn) 題,我增加了一個(gè)flg標(biāo)記

溫馨提示

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

評(píng)論

0/150

提交評(píng)論