循环程序设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验二循环程序设计

一.实验目的

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跟踪此程序的执行过程,写出每一步执行后相关寄存器中的内容

相关文档
最新文档