试题详情
- 简答题一个有符号字数组以0为结束标志,求这个数组的:最大值、最小值、平均值。
-
DATASEGEMNT
LIST DW -56,+12,88,-126,-5,16,32,-99,72,-18,0
MIN DW ?
MAX DW ?
AVG DW ?
DATA ENDS
CODESEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
MOV MIN,32767;将32767假设为最小的数
MOV MAX,-32768;将-32768假设为最大的数
MOV AVG,0;AVG用作累加器,清零
LEA SI,LIST
MOV CX,0
AGAIN:
MOV AX,[SI]
CMP AX,0
JZ DONE;找到零元素,转DONE结束处理
INC CX;纪录非零元素个数
ADD AVG,AX;累加
CMP AX,MIN
JGE SKIP1
MOV MIN.AX;比预设最小值还小,保留
SKIP1:
CMP AX,MAX
JLE SKIP2
MOV MAX,AX;比预设最大值还大,保留
SKIP2:
ADD SI,2
JMP AGAIN
DONE://JCXZNULL;元素个数为零,转NULL处理
MOV AX,AVG
CWD
IDIV CX
MOV AVG,AX;计算平均值
JMP EXIT
NULL:MOV MIN,0;元素个数为0,将“最大值”、“最小值”
MOV MAX,0;“平均值”清零
MOV AVG,0
EXIT:MOV AX,4C00H
INT 21H
CODEENDS
END START 关注下方微信公众号,在线模考后查看
热门试题
- 已知(DX)=0B9H,(CL)=3,
- 下列四条指令执行后不影响标志位的是()。
- 把若干个模块连接起来成为可执行文件的系统
- 联合体成员的数据类型()。
- 将堆栈段中偏移量值为BX的存储单元中的内
- MOV AX,
- 在子程序调用过程中,断点指的是()。
- 以下符号中不能用作用户标识符的符号是()
- 给出下列程序段汇编后的结果:
- 假定(DS)=2000H,(ES)=21
- 若有说明:inta[][3]={{1,2
- 在中断处理系统中,中断向量指的是()。
- 如TABLE为数据段中0032单元的符
- 写出把首地址为BLOCK的字数组的第6个
- 完成下列十六进制数的运算,并转换为十进制
- 在8086指令系统中,取出中断向量的指令
- ADD AL,
- 变址寄存器指的是()。
- 字数组M中有10个数据,分类统计其中正数
- 在C语言中对一维整型数组的正确定义为()