循环与子程序设计.docx
- 文档编号:24088507
- 上传时间:2023-05-24
- 格式:DOCX
- 页数:16
- 大小:26.23KB
循环与子程序设计.docx
《循环与子程序设计.docx》由会员分享,可在线阅读,更多相关《循环与子程序设计.docx(16页珍藏版)》请在冰豆网上搜索。
循环与子程序设计
实验五循环与子程序设计
一、实验目的
1.熟练循环程序的编写。
2.掌握子程序的定义及调用方法。
3.学会子程序的编程方法。
二、预习内容
1、循环程序是强制CPU重复执行某一指令系列(程序段)的一种程序结构形式,凡是要重复执行的程序段都可以按循环结构设计。
循环顺序一般由四部分组成
1)置循环初值部分:
这是为了保证循环程序能正常进行循环操作而必须做的准备工作。
循环初值分两类,一类是循环工作部分的初值,另一类是控制循环结束条件的初值。
2)工作部分:
即需要重复执行的程序段。
这是循环程序的核心,称之为循环体。
3)修改部分:
按一定规律修改操作数地址及控制变量,以便每次执行循环体时得到新的数据。
4)控制部分:
用来保证循环程序按规定的次数或特定条件正常循环。
2、在程序设计中,对于某个连续多次重复出现的出现段,常常编制成循环程序,但在无规律的重复时很难用循环程序,此时应用子程序来实现。
.
子程序的定义:
〈过程名〉PROC
:
〈过程名〉ENDP
子程序的调用:
CALL 〈过程名〉
编写子程序时应注意:
1)、入口信息
2)、出口信息
3)、现场保护和恢复
4)、最后一条指令一定是RET指令
三、实验内容
1、编写程序,显示用‘*'组成三角形的图形。
结果类似以下系列图(图中sanj4是程序文件名):
提示及要求:
1)循环调用2号系统功能,显示输出‘*’。
注意循环次数的变化。
2)将回车、换行的功能编写成子程序的格式。
3)‘*’不是从顶格开始的,前面打印输出空格。
空格的ASCII值为20H,同样调用
2号功能,输出空格。
2、编程实现以教材附录B的格式显示出ASCII码表。
对于无法显示出的格式符或功能符,如空白0、响铃7、换行0AH、回车0DH等均用空格代替。
运行结果如下图:
提示及要求:
1)列间字符的ASCII值加10H,行间字符的ASCII值加01H。
2)每显示完一行,回车换行。
要求将实现回车换行编为子程序的格式。
3)对于ASCII值为2、7、8、9、0AH、0DH显示为空格。
四、实验报告
1、写出程序清单、程序流程图。
2、简述子程序的编写格式和调用方法。
实验内容:
编写程序
程序一
DATASEGMENT
DATAENDS
STACKSEGMENTSTACK
DB20DUP(?
)
STACKENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,SS:
STACK
START:
MOVAX,DATA
MOVDS,AX
MOVBX,1
MOVCX,5
LOP1:
PUSHCX
PUSHBX
LOP2:
MOVDL,'*'
MOVAH,2
INT21H
MOVDL,20H
MOVAH,2
INT21H
DECBX
JNZLOP2
LOP3:
POPBX
INCBX
POPCX
CALLHH
LOOPLOP1
MOVAH,4CH
INT21H
HHPROC
MOVDL,0DH
MOVAH,2
INT21H
MOVDL,0AH
MOVAH,2
INT21H
RET
HHENDP
CODEENDS
程序二
DATASEGMENT
DATAENDS
STACKSEGMENTSTACK
DB20DUP(?
)
STACKENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,SS:
STACK
START:
MOVAX,DATA
MOVDS,AX
MOVBX,5
MOVCX,5
L1:
PUSHBX
PUSHCX
L2:
MOVDL,'*'
MOVAH,2
INT21H
MOVDL,20H
MOVAH,2
INT21H
DECBX
JNZL2
POPCX
POPBX
DECBX
CALLHH
LOOPL1
MOVAH,4CH
INT21H
HHPROC
MOVDL,0DH
MOVAH,2
INT21H
MOVDL,0AH
MOVAH,2
INT21H
RET
HHENDP
CODEENDS
ENDSTART
程序三
DATASEGMENT
DATAENDS
STACKSEGMENTSTACK
DB20DUP(?
)
STACKENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,SS:
STACK
START:
MOVAX,DATA
MOVDS,AX
MOVBX,1
MOVCX,5
L1:
PUSHBX
PUSHCX
L2:
MOVDL,'*'
MOVAH,2
INT21H
MOVDL,20H
MOVAH,2
INT21H
DECBX
JNZL2
POPCX
POPBX
INCBX
CALLHH
LOOPL1
MOVBX,4
MOVCX,4
L3:
PUSHBX
PUSHCX
L4:
MOVDL,'*'
MOVAH,2
INT21H
MOVDL,20H
MOVAH,2
INT21H
DECBX
JNZL4
POPCX
POPBX
DECBX
CALLHH
LOOPL3
MOVAH,4CH
INT21H
HHPROC
MOVDL,0DH
MOVAH,2
INT21H
MOVDL,0AH
MOVAH,2
INT21H
RET
HHENDP
CODEENDS
ENDSTART
程序四
DATASEGMENT
DATAENDS
STACKSEGMENTSTACK
DB20DUP(?
)
STACKENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,SS:
STACK
START:
MOVAX,DATA
MOVDS,AX
MOVBX,1
MOVCX,7
L1:
PUSHBX
PUSHCX
L2:
MOVDL,20H
MOVAH,2
INT21H
LOOPL2
L3:
MOVDL,'*'
MOVAH,2
INT21H
DECBX
JNZL3
CALLHH
POPCX
POPBX
INCBX
LOOPL1
MOVAH,4CH
INT21H
HHPROC
MOVDL,0DH
MOVAH,2
INT21H
MOVDL,0AH
MOVAH,2
INT21H
RET
HHENDP
CODEENDS
ENDSTART
程序五
DATASEGMENT
DATAENDS
STACKSEGMENTSTACK
DB20DUP(?
)
STACKENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,SS:
STACK
START:
MOVAX,DATA
MOVDS,AX
MOVBX,1
MOVCX,7
L1:
PUSHBX
PUSHCX
L2:
MOVDL,20H
MOVAH,2
INT21H
DECBX
JNZL2
L3:
MOVDL,'*'
MOVAH,2
INT21H
LOOPL3
CALLHH
POPCX
POPBX
INCBX
LOOPL1
MOVAH,4CH
INT21H
HHPROC
MOVDL,0DH
MOVAH,2
INT21H
MOVDL,0AH
MOVAH,2
INT21H
RET
HHENDP
CODEENDS
ENDSTART
程序六
DATASEGMENT
DATAENDS
STACKSEGMENTSTACK
DB20DUP(?
)
STACKENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,SS:
STACK
START:
MOVAX,DATA
MOVDS,AX
MOVBX,1
MOVCX,7
L1:
PUSHBX
PUSHCX
L2:
MOVDL,20H
MOVAH,2
INT21H
LOOPL2
L3:
MOVDL,'*'
MOVAH,2
INT21H
DECBX
JNZL3
CALLHH
POPCX
POPBX
ADDBX,2
LOOPL1
MOVAH,4CH
INT21H
HHPROC
MOVDL,0DH
MOVAH,2
INT21H
MOVDL,0AH
MOVAH,2
INT21H
RET
HHENDP
CODEENDS
ENDSTART
程序七
DATASEGMENT
BUFDB50
DB?
DB50DUP('$')
DATAENDS
STACKSEGMENTSTACK'STACK'
DW32DUP(?
)
STACKENDS
CODESEGMENT
ASSUMEDS:
DATA,CS:
CODE,SS:
STACK
START:
MOVBH,16
MOVCX,16
MOVBL,0
L1:
PUSHBX
L2:
CMPBL,2H
JEL3
CMPBL,7H
JEL3
CMPBL,8H
JEL3
CMPBL,9H
JEL3
CMPBL,0AH
JEL3
CMPBL,0DH
JEL3
JNEL4
L3:
MOVDL,20H
MOVAH,2
INT21H
MOVDL,20H
MOVAH,2
INT21H
JMPL5
L4:
MOVDL,20H
MOVAH,2
INT21H
MOVDL,BL
MOVAH,2
INT21H
L5:
ADDBL,10H
DECBH
JNZL4
POPBX
INCBL
MOVBH,16
CALLHH
LOOPL1
MOVAH,4CH
INT21H
HHPROC
MOVDL,0DH
MOVAH,2
INT21H
MOVDL,0AH
MOVAH,2
INT21H
RET
HHENDP
CODEENDS
ENDSTART
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 循环 子程序 设计