第5章循環(huán)與分支程序設(shè)計2014_第1頁
第5章循環(huán)與分支程序設(shè)計2014_第2頁
第5章循環(huán)與分支程序設(shè)計2014_第3頁
第5章循環(huán)與分支程序設(shè)計2014_第4頁
第5章循環(huán)與分支程序設(shè)計2014_第5頁
已閱讀5頁,還剩71頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

循環(huán)程序設(shè)計分支程序設(shè)計第5章循環(huán)與分支程序設(shè)計分支結(jié)構(gòu)子程序結(jié)構(gòu)程序結(jié)構(gòu):

復(fù)合結(jié)構(gòu):多種程序結(jié)構(gòu)的組合…

順序結(jié)構(gòu)循環(huán)結(jié)構(gòu)編制匯編語言程序的步驟:(1)分析題意,確定算法(2)根據(jù)算法畫出程序框圖(3)根據(jù)框圖編寫程序(4)上機(jī)調(diào)試程序5.1循環(huán)結(jié)構(gòu)程序設(shè)計(1)初始化部分:設(shè)置循環(huán)的初始狀態(tài)這是循環(huán)的準(zhǔn)備部分,為程序操作、地址指針、循環(huán)計數(shù)、結(jié)束條件等設(shè)置初始值。(2)循環(huán)體:循環(huán)的工作部分及修改部分,包括以下3個部分:循環(huán)工作部分這是循環(huán)程序的主體,完成程序的基本操作,循環(huán)多少次,這部分語句就執(zhí)行多少次。循環(huán)修改部分修改循環(huán)工作部分的變量地址等,這保證每次重復(fù)時,參加執(zhí)行的數(shù)據(jù)能發(fā)生有規(guī)律的變化。循環(huán)控制部分保證循環(huán)條件滿足時進(jìn)入循環(huán);循環(huán)結(jié)束條件不滿足時,退出循環(huán),執(zhí)行循環(huán)體外的后續(xù)語句。(3)循環(huán)結(jié)束部分完成循環(huán)結(jié)束后的處理,如數(shù)據(jù)分析、結(jié)果的存放等。循環(huán)程序典型結(jié)構(gòu)

【例5.1】P163在ADDR單元中存放著數(shù)Y的地址,試編制一程序把Y中(指數(shù)Y所有二進(jìn)制位中包含)1的個數(shù)存入COUNT單元中。(PH163.asm)

要測出Y中1的個數(shù)就應(yīng)逐位測試。一個比較簡單的辦法是可以根據(jù)最高有效位是否為1來計數(shù),然后用移位的方法把各位數(shù)逐次移到最高位去。圖5.1數(shù)1的程序框圖TITLE 數(shù)1的程序DATA SEGMENTADDR DWNUMBERNUMBER DW12F0H;

Y的值COUNT DW?DATA ENDSCODE SEGMENTMAIN PROCFARASSUMECS:CODE,DS:DATASTART: PUSH DS SUB AX,AX PUSH AX MOV AX,DATA MOV DS,AX MOV CX,0 MOV BX,ADDR MOV AX,[BX]REPEAT:CMP AX,0JZ EXITJNS SHIFTINC CX

SHIFT:SHL AX,1JMP REPEATEXIT:MOVCOUNT,CXRET MAINENDPCODEENDS ENDSTART

BX1234【例5.2】P161:把BX中的二進(jìn)制數(shù)以十六進(jìn)制的形式顯示在屏幕上

……

movch,4rotate:movcl,4rolbx,clmoval,blandal,0fhaddal,30h;’0’~’9’ASCII30H~39Hcmpal,3ahjlprintitaddal,7h;’A’~’F’ASCII41H~46Hprintit:movdl,almovah,2int21hdecchjnzrotate

……

……movbx,0newchar:movah,1;鍵盤輸入

int21hsubal,30hjlexit;<0退出

cmpal,9jgexit;>9退出

cbw;?xchgax,bxmovcx,10mulcxxchgax,bxaddbx,axjmpnewcharexit:……例:從鍵盤接收十進(jìn)制數(shù)并存入BX((0×10)+1)×10+2)×10+5125313235

……movbx,0newchar:movah,1;鍵盤輸入

int21hsubal,30hjlexit;<0退出

