您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 其它办公文档 > OA自动化-广工自动化微机实验胶印-精品
(大神出品,不保证没错误)实验一:1.1:STACKSEGMENTSTACKDW64DUP(?)STACKENDSDATASEGMENTORG0500HDATA1DB5DUP(?)ORG050AHDATA2DB5DUP(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXMOVCX,5MOVDI,OFFSETDATA1MOVSI,OFFSETDATA2LAB1:MOVBL,0FFHMOVAL,[DI]CMPAL,3AHJNBOKSUBAL,30HJCOKMOVBL,ALOK:MOVAL,BLMOV[SI],ALINCDIINCSILOOPLAB1MOVAH,4CHINT21HCODEENDSENDSTART1.2:STACKSEGMENTSTACKDW64DUP(?)STACKENDSDATASEGMENTORG0500HDATA1DW78EDHORG0510HDATA2DB5DUP(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXLEASI,DATA1LEADI,DATA2+4MOVBX,000AHMOVCX,0005HMOVAX,[SI]AA0:MOVDX,0000HDIVBXMOV[DI],DLDECDILOOPAA0MOVAH,4CHINT21HCODEENDSENDSTART1.3:STACKSEGMENTSTACKDW64DUP(?)STACKENDSDATASEGMENTORG0500HDATA1DB2DUP(?)ORG050AHDATA2DB4DUP(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVDI,OFFSETDATA1MOVSI,OFFSETDATA2MOVAX,[DI]MOVCX,0004HMOVBX,1000HA1:MOVDX,0000HDIVBXCMPAL,0AHJAEA3ADDAL,30HA2:MOV[SI],ALINCSIPUSHDXMOVAX,BXMOVBX,0010HMOVDX,0000HDIVBXMOVBX,AXPOPDXMOVAX,DXLOOPA1INT03HA3:SUBAL,0AHADDAL,41HJMPA2CODEENDSENDSTART1.4STACKSEGMENTSTACKDW64DUP(?)STACKENDSDATASEGMENTORG0500HDATA1DB8DUP(?)ORG0510HDATA2DB8DUP(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVDI,OFFSETDATA1MOVSI,OFFSETDATA2MOVCX,0004HMOVBL,0AHMOVAH,00HA1:MOVAL,[DI]MULBLINCDIMOVDL,[DI]ADDAL,DLMOV[SI],ALINCDIINCSILOOPA1INT03HCODEENDSENDSTART1.5STACKSEGMENTSTACKDW64DUP(?)STACKENDSDATASEGMENTORG0600HDATA1DB?ORG0610HJIEGUODB?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXLEASI,DATA1LEADI,JIEGUOXORCH,CHMOVCL,04HMOVDL,0AHMOVDH,04HA1:MOVAL,[SI]ANDAL,0FHMOVBL,ALMOVAL,[SI]SHRAL,CLMULDLADDAL,BLMOV[DI],ALINCSIINCDIDECDHJNZA2JMPA3A2:JMPA1A3:INT03HCODEENDSENDSTART1.6STACKSEGMENTSTACKDW64DUP(?)STACKENDSDATASEGMENTORG0300HDATA1DB2DUP(?)ORG0308HDATA2DB5DUP(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVDI,OFFSETDATA1MOVSI,OFFSETDATA2MOVAX,[DI]MOVBX,2710H;十进制数的10000MOVCX,0005HA1:MOVDX,0000HDIVBXMOV[SI],ALINCSIPUSHDXMOVAX,BXMOVBX,0AHMOVDX,0000HDIVBXMOVBX,AXPOPDXMOVAX,DXLOOPA1INT03HCODEENDSENDSTART实验二:2.1STACKSSEGMENTDW64(?)STACKSENDSDATASSEGMENTORG0700HXDW0208HYDW0509HZDW0304HORG0710HQDW?DATASENDSCODESSEGMENTASSUMECS:CODES,DS:DATAS,SS:STACKSSTART:MOVAX,DATASMOVDS,AXMOVAX,XADDAX,Y;X+Y结果存入AX中AAA;BCD码调整SUBAX,Z;X+Y-Z结果存入AXAAS;BCD码调整MOVQ,AX;Q存入3710单元MOVAH,4CHINT21HCODESENDSENDSTART2.2STACKSSEGMENTDW64DUP(?)STACKSENDSDATASSEGMENTORG0500HTABDW0010H,0020H,0030H,0040H,0050H,0060HORG0510HJIEGUODB2DUP(?)DATASENDSCODESSEGMENTASSUMECS:CODES,DS:DATAS,SS:STACKSSTART:MOVAX,DATASMOVDS,AXSUBAX,AXMOVCX,06HLEADI,TABBBB:ADDAX,[DI]INCDIINCDIDECCXJNZBBBMOVBX,06HCWDDIVBXMOVBX,0AHCWDDIVBXLEASI,JIEGUOMOV[SI],ALINCSIMOV[SI],DL;INT03HMOVAH,4CHINT21HCODESENDSENDSTART2.3STACKSEGMENTSTACKDW64DUP(?)STACKENDSDATASEGMENTORG0500HDATA1DB10H,15H,0FHORG0510HJIEGUODB?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXLEASI,DATA1LEADI,JIEGUOMOVCX,0002HMOVAL,[SI]A1:INCSIADDAL,[SI]LOOPA1MOVBL,04HMULBLMOVDL,64HMOVAH,00HDIVDLMOV[DI],ALINCDIMOVAL,AHMOVAH,00HMOVDL,0AHDIVDLMOV[DI],ALINCDIMOV[DI],AHINT03HCODEENDSENDSTART2.4DATASSEGMENTORG0550HXDB65H,67H,87H,19H,32H,54H,76H,98H;低位在低地址,高位在高地址YDB65H,67H,87H,19H,32H,54H,76H,98HDATASENDSSTACKSSEGMENTSTACKSENDSCODESSEGMENTASSUMECS:CODES,DS:DATAS,SS:STACKSSTART:MOVAX,DATASMOVDS,AXMOVSI,00H;变址存于SIMOVCX,04H;循环次数为4CLC;CF位清零BBB:MOVAX,0550H[SI];取被加数4位存于AX中ADCAX,0558H[SI];被加数4位减去减数4位MOV0560H[SI],AX;结果存入3060H开始的单元ADDSI,02H;变址加2DECCXJNZBBB;DI不为零时继续循环MOVAH,4CHINT21HCODESENDSENDSTART2.5STACKSSEGMENTDW64(?)STACKSENDSDATASSEGMENTORG0300HXDW0608HYDW0509HZDW0306HORG0310HQDW?DATASENDSCODESSEGMENTASSUMECS:CODES,DS:DATAS,SS:STACKSSTART:MOVAX,DATASMOVDS,AXMOVAX,XSUBAX,Y;X-Y结果存入AX中;AAS;BCD码调整ADDAX,Z;X-Y+Z结果存入AX;AAA;BCD码调整MOVQ,AX;Q存入3710单元MOVAH,4CHINT21HCODESENDSENDSTART2.6DATASSEGMENTORG0550HXDB65H,67H,87H,19H,32H,54H,76H,98H;低位在低地址,高位在高地址YDB77H,39H,32H,48H,95H,28H,43H,56HDATASENDSSTACKSSEGMENTSTACKSENDSCODESSEGMENTASSUMECS:CODES,DS:DATAS,SS:STACKSSTART:MOVAX,DATASMOVDS,AXMOVSI,00H;变址存于SIMOVCX,04H;循环次数为4CLC;CF位清零BBB:MOVAX,0550H[SI];取被加数4位存于AX中SBBAX,0558H[SI];被加数4位减去减数4位MOV0560H[SI],AX;结果存入0506H开始的单元ADDSI,02H;变址加2DECCXJNZBBB;DI不为零时继续循环MOVAH,4CHINT21HCODESENDSENDSTART实验三:3.1DATASSEGMENTORG0500H;BUFSIZEDB9;单元数据个数NUMDB09h,12H,80H,78H,0C8H,00H,00H,0FEH,99H,34HORG0510HRESULTDB3DUP(0,0,0)DATASENDSCODESSEGMENTASSUMECS:CODES,DS:DATASSTART:MOVAX,DATASMOVDS,AXMOVDI,OFFSETNUM;送数据地址到DILEABP,RESULTMOVSI,00HMOVCX,[di];循环次数movch,00hincdiAGAIN:TESTBYTEPTR[DI],80HJZCOUNT;ZF=1,此数据为非负数,转移INCBYTEPTR[BP+1];ZF=0,此数据为负数JMPDONECOUNT:CMPBYTEPTR[DI],01HJNCNEXTINCBYTEPTR[BP+2];CF=1,此数据为0JMPDONENEXT:INCBYTEPTR[BP];CF=0,此数据为正数DONE:INCDILOOPAGAINMOVAH,4CHINT21HCODESENDSENDSTART3.2STACKSEGMENTSTACKDW64DUP(?)STACKENDSDATASEGMENTORG0200HDAT0DB3DUP(?)ORG0204HDATE0DW?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXLEASI,DAT0LEADI,DATE0MOVAL,[SI]MOVAH,[SI+1]MOVBL,[SI+2]CMPAL,AHJZA1CMPAL,BLJZA2MOV[DI],SIJMPA4A2:ADDSI,1MOV[DI],SIJMPA4A1:CMPAL,BLJZA3ADDSI,2MOV[DI],SIJMPA4A3:MOV[DI],0FFFFHA4:MOVAH,4CHINT21HCODEENDSENDSTA
本文标题:OA自动化-广工自动化微机实验胶印-精品
链接地址:https://www.777doc.com/doc-7118633 .html