您好,欢迎访问三七文档
本科实验报告专用纸课程名称汇编语言程序设计成绩评定实验项目名称顺序结构程序设计指导教师实验项目编号0806015203实验项目类型实验地点学生姓名学号学院信息科学技术学院系计算机系专业计算机科学技术专业实验时间2016年月日下午15:00~16:50一、实验目的和要求实验目的1)加深对循环结构的理解。2)掌握循环程序的设计方法。实验内容1)编制程序计算S=1+2·3+3·4+4·5+……+N(N+1)+……直到N(N+1)大于200为止,并将结果由屏幕上显示出来。2)编制在屏幕上显示用*组成的三角形的程序。3)设从BUFFER开始存放有若干个带符号字节数据,编写程序将其中的正数按由大到小的顺序存入从PLUS开始的缓冲区中二、程序流程图(每题分开写)暨南大学本科实验报告专用纸(附页)否是否是否是AX=CX=3,BX=-1AX与CX入栈CX=AXCX=0?BX=BX+2CX=BXCX=0?输出*,cx=CX-1换行AX,CX出栈Cx=0?AX=AX-1结束输出空格CX=CX-1暨南大学本科实验报告专用纸(附页)是否是否否是否是定义string,cx=10,count=0DI=offsetstringAL=[DI]CX=0?Cx=cx-1AX0AL存入pp,count加1CX=COUNTCX减1BX=CXDI=offsetppDBX=0AL=DIAL=DI+1DI=DI+1CX=0BX=BX-1AL与[DI+1]交换数据,[DI]=AL暨南大学本科实验报告专用纸(附页)三、源程序(每题分开写)1.DSEGSEGMENT'DATA';addyourdatahere!SdwDSEGENDSSSEGSEGMENTSTACK'STACK'db256DUP(0)SSEGENDSCSEGSEGMENT'CODE'STARTPROCFAR;setsegmentregisters:MOVAX,DSEGMOVDS,AXMOVES,AX;addyourcodehereMOVAX,1MOVBX,2movDX,1LOOP1:MULBLCMPAX,200JGOVERADDS,AXINCDXMOVAX,DXINCBLJMPLOOP1OVER:DECSMOVAX,SMOVCL,100DIVCLMOVBL,AHADDAL,48MOVDL,ALMOVAH,02H暨南大学本科实验报告专用纸(附页)INT21HMOVAX,0MOVAL,BLMOVCL,10DIVCLMOVBL,AHADDAL,48MOVDL,ALMOVAH,02HINT21HADDBL,48MOVDL,BLMOVAH,02HINT21HMOVAX,4C00h;exittooperatingsystem.INT21hSTARTENDPCSEGENDSENDSTART;setentrypoint.2.DSEGSEGMENT'DATA';addyourdatahere!DSEGENDSSSEGSEGMENTSTACK'STACK'db256DUP(0)SSEGENDSCSEGSEGMENT'CODE'STARTPROCFAR;setsegmentregisters:MOVAX,DSEGMOVDS,AXMOVES,AX;addyourcodehere暨南大学本科实验报告专用纸(附页)MOVAX,3MOVBX,-1MOVCX,3LOP:PUSHCXPUSHAXMOVCX,AXLOP2:MOVDL,''MOVAH,02HINT21HLOOPLOP2ADDBX,2MOVCX,BXLOP3:MOVDL,'*'MOVAH,02HINT21HLOOPLOP3MOVDL,0DHMOVAH,02HINT21HMOVDL,0AHINT21HPOPAXDECAXPOPCXLOOPLOPMOVAX,4C00h;exittooperatingsystem.INT21hSTARTENDPCSEGENDSENDSTART;setentrypoint.3.DSEGSEGMENT'DATA';addyourdatahere!stringDB1,2,3,4,5,6,7,8,9,10PPDB20DUP(0)COUNTDW0DSEGENDS暨南大学本科实验报告专用纸(附页)SSEGSEGMENTSTACK'STACK'db256DUP(0)SSEGENDSCSEGSEGMENT'CODE'STARTPROCFAR;setsegmentregisters:MOVAX,DSEGMOVDS,AXMOVES,AX;addyourcodehereMOVCX,10MOVSI,0movDI,offsetstring;PUSH1:MOVAL,[DI]CMPAL,0JGPUSH2JMPPUSH3PUSH2:MOVPP[SI],ALINCSIINCCOUNTPUSH3:INCDILOOPPUSH1XORCX,CXMOVCX,COUNTDECCXMOVBX,CXJUDGE:LEADI,PPCMPBX,0JALOOP2JMPOVERLOOP2:MOVAL,[DI]CMPAL,[DI+1]JNBLOOP3XCHG[DI+1],AL暨南大学本科实验报告专用纸(附页)MOV[DI],ALLOOP3:INCDILOOPLOOP2MOVCX,BXDECBXLOOPJUDGEOVER:MOVAX,4C00h;exittooperatingsystem.INT21hSTARTENDPCSEGENDSENDSTART;setentrypoint.四、结果分析(对输入\输出部分截屏)(应循环太多,用20来检测一下程序的正确性)暨南大学本科实验报告专用纸(附页)暨南大学本科实验报告专用纸(附页)五、实验总结做第二个实验的时候想用一个寄存器来给cx赋值,但总是cx的值不知道怎么回事就被篡改了,于是就参考别人,用了下栈
本文标题:汇编实验9
链接地址:https://www.777doc.com/doc-6040981 .html