cmpal,10jladd_tosubal,27h;‘a(chǎn)’~‘f’cmpal,0ahjlexit;<‘a(chǎn)’退出

cmpal,10hjgeexit;>’f’退出add_to:movcl,4shlbx,clmovah,0addbx,axjmpnewcharexit:……例:從鍵盤接收十六進(jìn)制數(shù)并存入BX1af316166((0×16)+1)×16+0a)×16+0f循環(huán)程序控制方法之一計數(shù)法循環(huán)次數(shù)已知1.正計數(shù)法2.負(fù)計數(shù)法計數(shù)器的初值為0,每執(zhí)行一遍循環(huán),計數(shù)器加1,然后與規(guī)定的循環(huán)次數(shù)比較,若相等,則結(jié)束循環(huán),否則繼續(xù)循環(huán)。計數(shù)器的初值為循環(huán)次數(shù),每執(zhí)行一遍循環(huán)體后,計數(shù)器減1,當(dāng)減為0時,結(jié)束循環(huán),否則繼續(xù)循環(huán)。正計數(shù)法負(fù)計數(shù)法【*例5.3A】分別統(tǒng)計COUNT個數(shù)據(jù)中正、負(fù)數(shù)的個數(shù)。(P139.asm)DATASEGMENTBUFDB-32,25,36,-18,-64,0,-3COUNTEQU$-BUFPLUSDB?

MINUSDB?DATAENDS數(shù)據(jù)定義如下:LOP1:MOVAL,[SI]CMPAL,0JGENEXT0INCBLJMPNEXT1NEXT0:INCDLNEXT1:INCSIINCCXCMPCX,COUNTJLLOP1MOVMINUS,BLMOVPLUS,DLMOVAH,4CHINT21HCODEENDSDATASEGMENTBUFDB-32,25,36,-18,-64,0,-3COUNTEQU$-BUFPLUSDB?MINUSDB?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVBL,0MOVDL,0MOVSI,OFFSETBUFMOVCX,0ENDSTART循環(huán)程序控制方法之二條件控制

當(dāng)只知道進(jìn)入或結(jié)束循環(huán)的條件,而無法知道循環(huán)次數(shù)時,可采用條件控制法。1.精度:對于數(shù)值求解問題,有時無法得到精確解。通常的方法是,在迭代計算過程中,把本次迭代結(jié)果與前一次迭代結(jié)果相比,當(dāng)符合精度要求時,結(jié)束迭代循環(huán)。2.設(shè)置結(jié)束標(biāo)志:在數(shù)組和表格處理問題中,在數(shù)據(jù)表格末尾設(shè)置一結(jié)束標(biāo)志,作為循環(huán)結(jié)束條件?!?例5.3B】統(tǒng)計字符串STRING中空格的個數(shù)。數(shù)據(jù)定義為:DSEGSEGMENTSTRINGDB‘Wherethereisawill,’

DB‘thereisaway.$’

RESULTDW?DSEGENDS被統(tǒng)計的字符串開設(shè)結(jié)果存放單元CSEGSEGMENTASSUMEDS:DSEG,CS:CSEGSTART:MOVAX,DATAMOVDS,AX給數(shù)據(jù)段段地址附值取數(shù)空格?累計計數(shù)器加1修改地址指針結(jié)束符?MOVBX,OFFSETSTRINGMOVDX,0NEXT:MOVAL,[BX]CMPAL,‘$’

JZFINCMPAL,20HJNZCONTINCDXCONT:INCBXJMPNEXTFIN:MOVRESULT,DXMOVAH,4CH

INT21HCSEGENDSENDSTART初始化保存結(jié)果結(jié)束YNYNxdw?array_headdw3,5,15,23,37,49,52,65,78,99array_enddw105ndw32【例5.4】:將正數(shù)n

插入一個已整序的正數(shù)字?jǐn)?shù)組……movax,nmovarray_head-2,0ffffhmovsi,0compare:cmparray_end[si],axjleinsertmovbx,array_end[si]movarray_end[si+2],bxsubsi,2jmpshortcompareinsert:movarray_end[si+2],ax……35152337495265789910532-1array_headarray_endnx

LOP1:moval,[bx]CMPAL,'A';比較判斷

