循环与子程序设计方案书Word格式.docx
《循环与子程序设计方案书Word格式.docx》由会员分享,可在线阅读,更多相关《循环与子程序设计方案书Word格式.docx(14页珍藏版)》请在冰豆网上搜索。
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
DECBX
JNZLOP2
LOP3:
POPBX
INCBX
POPCX
CALLHH
LOOPLOP1
MOVAH,4CH
HHPROC
MOVDL,0DH
MOVDL,0AH
RET
HHENDP
CODEENDS
程序二
MOVBX,5
L1:
PUSHBX
L2:
MOVDL,'
MOVDL,20H
JNZL2
CALLHH
LOOPL1
HHPROC
CODEENDS
ENDSTART
程序三
MOVBX,4
MOVCX,4
L3:
L4:
JNZL4
LOOPL3
程序四
MOVCX,7
MOVDL,20H
LOOPL2
JNZL3
程序五
程序六
JNZL3
ADDBX,2
程序七
BUFDB50
DB?
DB50DUP('
$'
STACKSEGMENTSTACK'
STACK'
DW32DUP(?
ASSUMEDS:
DATA,CS:
CODE,SS:
MOVBH,16
MOVCX,16
MOVBL,0
CMPBL,2H
JEL3
CMPBL,7H
CMPBL,8H
CMPBL,9H
CMPBL,0AH
CMPBL,0DH
JNEL4
JMPL5
MOVDL,BL
L5:
ADDBL,10H
DECBH
INCBL
CALLHH
INT21H