一个汇编问题

[复制链接]
查看11 | 回复1 | 2007-12-8 16:12:21 | 显示全部楼层 |阅读模式
DATA SEGMENTDA20 DW 128,43,34,56,18,59,87,12,53,66,77,88,99,188,28,22,33,44,11;定义20个随机数 AVERAGE DW ?;存平均值变量 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AX;初始化数据段地址 LEA DI,DA20;DI指针指向DA20的首地址(即20个数的首地址) MOV CX,20;设置循环次数20 MOV AX,0;累加和低位初始置0MOV DX,0;累加和低位初始置0 L1: ADD AX,WORD PTR[DI];ADC DX,0;——(DX:AX)累加指针对应的一个数,考虑到20个数如果很大相加AX会溢出,所以用DX:AX组成的32位来存放,而且可以在除法取平均值用到,这个是一楼没有考虑到的。ADD DI,2;指针指向下一个加数 LOOP L1;循环累加20次 MOV BX,20DIV BX;(DX:AX)/20求平均值,商存放在AX中,余数存放在DX中。 MOV AVERAGE,AX;将商的值存入AVERAGE中MOV AH,4CH;结束程序,返回系统 INT 21HCODE ENDSEND START
回复

使用道具 举报

千问 | 2007-12-8 16:12:21 | 显示全部楼层
你这个没有输出的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行