文档详情

实验二循环与子程序程序设计.doc

发布:2017-06-21约2.05千字共5页下载文档
文本预览下载声明
3.2 实验二 循环与子程序程序设计 一、实验目的 1) 加深对循环结构的理解。 2)掌握循环程序的设计方法。 3)学习子程序的定义和调用方法。 4)掌握子程序、子程序的嵌套、递归子程序的结构。 5) 掌握子程序设计、编制及调试。 6) 熟练掌握DEBUG的常用命令,学会用DEBUG调试程序。 二、实验内容 1) 编制程序计算S=1+2·3+3·4+4·5+……+N(N+1)+……直到N(N+1)大于200为止,并将结果由屏幕上显示出来。 源程序: DATA SEGMENT BUF DBS=1*2+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 4)编制在屏幕上显示用*组成的三角形的程序。 源程序: DATA SEGMENT DATA ENDS STACK1 SEGMENT STACK DB 20H DUP(?) STACK1 ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK1 START:MOV AX,DATA MOV DS,AX MOV AX,5 MOV BX,1 MOV CX,5 LOP:PUSH CX PUSH AX MOV CX,AX LOP2:MOV DL,20H MOV AH,02H INT 21H LOOP LOP2 PUSH BX ADD BX,BX DEC BX MOV CX,BX LOP3:MOV DL,* MOV AH,02H INT 21H LOOP LOP3 POP BX MOV DL,0DH MOV AH,02H INT 21H MOV DL,0AH INT 21H POP AX DEC AX INC BX POP CX LOOP LOP MOV AH,4CH INT 21H CODE ENDS END START 四、实验步骤 1) 按程序流程图编制实验程序。 2) 输入源程序。 3) 汇编、连接程序,执行程序,检查结果。 4)对内存单元3000H开始的100个存储单元用E命令输入任意数。 5) 程序的执行可用DEBUG的G命令,也可用T命令单步跟踪执行。 6) 用D命令检查执行结果。 五、实验报告的要求 列出源程序。 2)对程序中用到的寄存器说明其功能。 3)总结计数控制循环程序的设计方法。 4
显示全部
相似文档