匯編經(jīng)典例程_第1頁(yè)
匯編經(jīng)典例程_第2頁(yè)
匯編經(jīng)典例程_第3頁(yè)
匯編經(jīng)典例程_第4頁(yè)
匯編經(jīng)典例程_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

精選優(yōu)質(zhì)文檔-----傾情為你奉上精選優(yōu)質(zhì)文檔-----傾情為你奉上專(zhuān)心---專(zhuān)注---專(zhuān)業(yè)專(zhuān)心---專(zhuān)注---專(zhuān)業(yè)精選優(yōu)質(zhì)文檔-----傾情為你奉上專(zhuān)心---專(zhuān)注---專(zhuān)業(yè)==========================================編寫(xiě)一個(gè)數(shù)組排序(從小到大)的小程序,數(shù)組在程序中定義,程序先將原數(shù)組顯示一遍,然后排序,再將排好序的數(shù)組顯示一遍。==========================================AAASEGMENTBUFDB'$' L=$-BUFarydw -897,345,6789,8654,-1234,-3456,-99,-678,987,567,32762,-12121,0,3434,4645,-234,23455,-100,100,1000,-1000dw 572,-2345,-6543,-1234,9999lendw($-ary)/2 ASSUMECS:AAA, DS:AAAMAINPROCFAR PUSHCS POPDS LEASI,ARY MOVCX,LENNEXT3: MOVBX,[SI] CALLDISP CALLSPACE ADDSI,2 LOOPNEXT3 CALLCRLF CALLCRLF LEASI,ARYMOVCX,LEN CALLSORT LEASI,ARY MOVCX,LENNEXT5: MOVBX,[SI] CALLDISP CALLSPACE ADDSI,2LOOPNEXT5 MOVAH,4CH INT21HMAIN ENDPDISPPROC PUSHSI PUSHAX PUSHBX PUSHDX PUSHCX MOVCX,0 CMPBX,0 JNLNEXT1 NEGBX MOVCX,1NEXT1: LEASI,BUF+l-1 MOVAX,BX MOVBX,10NEXT: MOVDX,0 DIVBX ADDDL,30H DECSI MOV[SI],DL CMPAX,0 JNENEXT CMPCX,0 JENEXT2 DECSI MOVBYTEPTR[SI],'-'NEXT2: MOVDX,SI MOVAH,9 INT21H POPCX POPDX POPBX POPAX POPSI RETDISP ENDPSORTPROCNEXTT:PUSHCXMOVDI,SIMOVAX,[SI]NEXT0:CMPAX,[DI]JLNEXTQMOVBX,AXMOVAX,[DI]MOV[DI],BXNEXTQ:ADDDI,2LOOPNEXT0MOV[SI],AXADDSI,2POPCXLOOPNEXTT RETSORTENDPCRLFPROC PUSHAXPUSHDXMOVDL,13MOVAH,2INT21HMOVDL,10INT21HPOPDXPOPAXRETCRLFENDPSPACEPROC PUSHAX PUSHDX MOVDL,'' MOVAH,2 INT21H POPDX POPAX RETSPACEENDPAAAENDSENDMAIN===============================================編寫(xiě)一個(gè)程序,從鍵盤(pán)輸入10個(gè)十進(jìn)制數(shù)字字符,然后將這些數(shù)字加密存儲(chǔ)在緩沖區(qū)BUFFER中。加解密表如下:==========================================qqqsegment TAB1DB'QWERTYUIOPASDFGHJKLZXCVBNM' TAB2DB'qazwsxedcrfvtgbyhnujmikolp' TAB3DB')(*&^%/#@!' LEN=$-tab1 MSS1DB13,10,'Pleasechoseafunctioc:',0DH,0AH DB'1--jiami',0DH,0AH DB'2---jiemi',13,10 DB'0--exit$' MSS2DB0dh,0ah,'Error!Youhavepress""key!$' MM1 DB'Yourinputis:' BUF1 DB255DUP(?) MM2 DB'Myoutputis:' BUF2 DB255DUP(?)qqqendscccsegment assumecs:ccc,ds:qqqmainprocfarstart: movax,qqq movds,axrep1: callcrlfLEASI,BUF1LEADI,BUF2leadx,mss1 ;顯示菜單movah,9int21hmovah,1 ;輸入你的選項(xiàng)int21hcmpal,'0' ;輸入0,結(jié)束jequitcmpal,'1' ;輸入1,加密jejiami cmpal,'2' ;輸入2,解密jejiemi mov[mss2+25],al;其他字符,錯(cuò)誤,重輸入leadx,mss2movah,9int21hjmprep1quit: movah,4chint21hjiami: callcrlfnext1: movah,1int21hcmpal,27jeNEXT14MOV[SI],ALcmpal,'A'jnaenext3cmpal,'Z'janext3subal,'A'leabx,tab1jmpnext10next3: cmpal,'a'jnaenext4cmpal,'z'janext4subal,'a'leabx,tab2jmpnext10next4: cmpal,'0'jbnext13cmpal,'9'janext13leabx,tab3subal,'0'next10: xlatnext13: MOV[DI],ALINCSIINCDIjmpnext1next14: MOVBYTEPTR[SI],24HMOVBYTEPTR[DI],24HCALLCRLFLEADX,MM1MOVAH,9INT21HCALLCRLFLEADX,MM2INT21HJMPREP1jiemi: callcrlfnext18: movah,1int21hcmpal,27jeNEXT14MOV[SI],ALmovbx,0next20: cmpal,tab1[bx]jenext22incbxcmpbx,62jbnext20jmpnext40next22: cmpbx,26jaenext23moval,'A'addal,bljmpnext40next23: cmpbx,52jaenext24subbl,26moval,'a'addal,bljmpnext40next24: subbl,52moval,'0'addal,blnext40: MOV[DI],ALINCSIINCDIjmpnext18mainendpcrlfprocpushaxpushdxmovah,2movdl,13int21hmovdl,10int21hpopdxpopaxretcrlfendpcccendsendstart==========================================編寫(xiě)一個(gè)發(fā)聲的小程序,通過(guò)程序使PC喇叭發(fā)出聲音==========================================PROGSEGMENT MAINPROCFAR ASSUMECS:PROG,DS:PROG START: MOVDX,0000 ;計(jì)產(chǎn)生"1","0"次數(shù) INAL,61H ;取得設(shè)備控制字 ANDAL,0FCH ;使AL最低兩位為"0" CHANG: XORAL,3 ;改變輸出值OUT61H,AL;輸出到61H端口,揚(yáng)聲器發(fā)聲 MOVCX,00H;延時(shí)計(jì)數(shù)器WAIT1: LOOPWAIT1 ;延時(shí) DECDXJNECHANG MOVAH,4CH INT21H ;返回系統(tǒng)PROGENDS ENDSTART==========================================編寫(xiě)一個(gè)唱歌的小程序,通過(guò)程序使PC喇叭發(fā)出聲音演奏歌曲==========================================;這是一個(gè)音樂(lè)程序,按大寫(xiě)字母“A”,唱樂(lè)曲“瑪麗有只小羔羊”;;按大寫(xiě)字母“B”,唱樂(lè)曲“太湖船”;按大寫(xiě)字母“C”,唱樂(lè)曲“祝福歌”;按"Q"鍵,退出DATASEGMENTPARA'DATA' INFO1DB0DH,0AH,'WELCOMETOCOMEHERE!$' INFO2DB0DH,0AH,'thisisamusicprogram!$' INFO3DB0DH,0AH,'pleaseselect!$' INFO4DB0DH,0AH,'INPUTERROR!$' INFO5DB0DH,0AH,'PLEASEINPUTAGAIN!$' MUSLISTDB0DH,0AH,'AMUSIC1'DB0DH,0AH,'BMUSIC2'DB0DH,0AH,'CMUSIC3'DB0DH,0AH,'QEXIT'DB0DH,0AH,'$' MUS_FREG1DW330,294,262,294,3DUP(330) DW3DUP(294),330,392,392DW330,294,262,294,4DUP(330)DW294,294,330,294,262,-1 MUS_TIME1DW6DUP(25*8),50*8 DW2DUP(25*8,25*8,50*8)DW12DUP(25*8),100*8 MUS_FREG2DW 330,392,330,294,330,392,330,294,330DW330,392,330,294,262,294,330,392,294DW262,262,220,196,196,220,262,294,332,262,-1 MUS_TIME2DW3DUP(50),25,25,50,25,25,100 DW2DUP(50,50,25,25),100 DW3DUP(50,25,25),100 MUS_FREG3DW262,262,294,262,349 DW330,262,262,294,262 DW392,349,262,262,523 DW440,349,262,262,466 DW466,440,262,392,349,-1 MUS_TIME3DW50,50,100,100,100 DW100,100,50,50,100,100 DW100,100,100,50,50,100 DW100,100,100,100,100,50 DW50,100,100,100,100,100DATA ENDSSTACK SEGMENTPARASTACK'STACK' DB200DUP('STACK')STACK ENDS;*****定義一個(gè)宏*****SHOW MACROb LEADX,b MOVAH,9 INT21HENDM;**********************CODESEGMENTASSUMEDS:DATA,SS:STACK,CS:CODEMAINPROCFAR MOVAX,DATA MOVDS,AX MOVAH,0 ;0號(hào)功能 MOVAL,4 ;顯示方式號(hào)4放在;AL中320*200四色圖形 INT10H ;顯示器輸出控制中斷調(diào)用 MOVAH,0BH ;置彩色調(diào)色板 MOVBH,0MOVBL,1 ;BH=0,BL=4,背景色為紅色I(xiàn)NT10H ;顯示器輸出控制中斷調(diào)用MOVAH,0BHMOVBH,01HMOVBL,00INT10H ;顯示器輸出控制中斷調(diào)用showINFO1showINFO2showINFO3showMUSLISTINPUT:MOVAH,01HINT21HCMPAL,'Q'JZretuCMPAL,'A'JNZB0LEASI,MUS_FREG1LEABP,DS:MUS_TIME1 CALLMUSICJMPEXIT1B0:CMPAL,'B'JNZC0LEASI,MUS_FREG2LEABP,DS:MUS_TIME2CALLMUSICJMPEXIT1C0:CMPAL,'C'JNZexitLEASI,MUS_FREG2LEABP,DS:MUS_TIME2CALLMUSICEXIT1:showINFO5JMPINPUTEXIT:callclearshowINFO4showINFO5showINFO1showINFO2showINFO3showMUSLISTjmpinputRETU:MOVAH,4CHINT21HMAINENDPMUSICPROCNEARFREG1: MOVDI,[SI]CMPDI,-1JEEND_MUS1MOVDX,DS:[BP]MOVBX,1400CALLGENSOUNDADDSI,2ADDBP,2JMPFREG1END_MUS1:RETMUSICENDPGENSOUNDPROCNEAR PUSHAXPUSHBXPUSHCXPUSHDXPUSHDIMOVAL,0B6HOUT43H,ALMOVDX,12HMOVAX,533H*896DIVDIOUT42H,ALMOVAL,AHOUT42H,ALINAL,61HMOVAH,ALORAL,3OUT61H,ALWAIT1:MOVCX,8FF0HDELAY1:LOOPDELAY1DECBXJNZWAIT1MOVAL,AHOUT61H,ALPOPDIPOPDXPOPCXPOPBXPOPAXRETGENSOUNDENDPclearprocnearpushaxpushbxpushcxpushdxmovah,6moval,0movch,0movcl,0movdh,24movdl,79movbh,7int10hpopdxpopcxpopbxpopaxretclearendpCODEENDSENDMAIN==========================================編寫(xiě)一個(gè)通過(guò)鍵盤(pán)輸入你的名字,然后在屏幕上顯示,“hello,你的名字!”的程序。==========================================DATASEGMENT BUF DB30 ACTLDB? STR DB30DUP(?) MESSDB'whatisyourname?',0dh,0ah,'$' DMESSDB0DH,0AH,'Hello,$'DATAENDSCODESEGMENT ASSUMECS:CODE,DS:DATAMAINPROCFARPUSHDSMOVAX,0PUSHAXMOVAX,DATAMOVDS,AXLEADX,MESSMOVAH,9INT21HLEADX,BUFMOVAH,10INT21HMOVAL,ACTLCBWMOVSI,AXLEABX,STRMOV[BX+SI],BYTEPTR'!'MOV[BX+SI+1],BYTEPTR'$'LEADX,DMESSMOVAH,9INT21HLEADX,STRMOVAH,9INT21HRETMAINENDPCODEENDSENDMAIN==========================================11.設(shè)在變量SHUJU為起始地址的字節(jié)存儲(chǔ)單元中存放有N個(gè)帶符號(hào)數(shù),編寫(xiě)程序分別統(tǒng)計(jì):(1)正數(shù)的個(gè)數(shù);(2)負(fù)數(shù)的個(gè)數(shù);(3)零的個(gè)數(shù)。并顯示在屏幕上。==========================================datasegmentshujudb3,-23,-45,-12,-1,1,2,3,4,5,6,7,8,9 db2,30,0,0,0,4,0,-9,44,-33,-22,-44,-99,-3geshudW$-shujuzhengdb0fushudb0lingdb0haokan1db'zhengdegeshu:','$'haokan2db'fushudegeshu:','$'haokan3db'lingdegeshu:','$'huanhangdb0dh,0ah,'$'BUFDB'$' l=$-bufdataendscodesegment assumecs:code,ds:dataKONGPROC PUSHAX PUS

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(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)論