JBNEXT1CMPAL,'Z'JANEXT1orAL,20H;或ADDAL,20H大寫轉(zhuǎn)換為小寫

MOV[BX],ALMOVDL,ALMOVAH,02HINT21HNEXT1:INCBXloopLOP1MOVAH,4CHINT21HCODEENDSENDSTARTDATASEGMENTSTRINGDB'ABcdtrDte355FTY'Nequ$-stringDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXLEABX,STRINGmovcx,N

synew21.asm實驗2.1在數(shù)據(jù)段中有從STRING單元開始存放的100個字節(jié)數(shù)據(jù),編寫程序要求將字符串中的大寫字母轉(zhuǎn)換為小寫字母,并顯示到屏幕上。【例5.5】設(shè)在數(shù)據(jù)組X和Y中各存在有10個數(shù)據(jù)元素。試編寫程序計算:(P142.asm)Z1=X1+Y1、Z2=X2+Y2、Z3=X3-Y3、Z4=X4-T4、Z5=X5-Y5Z6=X6+Y6、Z7=X7-Y7、Z8=X8-Y8、Z9=X9+Y9、Z10=X10+Y10并把結(jié)果存入數(shù)組Z中。

數(shù)據(jù)定義:DSEGSEGMENTXDWX1,X2,X3,X4,X5,X6,X7,X8,X9,X10YDWY1,Y2,Y3,Y4,Y5,Y6,Y7,Y8,Y9,Y10ZDW10DUP(?)LRDW0000000011011100BDSEGENDSX1+Y1X3-Y3邏輯尺M(jìn)OVCX,10MOVDX,LRSUBBX,BXNEXT:MOVAX,X[BX]SHRDX,1JCSBADDAX,Y[BX]JMPSHORTRESULTSB:SUBAX,Y[BX]RESULT:MOVZ[BX],AXADDBX,2LOOPNEXTRETMAINENDPCSEGENDSENDMAINDSEGSEGMENTXDW25,47,58,15,45,65,66,32,14,27YDW10,13,65,32,47,45,69,60,9,56ZDW10DUP(?)LRDW00DCHDSEGENDSCSEGSEGMENTASSUMECS:CSEG,DS:DSEGMAINPROCFARPUSHDSSUBAX,AXPUSHAXMOVAX,DSEGMOVDS,AXP142.asm多重循環(huán)程序設(shè)計循環(huán)可以有多重結(jié)構(gòu)。多重循環(huán)程序設(shè)計的基本方法和單重循環(huán)程序設(shè)計的基本方法是一致的,應(yīng)分別考慮各重循環(huán)的控制條件及其程序?qū)崿F(xiàn),相互之間不能混淆。此外,應(yīng)該注意在每次通過外層循環(huán)再次進(jìn)入內(nèi)層循環(huán)時,初始條件必須重新設(shè)置。下面舉例加以說明。MOVAH,4CHINT21HNEWLINEPROCPUSHAXPUSHDXMOVDL,0DHMOVAH,2INT21HMOVDL,0AHMOVAH,2INT21HPOPDXPOPAXRETNEWLINEENDPCSEGENDSENDMAINsynew22.asmCSEGSEGMENTASSUMECS:CSEGMAIN:MOVBL,10HMOVCL,0FHMOVCH,10hLOP1:MOVdl,blMOVAH,02HINT21HMOVDL,0MOVAH,02HINT21HINCBLDECCHJNZLOP1CALLNEWLINEMOVCH,10hDECClJNZLOP1

實驗2.2用表格形式顯示字符:按15行×16列的表格形式顯示ASCII碼為10H~FFH的所有字符。每16個字符為一行,每行中的相鄰兩個字符之間用空白符(ASCII碼為0)分隔。【例5-7】有一個首地址為A的N個字?jǐn)?shù)組,編制程序使該數(shù)組中的數(shù)按照從大到小的次序排列。(雙循環(huán)程序設(shè)計ph1732.asmPH173.asm)這里采用起泡排序算法,從第一個數(shù)開始依次對相鄰兩個數(shù)進(jìn)行比較。如次序?qū)?,則不做任何操作;如次序不對,則使兩個數(shù)交換位置。表5-1表示了這種算法的例子。從中可以看出,在做了第一遍的(N?1)次比較后,最小的數(shù)已經(jīng)放到了最后,所以第二遍只需要考慮(N?1)個數(shù),即只需要比較(N?2)次。第三遍則只需要做(N?3)次比較……總共最多(N?1)遍比較就可以完成排序。圖5.7表示了起泡排序算法的程序框圖,并編制了起泡排序算法的程序。表5-1起泡排序算法舉例序號數(shù)比較遍數(shù)1231234585168432816841684328432163288555將首地址為A的字?jǐn)?shù)組從小到大排序(氣泡算法,多重循環(huán))

