**
实验项目:循环程序设计实验
**
一.实验目的
1、掌握循环程序的结构;
2、学习综合程序的设计、编写及调试;
二.实验内容
1、计算S=12+23+34+。。。+N(N+1);
2、求某个数据区内负数的个数;
三.试验程序
1、
DATAS SEGMENT
RESULT DW ? ;计算结果
DVAL DB 5 DUP(?);申请缓冲区,存放转换后的数据
DLEN =$-RESULT ;地址偏移量
DATAS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS
START:
MOV DX,0001H
MOV BL,02H
A0:
MOV AL,BL
INC BL
MUL BL
ADD DX,AX ;结果存于DX中
CMP AX,00C8H ;判断N(N+1)与200的大小
JB A0
MOV AX,DATAS ;保存计算结果
MOV DS,AX
MOV RESULT,DX
;16进制转10进制输出
MOV SI,OFFSET RESULT;数据源地址
MOV DX,[SI]
MOV SI,OFFSET DLEN;目标数据地址 offset送回偏移地址
A1:
DEC SI;自减
MOV AX,DX
MOV DX,0
MOV CX,10;除数10
DIV CX;商送AX,余数DX
XCHG AX,DX;数据交换
MOV [SI],AL;存入目标地址
CMP DX,0000H
JNE A1;判断转换结束否,未结束转A1 不等跳转
A2:
CMP SI,OFFSET DVAL;与目标地址