资源描述:
《汇编语言-实验二 循环与子程序程序设计.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验二循环与子程序程序设计一、实验目的1)加深对循环结构的理解。2)掌握循环程序的设计方法。3)学习子程序的定义和调用方法。4)掌握子程序、子程序的嵌套、递归子程序的结构。5)掌握子程序设计、编制及调试。6)熟练掌握DEBUG的常用命令,学会用DEBUG调试程序。二、实验内容1)编制程序计算S=1+2·3+3·4+4·5+……+N(N+1)+……直到N(N+1)大于200为止,并将结果由屏幕上显示出来。2)将从3000H内存单元开始的100个字节存储单元全部清0。3)编制在屏幕上显示九九乘法表的程
2、序。4)编制在屏幕上显示用*组成的三角形的程序。5)设有五个字数据存放在以BUF为首地址的内存单元中,要求采用调用多个字数据相加的子程序方法编程,和的低位字放在RESULT单元,和的高位字放在RESULT+2单元,并将结果显示在屏幕上。6)编写一个递归子程序,计算指数函数Xn的值,其中X,n从键盘输入。三、源程序EXAM2-1DATASEGMENTBUFDB’S=1+2×3+3×4+4×5+…+N(N+1)+…=’,’$’RESDW4DUP(0),’$’DATAENDSCODESEGMENTASS
3、UMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVDX,OFFSETBUFMOVAH,09HINT21HMOVDX,1MOVBL,2NEXT:MOVAL,BLINCBLMULBLADDDX,AXCMPAX,200JNANEXTMOVCX,0004HMOVDI,OFFSETRESADDDI,03HNEXT1:MOVAX,DXANDAX,000FHCMPAL,0AHJBNEXT2ADDAL,07NEXT2:ADDAL,30HMOV[DI],ALDECDIPUSH
4、CXMOVCL,04SHRDX,CLPOPCXLOOPNEXT1MOVDX,OFFSETRESMOVAH,09HINT21HMOVAH,4CHINT21HCODEENDSENDSTART执行程序EXAM2-1·EXE,屏幕上显示结果:S=1+2×3+3×4+4×5+…+N(N+1)+…=045FEXAM2-2ORG2000H2000BF0030MOVDI,30002003B164MOVCL,642005C60500MOVBYTEPTR[DI],0200847INCDI2009FEC9DECCL20
5、0B75F8JNZ2005200DF4HLTEXAM2-3DATASEGMENT ATAD DB?,2AH,?,3DH,?,?,20H,'$' ATAD1DB?,2AH,?,3DH,?,?,0DH,0AH,'$'DATAENDS STACKSEGMENTSTACK DB20HDUP(0)STACKENDS CODESEGMENT ASSUMECS:CODE,DS:DATASTART: MOVAX,DATA MOVDS,AX MO
6、VCL,09H MOVBL,00HOKL: MOVAL,00H INCBLOK1: INCAL PUSHAX CMPBL,AL JZOK MOVBH,AL MULBL MOVDI,OFFSETATAD CALLOKP POPAX JMPOK1OK: MOVBH,AL MULBL MOVDI,OFFSETATAD1 CALLOKP
7、 POPAX LOOPOKL MOVAH,4CH INT21HOKPPROC PUSHAX PUSHBX PUSHCX ADDBX,3030H MOV[DI],BH MOV[DI+02H],BL MOVCX,0AH MOVDH,00HOKL2: CMPAX,CX JSOK2 ADDCX,0AH INCDH JMPOKL2OK2:
8、 SUBCX,0AH SUBAX,CX MOVAH,DH ADDAX,3030H MOV[DI+04H],AH MOV[DI+05H],AL MOVDX,DI MOVAH,09H INT21H POPCX POPBX POPAX RETOKPENDPCODEENDSENDSTART执行程序EXAM2-2·EXE,屏幕上显示结果:1*1=011*2=022*2