- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编语言-实验二 循环与子程序程序设计
实验二 循环与子程序程序设计
实验目的
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)编制在屏幕上显示九九乘法表的程序。
4)编制在屏幕上显示用*组成的三角形的程序。
5)设有五个字数据存放在以BUF为首地址的内存单元中,要求采用调用多个字数据相加的子程序方法编程,和的低位字放在RESULT单元,和的高位字放在RESULT+2单元,并将结果显示在屏幕上。
6)编写一个递归子程序,计算指数函数Xn的值,其中X,n从键盘输入。
源程序
EXAM2-1
DATA SEGMENT
BUF DB’S=1+2×3+3×4+4×5+…+N(N+1)+…=’,’$’
RES DW 4 DUP(0),’$’
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS, AX
MOV DX, OFFSET BUF
MOV AH, 09H
INT 21H
MOV DX, 1
MOV BL, 2
NEXT: MOV AL, BL
INC BL
MUL BL
ADD DX, AX
CMP AX, 200
JNA NEXT
MOV CX, 0004H
MOV DI, OFFSET RES
ADD DI, 03H
NEXT1:MOV AX, DX
AND AX, 000FH
CMP AL, 0AH
JB NEXT2
ADD AL, 07
NEXT2:ADD AL, 30H
MOV [DI],AL
DEC DI
PUSH CX
MOV CL,04
SHR DX,CL
POP CX
LOOP NEXT1
MOV DX, OFFSET RES
MOV AH, 09H
INT 21H
MOV AH, 4CH
INT 21H
CODE ENDS
END START
执行程序EXAM2-1·EXE,屏幕上显示结果:
S=1+2×3+3×4+4×5+…+N(N+1)+…=045F
EXAM2-2
ORG 2000H
2000 BF0030 MOV DI, 3000
2003 B164 MOV CL, 64
2005 C60500 MOV BYTE PTR[DI],0
2008 47 INC DI
2009 FEC9 DEC CL
200B 75F8 JNZ 2005
200D F4 HLT
EXAM2-3
DATA SEGMENT
?????? ATAD? DB ?, 2AH, ?, 3DH, ?, ?, 20H, $
?????? ATAD1 DB ?, 2AH, ?, 3DH, ?, ?, 0DH, 0AH, $
DATA ENDS
?
STACK SEGMENT STACK
?????? DB 20H DUP(0)
STACK ENDS
?
CODE SEGMENT
?????? ASSUME CS:CODE, DS:DATA
START:
?????? MOV AX, DATA
?????? MOV DS, AX
?????? MOV CL, 09H
?????? MOV BL, 00H
OKL:
?????? MOV AL, 00H
?????? I
文档评论(0)