32,85,16,15,8

序號地址數(shù)比較遍數(shù)12341A322A+2853A+4164A+6155A+88321615885161583285158163285815163285

圖5.7起泡排序算法的程序框圖movcx,5;元素個數(shù)

deccx;比較遍數(shù)loop1:movdi,cx;比較次數(shù)

movbx,0loop2:movax,A[bx];相鄰兩數(shù)

cmpax,A[bx+2];比較

jlecontinuexchgax,A[bx+2];交換位置

movA[bx],axcontinue:addbx,2looploop2movcx,dilooploop1

MOVcx,LEN-1movbx,cxLOP1:movsi,0movcx,bxLOP2:MOVAx,a[si]CMPAx,a[si+2]JGENEXTXCHGAx,a[si+2]MOVa[si],AxNEXT:addsi,2LOOPLOP2decbxJNZLOP1STOP:MOVAH,4CHINT21HCODEENDSENDSTARTDATASEGMENTaDW12,87,-51,68,0,15LENEQU($-a)/2

DATAENDS

CODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AX

DATASEGMENTaDW12,87,-51,68,0,15nEQU($-a)/2

DATAENDS

CODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXPH173.asmMOVcx,n-1LOP1:movDI,cxmovbx,0LOP2:MOVAx,a[bx]CMPAx,a[bx+2]JGENEXTXCHGAx,a[bx+2]MOVa[bx],AxNEXT:addbx,2LOOPLOP2movcx,diloopLOP1STOP:MOVAH,4CHINT21HCODEENDSENDSTART5.2分支程序設(shè)計判定條件分支程序1判定條件分支程序1分支程序1a.雙分支情況之一b.雙分支情況之二分支程序結(jié)構(gòu):不論哪一種形式,它們的共同特點(diǎn)是:運(yùn)行方向是向前的,在某一種特定條件下,只能執(zhí)行多個分支中的一個分支。條件1分支程序1分支程序n分支程序2條件2條件n判定條件分支程序1分支程序n分支程序2c.多分支情況之一d.多分支情況之二條件1條件2條件nYYYNNS1:…………;程序段1,產(chǎn)生條件

……

JccBRANCH;條件測試,并定向

…………;分支程序段1……

JMPS2;順序控制BRANCH:…………;分支程序段2……S2:……程序段1條件測試分支1分支2YNS2BRANCH圖4.11雙分支程序組成分支結(jié)構(gòu)一般通過條件轉(zhuǎn)移指令來實現(xiàn)。如Jcc,JMP【例5.8】比較兩個無符號數(shù),把大數(shù)存入MAX單元。取第一個數(shù)X1MAX←X1MAX←X2開始結(jié)束X1-X2≥0?YNCSEGSEGMENTASSUMECS:CSEG,DS:DSEGSTART:MOVAX,DSEG;給數(shù)據(jù)段地址附值

MOVDS,AXMOVAL,NUMBER;取第一個數(shù)X1CMPAL,NUMBER+1;與第二個數(shù)X2JNCBRANCH;若X1>X2,轉(zhuǎn)BRANCHMOVAL,NUMBER+1;否則,第二個數(shù)BRANCH:MOVMAX,AL;保存較大數(shù)

MOVAH,4CHINT21HCSEGENDSDSEGSEGMENTNUMBERDB23H,55H;X1=23H和X2=55H為二個無符號數(shù)

MAXDB?DSEGENDS數(shù)據(jù)定義碼段ENDSTART;匯編結(jié)束【例5-9】P177在附加段中,有一個按從小到大順序排列的無符號數(shù)數(shù)組,其首地址存放在DI寄存器中,數(shù)組中的第一個單元存放著數(shù)組長度,在AX中有一個無符號數(shù),要求在數(shù)組中查找(AX)。如找到,則使CF=0,并在SI中給出該元素在數(shù)組中的偏移地址;如未找到,則使CF=1。

