用汇编语言程序编写:求最小值,最大值,和平均值

来源:百度知道 编辑:UC知道 时间:2024/06/30 00:08:09
1.给若干个数,要求这些数中的最小值,最大值和平均值;
2.要求用完整的汇编语言编写

; 数值处理程序设计
DISPC MACRO M ;定义显示单字符的宏
MOV DL,M
MOV AH,2
INT 21H
ENDM
DISPS MACRO S;定义显示字符串的宏
MOV AH,9
LEA DX,S
INT 21H
ENDM
DATA SEGMENT;定义数据段
X DB 50,71,83,10,16,23,57,99,18,25,88,97,-85,-53,78,29,-85,24,75,31
MAX DB ?
MIN DB ?
S1 DB 'MAX=$'
S2 DB 'MIN=$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA;段说明
GO: MOV AX,DATA
MOV DS,AX;段地址填装
L0:MOVCX,20;置长度
LEASI,X;将X的偏移地址传送到SI中
MOV AX,[SI]
MOV MAX,AL
MOV MIN,AL
L1:ADD SI,1
MOV AX,[SI]
CMPMAX,AL
JGEL2;若大于等于,转到L2
MOV MAX,AL
L2:CMP MIN,AL
JLE L3
MOV MIN,AL
L3:LOOP L1
DISPS S1;显示‘MAX='
CMP MAX,0
JG L4
DISPC '-';显示负号
NEG MAX ;取绝对值
L4:MOV AL,MAX
AAM ;使(AH)=十位,(AL)=个位
OR AX,3030H ;将数字转换成字符
PUSH AX ;入栈
DISPC AH;显示十位
POP AX;出栈
DISPC AL;显示个位