循环程序设计
实验二 循环程序设计
一( 实验目的
1. 加深对循环结构的理解
2. 掌握循环结构程序设计的方法
3. 熟练掌握调试循环程序的方法
二( 实验内容及步骤
1. 编制程序
使S=1+2*3+3*4+4*5+……+N*(N+1),直到N*(N+1)项大于200为止。
实验程序及流程如下:
STACK SEGMENT
DW 64 DUP(?) STACK ENDS
CODE SEGMENT
ASSUME CS:CODE START: MOV DX,0001H
MOV BL,02H
A1: MOV AL,BL
INC BL
MUL BL
ADD DX,AX
CMP AX,00C8H
JNA A1
MOV AH,4CH
INT 21H
CODE ENDS
END START
要求:1.根据程序写出流程图。
2.用Debug跟踪此程序的执行过程,写出程序执行到第二次循环结束时相关寄存器中的内容。
2. 求某数据区内负数的个数
设数据区(首地址为3000H)的第一单元存放数据总数,从第二个单元开始存放数据,最后一个单元存放结果。为统计数据区内负数的个数,需要逐个判断区内的每一个数据,然后将所有数据中凡是符号位为1的数据的个数累加起来,即得区内负数的个数。
STACK SEGMENT
DW 64 DUP(?)
STACK ENDS
DATA SEGMENT
ORG 3000H
DB 12H,88H,82H,90H,22H,23H DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA START: MOV AX,DATA
MOV DS,AX
MOV DI,3000H
MOV CL,[DI]
XOR CH,CH
MOV BL,CH
INC DI
A1: MOV AL,[DI]
TEST AL,80H
JE A2
INC BL
A2: INC DI
LOOP A1
MOV [DI],BL
MOV AH,4CH
INT 21H
CODE ENDS
END START 要求:1.根据程序写出流程图。 2. 给每行程序添加注释。 3. 用Debug跟踪此程序的执行过程,写出每一步执行后相关寄存器中的内容