2017大学汇编语言上机考试试题和代码_第1页
2017大学汇编语言上机考试试题和代码_第2页
2017大学汇编语言上机考试试题和代码_第3页
2017大学汇编语言上机考试试题和代码_第4页
2017大学汇编语言上机考试试题和代码_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

北京理工大学汇编上机试题和代码1请任意输入一个字符串,将该串倒序后在屏幕上显示。DATASSEGMENTBUF1DB0FFHDBDB0FFHDUPBUF2DB0DH,0AH,0FDHDUPDATASENDSCODESSEGMENTASSUMECSCODES,DSDATASSTARTMOVAX,DATASMOVDS,AXLEADX,BUF1MOVAH,0AHINT21HMOVAX,0MOVAL,BUF11LEASI,BUF11ADDSI,AXLEADI,BUF22MOVCX,0MOVCL,BUF11LMOVAL,SIMOVDI,ALDECSIINCDILOOPLMOVBYTEPTRDI,LEADX,BUF2MOVAH,09HINT21HMOVAH,4CHINT21HCODESENDSENDSTART取巧DATASEGMENTDB512DUP定义可输入的字符个数BUFDBDATAENDSCODESEGMENTASSUMECSCODE,DSDATASTARTMOVAX,DATAMOVDS,AXMOVBX,OFFSETBUF指针指向待显示字符串尾部AGAINMOVAH,01输入字符INT21HCMPAL,0DH是回车吗JEDISP是,转显示DECBX指针减1MOVBX,AL存入输入的字符JMPAGAIN继续输入DISPMOVDX,BX定位待显示字符串首地址MOVAH,09INT21H显示MOVAH,4CHDOS返回INT21HCODEENDSENDSTART2请任意输入一个字符串,统计其中空格和A的个数,并将结果显示在屏幕上。DATASEGMENTBUFDB0FFHDBDB0FFHDUPOUTPUTDB0DH,0AH,A000DB0DH,0AH,SPACE000,DATAENDSCODESEGMENTASSUMECSCODE,DSDATASTARTMOVAX,DATAMOVDS,AXLEADX,BUFMOVAH,0AHINT21HLEASI,BUF2MOVCX,0MOVCL,BUF1LCMPBYTEPTRSI,AJNENOTACMPOUTPUT10,9JECAR1INCOUTPUT10JMPNEXTCAR1CMPOUTPUT9,9JECAR2MOVOUTPUT10,0INCOUTPUT9JMPNEXTCAR2MOVOUTPUT10,0MOVOUTPUT9,0INCOUTPUT8JMPNEXTNOTACMPBYTEPTRSI,JNENEXTCMPOUTPUT21,9JECSR1INCOUTPUT21JMPNEXTCSR1CMPOUTPUT20,9JECSR2MOVOUTPUT21,0INCOUTPUT20JMPNEXTCSR2MOVOUTPUT21,0MOVOUTPUT20,0INCOUTPUT19JMPNEXTNEXTINCSILOOPLLEADX,OUTPUTMOVAH,09HINT21HMOVAX,4C00HINT21HCODEENDSEND3请任意输入一个字符串,将其中的空格全部删除,并将结果显示在屏幕上。DATASEGMENTBUF1DB0FFHDBDB0FFHDUPBUF2DB0DH,0AH,0FDHDUPDATAENDSCODESEGMENTASSUMECSCODE,DSDATASTARTMOVAX,DATAMOVDS,AXLEADX,BUF1MOVAH,0AHINT21HMOVCX,0MOVCL,BUF11LEASI,BUF12LEADI,BUF22LCMPBYTEPTRSI,JEMMOVAL,SIMOVDI,ALINCDIMINCSILOOPLMOVBYTEPTRDI,LEADX,BUF2MOVAH,09HINT21HMOVAX,4C00HINT21HCODEENDSEND4请任意输入一个字符串,将其中A换成B,并将结果显示在屏幕上。DATASEGMENTBUFDB0FFHDBDB0FFHDUPDATAENDSCODESEGMENTASSUMECSCODE,DSDATASTARTMOVAX,DATAMOVDS,AXLEADX,BUFMOVAH,0AHINT21HMOVCX,0MOVCL,BUF1LEASI,BUF2LCMPBYTEPTRSI,AJNEMMOVBYTEPTRSI,BMINCSILOOPLMOVWORDPTRSI,0D0AHMOVBYTEPTRSI2,LEADX,BUF2MOVAH,09HINT21HMOVAX,4C00HINT21HCODEENDSEND5请任意输入一个字符串,将其中A换成CC,并将结果显示在屏幕上。DATASEGMENTBUF1DB0FFHDBDB0FFHDUPBUF2DB0DH,0AH,0FDHDUPDATAENDSCODESEGMENTASSUMECSCODE,DSDATASTARTMOVAX,DATAMOVDS,AXLEADX,BUF1MOVAH,0AHINT21HMOVCX,0MOVCL,BUF11LEASI,BUF12LEADI,BUF22LCMPBYTEPTRSI,AJNEMMOVWORDPTRDI,CCADDDI,2INCSIJMPNMMOVAL,SIMOVDI,ALINCDIINCSINLOOPLMOVBYTEPTRDI,LEADX,BUF2MOVAH,09HINT21HMOVAX,4C00HINT21HCODEENDSEND6请任意输入一个字符串,将其中大写字母换成小写字母,并将结果显示在屏幕上。DATASEGMENTBUF1DB0FFHDBDB0FFHDUPBUF2DB0DH,0AH,0FDHDUPDATAENDSCODESEGMENTASSUMECSCODE,DSDATASTARTMOVAX,DATAMOVDS,AXLEADX,BUF1MOVAH,0AHINT21HMOVCX,0MOVCL,BUF11LEASI,BUF12LEADI,BUF22LMOVAL,SIMOVDI,ALCMPBYTEPTRDI,AJNBMORBYTEPTRDI,00100000BMINCDIINCSINLOOPLMOVBYTEPTRDI,LEADX,BUF2MOVAH,09HINT21HMOVAX,4C00HINT21HCODEENDSEND7请任意输入一个字符串,将其中的英文字母全部删除,并将结果显示在屏幕上。DATASEGMENTBUF1DB0FFHDBDB0FFHDUPBUF2DB0DH,0AH,0FDHDUPDATAENDSCODESEGMENTASSUMECSCODE,DSDATASTARTMOVAX,DATAMOVDS,AXLEADX,BUF1MOVAH,0AHINT21HMOVCX,0MOVCL,BUF11LEASI,BUF12LEADI,BUF22LCMPBYTEPTRSI,AJNBMMOVAL,SIMOVDI,ALINCSIINCDIJMPNEXTMCMPBYTEPTRSI,ZJNANMOVAL,SIMOVDI,ALINCSIINCDIJMPNEXTNCMPBYTEPTRSI,AJBHINCSIJMPNEXTHCMPBYTEPTRSI,ZJAOINCSIJMPNEXTOMOVAL,SIMOVDI,ALINCSIINCDIJMPNEXTNEXTLOOPLMOVBYTEPTRDI,LEADX,BUF2MOVAH,09HINT21HMOVAX,4C00HINT21HCODEENDSEND8现有一组字符串为DATA,NAME,TIME,FILE,CODE,PATH,USER,EXIT,QUIT,TEXT,请编写程序从键盘输入4个字符的字符串,若存在将其修改为DISK,并在显示器上显示。DATASSEGMENTBUFDB05HDBDB05HDUPLIBDB0DH,0AH,DATADB0DH,0AH,NAMEDB0DH,0AH,TIMEDB0DH,0AH,FILEDB0DH,0AH,CODEDB0DH,0AH,PATHDB0DH,0AH,USERDB0DH,0AH,EXITDB0DH,0AH,QUITDB0DH,0AH,TEXT,REPLACEDBDISKDATASENDSCODESSEGMENTASSUMECSCODES,DSDATAS,ESDATASSTARTMOVAX,DATASMOVDS,AXMOVES,AXLEADX,BUFMOVAH,0AHINT21HLEASI,BUF2LEADI,LIB2MOVBX,DIMOVCX,10LCLDPUSHCXMOVCX,4REPZCMPSBJNZNPOPCXMOVSI,BXLEADI,REPLACEMOVCX,4MMOVAL,DIMOVSI,ALINCDIINCSILOOPMJMPEXITNADDBX,6MOVDI,BXLEASI,BUF2LOOPLEXITLEADX,LIBMOVAH,09HINT21HMOVAH,4CHINT21HCODESENDSENDSTART9现有一组字符串为RAM,YES,RED,THE,GET,FOR,AND,KEY,NOT,MAY,请编写程序将他们按ASCII大小排序,并在显示器上显示。DATASEGMENTLIBDBRAM,0DH,0AHDBYES,0DH,0AHDBRED,0DH,0AHDBTHE,0DH,0AHDBGET,0DH,0AHDBFOR,0DH,0AHDBAND,0DH,0AHDBKEY,0DH,0AHDBNOT,0DH,0AHDBMAY,0DH,0AH,DATAENDSCODESEGMENTASSUMECSCODE,DSDATA,ESDATASTARTMOVAX,DATAMOVDS,AXMOVDI,9AMOVCX,DILEASI,LIBBMOVAL,SICMPAL,SI5PUSHSIJAHJEOJBROINCSIMOVAL,SICMPAL,SI5JAHJBRJEOHPOPSIPUSHSIMOVBX,3MMOVAL,BYTEPTRSIMOVAH,BYTEPTRSI5MOVBYTEPTRSI,AHMOVBYTEPTRSI5,ALINCSIDECBXJNZMRPOPSIADDSI,5LOOPBDECDIJNZALEADX,LIBMOVAH,09HINT21HMOVAH,4CHINT21HCODEENDSENDSTART10现有一组字符串为DATA,NAME,TIME,FILE,CODE,PATH,USER,EXIT,QUIT,TEXT,请编写程序从键盘输入4个字符的字符串,若存在将其删除,并在显示器上显示。DATASEGMENTBUFDB05HDBDB05HDUPLIBDB0DH,0AH,DATA,DB0DH,0AH,NAME,DB0DH,0AH,TIME,DB0DH,0AH,FILE,DB0DH,0AH,CODE,DB0DH,0AH,PATH,DB0DH,0AH,USER,DB0DH,0AH,EXIT,DB0DH,0AH,QUIT,DB0DH,0AH,TEST,DATAENDSCODESEGMENTASSUMECSCODE,DSDATA,ESDATASTARTMOVAX,DATAMOVDS,AXMOVES,AXLEADX,BUFMOVAH,0AHINT21HLEASI,BUF2LEADI,LIB2MOVDL,10LPUSHSIPUSHDIMOVCX,4CLDREPZCMPSBMOVAX,DIJEDELPOPDIPOPSIADDDI,7DECDLJNZLJMPEXITDELMOVBX,AXSUBBX,6EXITLEADX,LIBMOVCX,10MPUSHDXCMPDX,BXJENMOVAH,09HINT21HNPOPDXADDDX,7LOOPMMOVAH,4CHINT21HCODEENDSENDSTART11现有一组字符串为DATA,NAME,TIME,FILE,CODE,PATH,USER,EXIT,QUIT,TEXT,请编写程序将上述字符串排序(升序)并插入DISK使其人仍然有序,并在显示器上显示。DATASEGMENTBUFDB0FFHDBDB0DH,0AH,0FDHDUPTISHIDB0DH,0AH,PLEASEINPUTANOTHERSTRINGEXTRADB05HDBDB5DUPLIBDB0DH,0AH,DATADB0DH,0AH,NAMEDB0DH,0AH,TIMEDB0DH,0AH,FILEDB0DH,0AH,CODEDB0DH,0AH,PATHDB0DH,0AH,USERDB0DH,0AH,EXITDB0DH,0AH,QUITDB0DH,0AH,TEXT,DATAENDSCODESEGMENTASSUMECSCODE,DSDATA,ESDATASTARTMOVAX,DATAMOVDS,AXMOVDI,9CALLSORTCALLOUTPUTCALLINSERTMOVDI,10CALLSORTCALLOUTPUTJMPEXITSORTPROCNEARAMOVCX,DILEASI,LIB2BMOVAL,SICMPAL,SI6PUSHSIJAHJEOJBROINCSIMOVAL,SICMPAL,SI6JAHJBRJEOHPOPSIPUSHSIMOVBX,4MMOVAL,BYTEPTRSIMOVAH,BYTEPTRSI6MOVBYTEPTRSI,AHMOVBYTEPTRSI6,ALINCSIDECBXJNZMRPOPSIADDSI,6LOOPBDECDIJNZARETSORTENDPOUTPUTPROCNEARLEADX,LIBMOVAH,09HINT21HRETOUTPUTENDPINSERTPROCNEARLEADX,TISHIMOVAH,9INT21HLEADX,EXTRAMOVAH,0AHINT21HMOVBYTEPTRLIB60,0DHMOVBYTEPTRLIB61,0AHMOVBH,4MOVSI,62MOVDI,2LOOP1MOVAL,EXTRADIMOVLIBSI,ALINCSIINCDIDECBHJNELOOP1MOVAL,MOVLIBSI,ALLEADX,LIBMOVAH,09HINT21HRETINSERTENDPEXITMOVAH,4CHINT21HCODEENDSENDSTART12键盘输入一个十进制数,以十六进制的形式输出。键盘输入一个十进制数,以十六进制的形式输出DATASEGMENTDATAENDSCODESEGMENTASSUMECSCODE,DSDATA,ESDATASTARTMOVAX,DATAMOVDS,AXMOVBX,0INPUTMOVAH,1INT21HCMPAL,0DHJZOUTPUTSUBAL,30HMOVAH,0XCHGAX,BX这一段称之为“累和”MOVCX,10MULCXADDAX,BXXCHGAX,BXJMPINPUTOUTPUTMOVDI,4MOVCL,4YIWEIROLBX,CLMOVDX,BXANDDL,00001111BCMPDL,9JAZIMUADDDL,30HJMPLZIMUADDDL,37H十六进制移位ROLCL4输出字母AF37HLMOVAH,2INT21HDECDIJNEYIWEIMOVAH,4CHINT21HCODEENDSENDSTART13键盘输入一个十进制数,以二进制的形式输出。CODESSEGMENTASSUMECSCODESSTARTNEXTMOVBX,0CALLINPUTCALLOUTPUTJMPNEXTINPUTPROCNEARSHURUMOVAH,01HINT21HCBWCMPAX,0DHJERETURNCMPAX,0JBEXITCMPAX,9JAEXITCALLTRANSFORMJMPSHURURETURNRETINPUTENDPTRANSFORMPROCNEARXCHGAX,BXSUBBX,30HMOVCX,10MULCXADDAX,BXXCHGAX,BXRETTRANSFORMENDPOUTPUTPROCNEARMOVDH,16MOVCL,1CONTINUEROLBX,CLMOVDL,BLANDDL,00000001HADDDL,30HSHUCHUMOVAH,02HINT21HDECDHCMPDH,0JNECONTINUEMOVDL,0AHMOVAH,02HINT21HMOVDL,0DHMOVAH,02HINT21HRETOUTPUTENDPEXITMOVAH,4CHINT21HCODESENDSENDSTART14键盘输入一个二进制数,以十六进制的形式输出。CODESSEGMENTASSUMECSCODESSTARTNEXTMOVBX,0CALLINPUTCALLOUTPUTJMPNEXTINPUTPROCNEARSHURUMOVAH,01HINT21HCBWCMPAX,0DHJERETURNCMPAX,0JBEXITCMPAX,1JAEXITCALLTRANSFORMJMPSHURURETURNRETINPUTENDPTRANSFORMPROCNEARXCHGAX,BXSUBBX,30HMOVCX,2MULCXADDAX,BXXCHGAX,BXRETTRANSFORMENDPOUTPUTPROCNEARMOVDH,4MOVCL,4CONTINUEROLBX,CLMOVDL,BLANDDL,0FHCMPDL,9JAZIMUADDDL,30HJMPSHUCHUZIMUADDDL,37HSHUCHUMOVAH,02HINT21HDECDHCMPDH,0JNECONTINUEMOVDL,0AHMOVAH,02HINT21HMOVDL,0DHMOVAH,02HINT21HRETOUTPUTENDPEXITMOVAH,4CHINT21HCODESENDSENDSTART15键盘输入一个二进制数,以十进制的形式输出。CODESSEGMENTASSUMECSCODESSTARTAGAINMOVBX,0CALLINPUTCALLOUTPUTJMPAGAININPUTPROCNEARSHURUMOVAH,01HINT21HCBWCMPAX,0DHJERETURNCMPAX,0JBEXITCMPAX,1JAEXITCALLTRANSFORMJMPSHURURETURNRETINPUTENDPTRANSFORMPROCNEARXCHGAX,BXSUBBX,30HMOVCX,2MULCXADDAX,BXXCHGAX,BXRETTRANSFORMENDPOUTPUTPROCNEARMOVAX,BXMOVDX,0MOVCX,10000DIVCXMOVBX,DXADDAL,30HMOVDL,ALMOVAH,02HINT21HMOVAX,BXMOVDX,0MOVCX,1000DIVCXMOVBX,DXADDAL,30HMOVDL,ALMOVAH,02HINT21HMOVAX,BXMOVDX,0MOVCX,100DIVCXMOVBX,DXADDAL,30HMOVDL,ALMOVAH,02HINT21HMOVAX,BXMOVDX,0MOVCX,10DIVCXPUSHDXADDAL,30HMOVDL,ALMOVAH,02HINT21HPOPDXADDDL,30HMOVAH,02HINT21HMOVDL,0AHMOVAH,02HINT21HMOVDL,0DHMOVAH,02HINT21HRETOUTPUTENDPEXITMOVAH,4CHINT21HCODESENDSENDSTART16键盘输入一个十六进制数,以十进制的形式输出。CODESSEGMENTASSUMECSCODESSTARTAGAINMOVBX,0CALLINPUTCALLOUTPUTJMPAGAININPUTPROCNEARSHURUMOVAH,01HINT21HCBWCMPAX,0DHJERETURNCMPAX,0JBEXITCMPAX,FJAEXITCALLTRANSFORMJMPSHURURETURNRETINPUTENDPTRANSFORMPROCNEARXCHGAX,BXCMPBX,9JAZIMUSUBBX,30HJMPCHENGZIMUSUBBX,57HCHENGMOVCX,16MULCXADDAX,BXXCHGAX,BXRETTRANSFORMENDPOUTPUTPROCNEARMOVAX,BXMOVDX,0MOVCX,10000DIVCXMOVBX,DXADDAL,30HMOVDL,ALMOVAH,02HINT21HMOVAX,BXMOVDX,0MOVCX,1000DIVCXMOVBX,DXADDAL,30HMOVDL,ALMOVAH,02HINT21HMOVAX,BXMOVDX,0MOVCX,100DIVCXMOVBX,DXADDAL,30HMOVDL,ALMOVAH,02HINT21HMOVAX,BXMOVDX,0MOVCX,10DIVCXPUSHDXADDAL,30HMOVDL,ALMOVAH,02HINT21HPOPDXADDDL,30HMOVAH,02HINT21HMOVDL,0AHMOVAH,02HINT21HMOVDL,0DHMOVAH,02HINT21HRETOUTPUTENDPEXITMOVAH,4CHINT21HCODESENDSENDSTART17键盘输入一个十六进制数,以二进制的形式输出。CODESSEGMENTASSUMECSCODESSTARTNEXTMOVBX,0CALLINPUTCALLOUTPUTJMPNEXTINPUTPROCNEARSHURUMOVAH,01HINT21HCBWCMPAX,0DHJERETURNCMPAX,0JBEXITCMPAX,FJAEXITCALLTRANSFORMJMPSHURURETURNRETINPUTENDPTRANSFORMPROCNEARXCHGAX,BXCMPBX,9JATO1SUBBX,30HJMPTO2TO1SUBBX,57HTO2MOVCX,16MULCXADDAX,BXXCHGAX,BXRETTRANSFORMENDPOUTPUTPROCNEARMOVDH,16MOVCL,1CONTINUEROLBX,CLMOVDL,BLANDDL,00000001HADDDL,30HJMPSHUCHUSHUCHUMOVAH,02HINT21HDECDHCMPDH,0JNECONTINUEMOVDL,0AHMOVAH,02HINT21HMOVDL,0DHMOVAH,02HINT21HRETOUTPUTENDPEXITMOVAH,4CHINT21HCODESENDSENDSTART18将一组有符号数中的负数求和,并统计负数的个数,并在屏幕上以十进制的形式显示结果。DATASEGMENTBUFDB38H,4AH,0C5H,83H,9CH,0B4H,7FH,0C4H,05H,0F5HNUMDBNEGTIVENUMBER0,0DH,0AHCOUNTDBNEGTIVECOUNT,0DH,0AH,ZHUANHUANDBJISUANDW0DATAENDSCODESEGMENTASSUMEDSDATA,CSCODE,ESDATASTARTMOVAX,DATAMOVDS,AXLEASI,BUFMOVCX,10PANDUANXORBH,BHMOVBL,SICMPBL,0JGPOSITIVEADDNUM15,1NEGBLADDJISUAN,BXPOSITIVEINCSILOOPPANDUANLEASI,ZHUANHUANSHUCHUMOVAX,JISUANMOVBL,10DIVBLMOVSI,AHXORAH,AHMOVJISUAN,AXCMPAL,0JEEXITINCSIJMPSHUCHUEXITMOVSI1,ALLEADI,COUNT15LEASI,ZHUANHUAN3MOVCX,4AGAINMOVBL,SIADDBL,30HMOVDI,BLINCDIDECSILOOPAGAINLEADX,NUMMOVAH,09HINT21HMOVAX,4C00HINT21HCODEENDSENDSTART19键盘输入两组数743216、527864,按BCD码求和,并将结果显示在屏幕上。DATASEGMENTBUFDB0FFHDBDB0FFHDUPSTROUTDB0DH,0AH,7DUP0,DATAENDSCODESEGMENTASSUMECSCODE,DSDATASTARTMOVAX,DATAMOVDS,AXLEADX,BUFMOVAH,0AHINT21HLEASI,BUF2MOVCX,6AGAINSUBBYTEPTRSI,30HSUBBYTEPTRSI7,30HINCSILOOPAGAINLEASI,BUF7LEADI,BUF14LEABX,STROUT8MOVCX,6CLCAGAIN1MOVAL,SIADCAL,DICLCCMPAL,10JAECARRYADDBX,ALJMPNEXTCARRYSUBAL,10ADDBX,ALSTCNEXTDECSIDECDIDECBXLOOPAGAIN1ADCBYTEPTRBX,0LEADX,STROUTMOVAH,09HINT21HMOVAH,4CHINT21HCODEENDSENDSTART提示版DATASEGMENTBUF1DB0FFHDBDB0FFHDUPBUF2DB0FFHDBDB0FFHDUPTISHI1DBPLEASEINPUTFIRSTNUMBER,0DH,0AH,TISHI2DB0DH,0AH,PLEASEINPUTSECONDNUMBER,0DH,0AH,STROUTDB0DH,0AH,7DUP0,DATAENDSCODESEGMENTASSUMECSCODE,DSDATASTARTMOVAX,DATAMOVDS,AXLEADX,TISHI1MOVAH,09HINT21HCALLINPUT1LEADX,TISHI2MOVAH,09HINT21HCALLINPUT2LEASI,BUF12LEADI,BUF22MOVCX,6AGAINSUBBYTEPTRSI,30HSUBBYTEPTRDI,30HINCSIINCDILOOPAGAINLEASI,BUF17LEADI,BUF27LEABX,STROUT8MOVCX,6CLCAGAIN1MOVAL,SIADCAL,DICLCCMPAL,10JAECARRYADDBX,ALJMPNEXTCARRYSUBAL,10ADDBX,ALSTCNEXTDECSIDECDIDECBXLOOPAGAIN1ADCBYTEPTRBX,0LEADX,STROUTMOVAH,09HINT21HMOVAH,4CHINT21HINPUT1LEADX,BUF1MOVAH,0AHINT21HRETINPUT2LEADX,BUF2MOVAH,0AHINT21HRETCODEENDSENDSTART19_1键盘输入十个数,分别统计0到9,10到99,100以上的数的个数,并显示结果。DATASSEGMENTBUFDB0FFHDBDB0FFHDUPOUT1DB0AH,0DH,00090OUT2DB0AH,0DH,10990OUT3DB0AH,0DH,1000DATASENDSCODESSEGMENTASSUMECSCODES,DSDATASSTARTMOVAX,DATASMOVDS,AXMOVCX,10SHURULEADX,BUFMOVAH,0AHINT21HMOVDL,0AHMOVAH,02HINT21HMOVDL,0DHMOVAH,02HINT21HMOVAL,BYTEPTRBUF1CMPAL,1JZGEWEICMPAL,2JZSHIWEIJMPOTHERGEWEIINCOUT19CMPOUT19,9JAJINGWEI1JMPNEXTJINGWEI1MOVOUT19,0MOVOUT18,1JMPNEXTSHIWEIINCOUT29CMPOUT29,9JAJINGWEI2JMPNEXTJINGWEI2MOVOUT29,0MOVOUT28,1JMPNEXTOTHERINCOUT39CMPOUT39,9JAJINGWEI3JMPNEXTJINGWEI3MOVOUT39,0MOVOUT38,1NEXTLOOPSHURULEADX,OUT1MOVAH,09HINT21HMOVAH,4CHINT21HCODESENDSENDSTART20键盘输入下列两组十进制数,求其和,并将结果显示在屏幕上3578941846531425DATASEGMENTBUF1DB0FFHDBDB0FFHDUPBUF2DB0FFHDBDB0FFHDUPTISHI1DBPLEASEINPUTFIRSTNUMBER,0DH,0AH,TISHI2DB0DH,0AH,PLEASEINPUTSECONDNUMBER,0DH,0AH,STROUTDB0DH,0AH,9DUP0,DATAENDSCODESEGMENTASSUMECSCODE,DSDATASTARTMOVAX,DATAMOVDS,AXLEADX,TISHI1MOVAH,09HINT21HCALLINPUT1LEADX,TISHI2MOVAH,09HINT21HCALLINPUT2LEASI,BUF12LEADI,BUF22MOVCX,8AGAINSUBBYTEPTRSI,30HSUBBYTEPTRDI,30HINCSIINCDILOOPAGAINLEASI,BUF19LEADI,BUF29LEABX,STROUT10MOVCX,8CLCQIUHEMOVAL,SIADCAL,DICLCCMPAL,9JACARRYADDBYTEPTRBX,ALJMPNEXTCARRYSUBAL,10ADDBYTEPTRBX,ALSTCNEXTDECSIDECDIDECBXLOOPQIUHEADCBYTEPTRBX,0LEADX,STROUTMOVAH,09HINT21HMOVAH,4CHINT21HINPUT1LEADX,BUF1MOVAH,0AHINT21HRETINPUT2LEADX,BUF2MOVAH,0AHINT21HRETCODEENDSENDSTART21键盘输入一串二进制数1AH,7CH,0BAH,3AH,45H,63H求其和,并将结果显示在屏幕上。DATASSEGMENTSUMDW0DATASENDSSTACKSSEGMENT此处输入堆栈段代码STACKSENDSCODESSEGMENTASSUMECSCODES,DSDATAS,SSSTACKSSTARTMOVAX,DATASMOVDS,AXXIAYIGEMOVBX,0XIAYIWEIMOVAH,01HINT21HCMPAL,HJZNEXTCMPAL,0DHJZSHUCHUCMPAL,9JAZIMUSUBAL,30HJMPLEIJIAZIMUSUBAL,37HLEIJIAMOVCL,16XORAH,AHXCHGAX,BXMULCLADDAX,BXXCHGAX,BXJMPXIAYIWEINEXTMOVDL,0AHMOVAH,02HINT21HMOVDL,0DHMOVAH,02HINT21HCMPBX,80HJAEFUSHUJMPQIUHEFUSHUNEGBLLEASI,SUMXORBH,BHSUBSI,BXJMPXIAYIGEQIUHELEASI,SUMXORBH,BHADDBX,SIMOVSI,BXJMPXIAYIGESHUCHULEASI,SUMMOVBX,SIMOVCH,4CONTINUEMOVCL,4ROLBX,CLMOVAL,BLANDAL,0FHADDAL,30HCMPAL,3AHJAEZIMU1JMPSHUCHU1ZIMU1ADDAL,7SHUCHU1MOVDL,ALMOVAH,02HINT21HDECCHCMPCH,0JNZCONTINUEMOVAH,4CHINT21HCODESENDSENDSTART22从键盘输入一串可显示字符(以回车符结束),并按字母、数字、空格分类计数,然后显示出这三类统计的结果。DATASSEGMENTBUFDB100DBDB100DUPKONGGEDBKONGGE00,0AH,0DHSHUZIDBSHUZI00,0AH,0DHZIMUDBZIMU00DATASENDSCODESSEGMENTASSUMECSCODES,DSDATASSTARTMOVAX,DATASMOVDS,AXLEADX,BUFMOVAH,0AHINT21HMOVDL,0AHMOVAH,02HINT21HMOVDL,0DHMOVAH,02HINT21HLEASI,BUF2MOVCL,BUF1AGAINMOVAL,SICMPAL,JZKONGGE1CMPAL,0JBNEXTCMPAL,9JBESHUZI1CMPAL,AJBNEXTCMPAL,ZJBEZIMU1CMPAL,AJBNEXTCMPAL,ZJBEZIMU1NEXTINCSILOOPAGAINLEADX,KONGGEMOVAH,09HINT21HMOVAH,4CHINT21HKONGGE1LEADI,KONGGEMOVAL,DI8INCALCMPAL,3AHJZJINWEIMOVDI8,ALJMPNEXTJINWEISUBAL,10MOVDI8,ALMOVAL,DI7INCALMOVDI7,ALJMPNEXTSHUZI1LEADI,SHUZIMOVAL,DI7INCALCMPAL,3AHJZJINWEI1MOVDI7,ALJMPNEXTJINWEI1SUBAL,10MOVDI7,ALMOVAL,DI6INCALMOVDI6,ALJMPNEXTZIMU1LEADI,ZIMUMOVAL,DI6INCALCMPAL,3AHJZJINWEI2MOVDI6,ALJMPNEXTJINWEI2SUBAL,10MOVDI6,ALMOVAL,DI5INCALMOVDI5,ALJMPNEXTMOVAH,4CHINT21HCODESENDSENDSTART23编写程序,将十个字的有符号数中最大、最小值求出,并在显示器上输出。125AH,4357H,0F50H,0B43H,4AC4H,7454H,8B15H,0A2A4H,0F3CH,00F6HDATASSEGMENTMAXDW0MINDW0STR1DBTHEMAXNUMBERISSTR2DB0AH,0DH,THEMINNUMBERISDATASENDSCODESSEGMENTASSUMECSCODES,DSDATASSTARTMOVAX,DATASMOVDS,AXNEXTMOVBX,0CONTINUEMOVAH,01HINT21HCMPAL,0DHJZOUTPUTCMPAL,HJZXIAYIGECMPAL,9JAZIMU1SUBAL,30HJMPLEIJIAZIMU1SUBAL,57HLEIJIAXORAH,AHXCHGAX,BXMOVCX,16MULCXADDAX,BXXCHGAX,BXJMPCONTINUEXIAYIGEMOVDL,0AHMOVAH,02HINT21HMOVDL,0DHMOVAH,02HINT21HCMPBX,0JLNAGETIVEJMPPOSITIVENAGETIVELEASI,MINMOVAX,SICMPAX,BXJGJIAOHUANJMPNEXTPOSITIVELEASI,MAXMOVAX,SICMPAX,BXJBJIAOHUANJMPNEXTJIAOHUANMOVSI,BXJMPNEXTOUTPUTLEADX,STR1MOVAH,09HINT21HLEASI,MAXMOVBX,SIMOVCL,4MOVCH,4CONTINUE2ROLBX,CLMOVAL,BLANDAL,0FHADDAL,30HCMPAL,9JAZIMU2SHUCHU1MOVDL,ALMOVAH,02HINT21HDECCHJNZCONTINUE2JMPH1ZIMU2ADDAL,27HJMPSHUCHU1H1MOVDL,HMOVAH,02HINT21HLEADX,STR2MOVAH,09HINT21HLEASI,MINMOVBX,SIMOVCL,4MOVCH,4CONTINUE3ROLBX,CLMOVAL,BLANDAL,0FHADDAL,30HCMPAL,9JAZIMU3SHUCHU2MOVDL,ALMOVAH,02HINT21HDECCHCMPCH,0JNZCONTINUE3JMPH2ZIMU3ADDAL,27HJMPSHUCHU2H2MOVDL,HMOVAH,02HINT21HMOVAH,4CHINT21HCODESENDSENDSTART24、键盘输入10个字节数(无符号数),求出最大、最小值,并在显示器上输出。DATASSEGMENTMAXDB0MINDB0FFHSTR1DBTHEMAXNUMBERISSTR2DB0AH,0DH,THEMINNUMBERISDATASENDSCODESSEGMENTASSUMECSCODES,DSDATASSTARTMOVAX,DATASMOVDS,AXMOVDH,10NEXTMOVBX,0CONTINUEMOVAH,01HINT21HCMPAL,HJZXIAYIGECMPAL,9JAZIMU1SUBAL,30HJMPLEIJIAZIMU1SUBAL,57HLEIJIAXORAH,AHXCHGAL,BLMOVCL,16MULCLADDAL,BLXCHGAL,BLJMPCONTINUEXIAYIGEMOVDL,0AHMOVAH,02HINT21HMOVDL,0DHMOVAH,02HINT21HLEASI,MAXMOVAL,SICMPAL,BLJBJIAOHUAN1RETURN1LEADI,MINMOVAL,DICMPAL,BLJAJIAOHUAN2RETURN2DECDHCMPDH,0JNZNEXTJMPOUTPUTJIAOHUAN1MOVSI,BLJMPRETURN1JIAOHUAN2MOVDI,BLJMPRETURN2OUTPUTLEADX,STR1MOVAH,09HINT21HLEASI,MAXMOVBL,SIMOVCL,4MOVCH,2CONTINUE2ROLBL,CLMOVAL,BLANDAL,0FHADDAL,30HCMPAL,9JAZIMU2SHUCHU1MOVDL,ALMOVAH,02HINT21HDECCHCMPCH,0JNZCONTINUE2JMPH1ZIMU2ADDAL,27HJMPSHUCHU1H1MOVDL,HMOVAH,02HINT21HLEADX,STR2MOVAH,09HINT21HLEASI,MINMOVBL,SIMOVCL,4MOVCH,2CONTINUE3ROLBL,CLMOVAL,BLANDAL,0FHADDAL,30HCMPAL,9JAZIMU3SHUCHU2MOVDL,ALMOVAH,02HINT21HDECCHCMPCH,0JNZCONTINUE3JMPH2ZIMU3ADDAL,27HJMPSHUCHU2H2MOVDL,HMOVAH,02HINT21HMOVAH,4CHINT21HCODESENDSENDSTART25、一个有符号字数组以0为结束标志,编程求这个数组的最大值、最小值、平均值。DATASSEGMENTMAXDW0MINDW0SUMDW0AVERDW0COUNTDB0STR1DBTHEMAXNUMBERISSTR2DB0AH,0DH,THEMINNUMBERISSTR3DB0AH,0DH,THEAVERVALUEISDATASENDSCODESSEGMENTASSUMECSCODES,DSDATASSTARTMOVAX,DATASMOVDS,AXLEADI,COUNTNEXTMOVBX,0CONTINUEMOVAH,01HINT21HCMPAL,0JZOUTPUTCMPAL,HJZXIAYIGECMPAL,9JAZIMU1SUBAL,30HJMPLEIJIAZIMU1SUBAL,57HLEIJIAXORAH,AHXCHGAX,BXMOVCX,16MULCXADDAX,BXXCHGAX,BXJMPCONTINUEXIAYIGEMOVAL,DIINCALMOVDI,ALMOVDL,0AHMOVAH,02HINT21HMOVDL,0DHMOVAH,02HINT21HCMPBX,8000HJAENAGETIVEJMPPOSITIVENAGETIVENEGBXLEASI,MINMOVAX,SICMPAX,0JZJIAOHUANCMPAX,8000HJBEJIAOHUANNEGAXCMPAX,BXJBJIAOHUANRETURN1NEGBXLEASI,MAXMOVAX,SICMPAX,0JZJIAOHUAN1CMPAX,8000HJBESUM1NEGAXCMPAX,BXJAJIAOHUAN1SUM1LEASI,SUMMOVAX,SISBBAX,BXMOVSI,AXJMPNEXTPOSITIVELEASI,MINMOVAX,SICMPAX,0JZJIAOHUAN2CMPAX,8000HJAERETURN2CMPAX,BXJAJIAOHUAN2RETURN2LEASI,MAXMOVAX,SICMPAX,0JZJIAOHUAN3CMPAX,8000HJAEJIAOHUAN3CMPAX,BXJBJIAOHUAN3SUM2LEASI,SUMMOVAX,SIADCAX,BXMOVSI,AXJMPNEXTJIAOHUANNEGBXMOVSI,BXJMPRETURN1JIAOHUAN1NEGBXMOVSI,BXJMPSUM1JIAOHUAN2MOVSI,BXJMPRETURN2JIAOHUAN3MOVSI,BXJMPSUM2OUTPUTMOVDL,0AHMOVAH,02HINT21HMOVDL,0DHMOVAH,02HINT21HMOVCL,DICBWXORDX,DXLEASI,SUMMOVAX,SIDIVCXLEASI,AVERMOVSI,AXLEADX,STR1MOVAH,09HINT21HLEASI,MAXMOVBX,SIMOVCL,4MOVCH,4CONTINUE2ROLBX,CLMOVAL,BLANDAL,0FHADDAL,30HCMPAL,9JAZIMU2SHUCHU1MOVDL,ALMOVAH,02HINT21HDECCHCMPCH,0JNZCONTINUE2JMPH1ZIMU2ADDAL,27HJMPSHUCHU1H1MOVDL,HMOVAH,02HINT21HLEADX,STR2MOVAH,09HINT21HLEASI,MINMOVBX,SIMOVCL,4MOVCH,4CONTINUE3ROLBX,CLMOVAL,BL

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论