1 / 11 实验五循环与子程序设计一、实验目的1.熟练循环程序的编写。2.掌握子程序的定义及调用方法。3.学会子程序的编程方法。二、预习内容1、循环程序是强制CPU 重复执行某一指令系列(程序段)的一种程序结构形式,凡是要重复执行的程序段都可以按循环结构设计。循环顺序一般由四部分组成1) 置循环初值部分:这是为了保证循环程序能正常进行循环操作而必须做的准备工作。循环初值分两类,一类是循环工作部分的初值,另一类是控制循环结束条件的初值。2) 工作部分:即需要重复执行的程序段。这是循环程序的核心,称之为循环体。3) 修改部分:按一定规律修改操作数地址及控制变量,以便每次执行循环体时得到新的数据。4)控制部分:用来保证循环程序按规定的次数或特定条件正常循环。2、在程序设计中,对于某个连续多次重复出现的出现段,常常编制成循环程序,但在无规律的重复时很难用循环程序,此时应用子程序来实现。. 子程序的定义:〈过程名〉 PROC :〈过程名〉 ENDP 子程序的调用:CALL〈过程名〉编写子程序时应注意:1)、入口信息2)、出口信息3)、现场保护和恢复4)、最后一条指令一定是RET 指令三、实验内容2 / 11 1、编写程序,显示用‘ * ' 组成三角形的图形。结果类似以下系列图( 图中 sanj4 是程序文件名 ) :提示及要求: 1 )循环调用2 号系统功能,显示输出‘* ’。注意循环次数的变化。2)将回车、换行的功能编写成子程序的格式。3)‘ * ’不是从顶格开始的,前面打印输出空格。空格的ASCII 值为 20H,同样调用 2号功能,输出空格。2、编程实现以教材附录B 的格式显示出ASCII 码表。对于无法显示出的格式符或功能符,如空白 0、响铃 7、换行 0AH、回车 0DH等均用空格代替。3 / 11 运行结果如下图: 提示及要求: 1)列间字符的ASCII 值加 10H,行间字符的ASCII 值加 01H。 2)每显示完一行,回车换行。要求将实现回车换行编为子程序的格式。 3 )对于 ASCII 值为 2、7、8、 9、0AH、0DH显示为空格。四、实验报告1、写出程序清单、程序流程图。2、简述子程序的编写格式和调用方法。实验内容:编写程序程序一DATA SEGMENT DATA ENDS STACK SEGMENT STACK DB 20 DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK START:MOV AX,DATA MOV DS,AX MOV BX,1 MOV CX,5 LOP1: PUSH CX PUSH BX LOP2: MOV DL,'*' MOV AH,2...