;統(tǒng)計

movcx,09leabx,buffnext2:moval,[bx]cmpal,8JAEp1incminusjmpp2p1:incplusp2:incbxloopnext2movah,4chint21hCSEGENDSendstartsynew31.asmDATASEGMENTBUFFDB9dup(?)PLUSDB0MINUSDB0DATAENDSCSEGSEGMENTASSUMECS:CSEG,ds:dataSTART:movax,datamovds,axmovcx,09;輸入9個數(shù)leabx,buffnext1:MOVAH,01INT21HSUBAL,30Hcmpal,0AHjBnext3subal,7next3:mov[bx],alincbxloopnext1實驗3.1通過鍵盤輸入9個16進(jìn)制的個位數(shù),數(shù)據(jù)存入BUFF緩沖區(qū)中,編寫程序分別統(tǒng)計BUFF中大于等于8和小于8的個數(shù),并分別存放到PLUS和MINUS單元中。。datasegmentarraydw12,11,22,33,44,55,66 dw77,88,99,111,222,333numberdw55low_idxdw?high_idxdw?dataends例:折半查找算法121122334455667788991112223330123456789101112(ax)=55low_idx1145high_idx

12555(si)=0ahCf=0(ax)=90low_idx17789high_idx

1212888(si)=10hCf=1折半算法1……leadi,arraymovax,number;要查找數(shù)

cmpax,[di+2];(ax)與第一個元素比較

jachk_lastleasi,[di+2]jeexit;(ax)=第一個元素,找到退出

stcjmpexit;(ax)<第一個元素,未找到退出chk_last:movsi,[di];元素個數(shù)

shlsi,1;計算最后一個元素

addsi,di;的地址

cmpax,[si];(ax)與最后一個元素比較

jbsearchjeexit;(ax)=最后一個元素,找到退出

stcjmpexit;(ax)>最后一個元素,未找到退出算法1compare:cmpax,[bx+si]jeexitjahigher

deccxmovhigh_idx,cxjmpmidhigher:

inccxmovlow_idx,cxjmpmidno_match:stcexit:……search:movlow_idx,1movbx,[di];個數(shù)

movhigh_idx,bxmovbx,dimid:movcx,low_idxmovdx,high_idxcmpcx,dxjano_matchaddcx,dxshrcx,1movsi,cxshlsi,1

折半查找法先取有序數(shù)組的中間元素與查找值相比較。如相等則查找成功;如查找值大于中間元素,則再取高半部的中間元素與查找值相比較。如查找值小于中間元素,則再取低半部的中間元素與查找值相比較。如此重復(fù)直到查找成功或最終未找到該數(shù)為止。datasegmentarraydw12,11,22,33,44,55,66,77,88,99,111,222,333numberdw55low_idxdw?high_idxdw?dataends例:折半查找算法121122334455667788991112223330123456789101112(ax)=55low_idx1145high_idx

12555(si)=0ahCf=0(ax)=90low_idx17789high_idx

1212888(si)=10hCf=1折半算法1……leadi,arraymovax,number;要查找數(shù)

cmpax,[di+2];(ax)與第一個元素比較

jachk_lastleasi,[di+2]jeexit;(ax)=第一個元素,找到退出

stcjmpexit;(ax)<第一個元素,未找到退出chk_last:movsi,[di];元素個數(shù)

shlsi,1;計算最后一個元素的地址

addsi,di;

cmpax,[si];(ax)與最后一個元素比較

jbsearchjeexit;(ax)=最后一個元素,找到退出

stcjmpexit;(ax)>最后一個元素,未找到退出算法1compare:cmpax,[bx+si]jeexitjahigher

deccxmovhigh_idx,cxjmpmidhigher:

inccxmovlow_idx,cxjmpmidno_match:stcexit:……search:movlow_idx,1movbx,[di];個數(shù)

movhigh_idx,bxmovbx,dimid:movcx,low_idxmovdx,high_idxcmpcx,dxjano_matchaddcx,dxshrcx,1movsi,cxshlsi,1例:根據(jù)AL寄存器中哪一位為1(從低位到高位),把程序轉(zhuǎn)移到8個不同的程序分支branch_tabledwroutine1dwroutine2dwroutine3dwroutine4dwroutine5dwroutine6dwroutine7dwroutine8

……

cmpal,0;AL為邏輯尺

jecontinueleabx,branch_tableL:shral,1;邏輯右移

jncadd1jmpwordptr[bx]

;段內(nèi)間接轉(zhuǎn)移add1:addbx,typebranch_table;addbx,2jmpLcontinue:……routine1:……routine2:……

(寄存器間接尋址)(寄存器相對尋址)……cmpal,0jecontinuemovsi,0L:shral,1;邏輯右移

jncadd1jmpbranch_table[si];段內(nèi)間接轉(zhuǎn)移add1:addsi,typebranch_tablejmpLcontinue:……routine1:……routine2:……(基址變址尋址)

……

cmpal,0jecontinueleabx,branch_tablemovsi,7*typebranch_tablemovcx,8L:shlal,1;邏輯左移

jncsub1jmpwordptr[bx][si]

;段內(nèi)間接轉(zhuǎn)移sub1:subsi,typebranch_table;(si)-2loopLcontinue:……routine1:……routine2:……第5章作業(yè)Page1935.55.75.125.18

折半查找法的效率高于順序查找法,對于長度為N的表格,順序查找法平均要作N/2次比較,而折半查找法的平均比較次數(shù)為log2N。所以,如果數(shù)組長度為100,則順序查找法平均要作50次比較,而折半查找法平均作7次比較就可以了。在一個長度為N的有序數(shù)組R中,查找元素K的折半查找算法可描述如下:

(1)初始化被查找數(shù)組的首尾下標(biāo),LOW←L,HIGH←N。(2)若LOW>HIGH,則查找失敗,置CF=1,退出程序。否則,計算中點(diǎn):MID←(LOW+HIGH)/2。

(3)K與中點(diǎn)元素R[MID]比較。若K=R[MID]則查找成功,程序結(jié)束;若K<R[MID],則轉(zhuǎn)步驟(4);若K>R[MID],則轉(zhuǎn)步驟(5)。

(4)低半部分查找(Lower),HIGH←MID-1,返回步驟(2),繼續(xù)查找。

(5)高半部分查找(Higher),LOW←MID+1,返回步驟(2),繼續(xù)查找。圖5.7表示了折半查找算法的程序框圖。給出的程序首先把查找值與數(shù)組的第一個元素和最后一個元素相比較,如果找到該數(shù)小于第一個元素或大于最后一個元素則結(jié)束查找,否則從SEARCH開始折半查找。SEARCH以前的工作在圖5.7中未表示出來。折半查找算法的程序?qū)崿F(xiàn)如程序清單所示。圖5.7折半查找算法的程序框圖例5-9折半查找算法程序。DSEG SEGMENTLOW_I DW ?HIGH_I DW ?DSEG ENDSCSEG SEGMENT ASSUME CS:CSEG,DS:DSEG,ES:DSEGB_SRCH PROC NEARPUSH DSPUSH AXMOV AX,DSEG MOV DS,AXMOV ES,AXPOP AXCMP AX,ES:[DI+2]JA CHK_LAST

LEA SI,ES:[DI+2]JE EXITSTC JMP EXIT CHK_LAST:MOV SI,ES:[DI]SHL SI,1ADD SI,DICMP AX,ES:[SI] JB SEARCH JE EXIT

STC JMP EXITSEARCH:MOV LOW_I,1 MOV BX,ES:[DI]MOV HIGH_I,BXMOV BX,DIMID: MOV CX,LOW_IMOV DX,HIGH_ICMP CX,DXJA NO_MATCH

ADD CX,DXSHR CX,1MOV SI,CXSHL SI,1 COMPARE:CMP AX,ES:[BX+SI] JE EXIT JA HIGHER DEC CXMOV HIGH_I,CXJMP MIDHIGHER: INC CX MOV LOW_I,CX JMP MIDNO_MATCH:STC EXIT: POP DS RET B_SRCH ENDPCSEG ENDS END

溫馨提示

  • 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

提交評論