在一个数组中找出并统计并该数组的平均数小的数的个数

程序运行:

代码:


datas segmentDATA                  dw  10h dup(1,2,3,4,-1,5,7,-99,29,-11,294,-21,45,6,57,-54)average               dw  0countOfLowAverage     dw  0outputAverage                   db 'average:AX=$'outputCountOfLowAverage         db 0dh,0ah,'count of low average:BX=$'
datas endsstacks segment stackdb  100h dup(?)stacks endscodes segmentassume cs:codes,ds:datas,ss:stacks
main   proc  far
start:push dsmov ax,0hpush axmov ax,datas            ;初始化dsmov ds,axmov cx,100h             ;将DATA数组的长度移至cxmov bx,0                 ;bx为DATA数组的索引mov si,0                 ;si为数组和的低16位mov di,0                 ;di为数组和的高16位s:mov ax,DATA[bx]        ;将DATA数组的单元移至axcwd                     ;进行有符号扩展add si,ax               ;求和adc di,dx               add bx,type DATA        ;数组索引移至下一个单元    loop smov cx,100h               ;数组的长度mov ax,si                 ;将数组的求和移至dx,ax中mov dx,di                idiv cx                   ;求平均值mov average,ax            ;保存平均值于averagemov bx,0                  ;计算小于平均值的数的个数mov si,0                  ;数组的索引s1:cmp ax,DATA[si]         ;比较平均值与数组元素的大小jng next                ;平均值小于等于数组元素,则跳转inc bx                  ;平均值大于数组元素,计算器bx加1next:add si,type DATA        ;数组的索引移至下一个单元loop s1 mov countOfLowAverage,bx  ;保存小于平均值的数的个数;输出平均值的提示lea dx,outputAveragemov ah,9 int 21h ;输出平均值mov ax,averagecall print;输出小于平均值的数的个数的提示lea dx,outputCountOfLowAveragemov ah,9 int 21h ;输出小于平均值的数的个数mov ax,countOfLowAverage call printretmain endpprint proc near;保存寄存器的值push cxpush dxpush bx;保存axmov bx,axcmp bx,0                 ;比较bx与0jnl notNegative          ;bx为非负数,则跳转mov dl,'-'               ;若bx为负数,则输出'-'mov ah,2int 21hneg bx                   ;取bx的绝对值mov ax,bx                ;将bx移至axnotNegative:mov cx,0                 ;cx记录ax十进制数的位数mov bx,10 ps:mov dx,0              ;dx置0,使得余数不干扰除法操作div bx                ;除10取余push dx               ;保存余数inc cx                ;cx记录位数加1cmp ax,0              ;比较ax与0jne ps                ;ax非0,则循环继续ps1:pop dx                ;取出余数add dl,30h            ;数值转化成数字字符mov ah,2              ;输出字符int 21hloop ps1 ;恢复寄存器的值pop bxpop dxpop cxret
print endp
codes endsend main

汇编语言(十二)之统计小于平均数的个数相关推荐

  1. Trick(十二)——统计 label(序列)各个标签值出现的次数以及出现次数最多的标签

    求解的关键在引用计数,可以使用字典,也可以使用 collections 模块中的 Counter. 统计 label(序列)各个标签值出现的次数 统计 label(序列)各个标签值出现的次数,来计算 ...

  2. 汇编语言(二十三)之求一个数的补数

    给定一个数,求该数的补数 程序运行: 代码: datas segmentNUM DB 12H,34H,56H,78H,9AH,0BCH,23H,45HDB 67H,89H,0DEH,13H,24H,3 ...

  3. (篇九)C语言统计某个字母的个数、统计各种字符的个数、统计单词的个数

    文章目录 一.统计某个字母的个数 二.统计各种字符的个数 三.统计单词的个数 本篇文章主要介绍在C语言中统计某个字母的个数.统计各种字符的个数和统计单词的个数:总之就是计数,-由于C语言中没有直接统计 ...

  4. 零基础带你学习MySQL—分组统计(十二)

    零基础带你学习MySQL-分组统计(十二) 如何理解分组 ? 课后练习题

  5. 第十二章——SQLServer统计信息(3)——发现过期统计信息并处理

    第十二章--SQLServer统计信息(3)--发现过期统计信息并处理 原文: 第十二章--SQLServer统计信息(3)--发现过期统计信息并处理 前言: 统计信息是关于谓词中的数据分布的主要信息 ...

  6. 《汇编语言》王爽(第四版) 第十二章 实验12

    文章目录 前言 一.思路分析 1.安装 2.设置中断向量 3.do0程序 4.测试 5.优化 二.最终成果 1.完整代码 2.效果图 总结 前言 本文是王爽老师<汇编语言>(第四版) 第十 ...

  7. 高校计算机软件著作权排名,山东省十二所高校计算机软件著作权登记数量统计.doc...

    山东省十二所高等院校2005-2014年计算机软件著作权登记数据 通过对山东省十二所高校2005-2014年计算机软件著作权自愿登记数量进行统计,十二所高校共有812件计算机软件著作权进行了自愿登记, ...

  8. Oracle、Hive 统计三个月,六个月,九个月,十二个月的平局值

    下面为统计截止2020-06-30,近三个月,六个月,十二个月的平均值 直接上代码 select * from (select a.cust_id, '2020-06-30' as dt1,a.dt, ...

  9. 二十八、统计机器翻译基础

    二十八.统计机器翻译基础 由于本人喜欢在纸上手推原理,所以附上照片,欢迎提出建议

最新文章

  1. 为什么很多SpringBoot开发者放弃了Tomcat,选择了Undertow
  2. JSONP的学习(收集整理)
  3. RuntimeError: Expected object of backend CUDA but got backend CPU for argument #4 'mat1'
  4. java 扫描包框架_java – 在Android中实现类似Spring的包扫描
  5. DSP-F28335与AD7606的并行模式调试问题
  6. 《C语言》2022山西专升本C语言知识点
  7. 1.4亿在线背后-QQ IM后台架构的演化与启示(1)(2)
  8. Power Apps相关介绍
  9. C# Winform设置焦点
  10. 【ARCore 入门开发课程系列】ARCore 打造沉浸式体验全过程
  11. python 招聘 海盐_聚焦普高新课标 提升信息核心素养——海盐县初中信息技术Python课堂教学研讨活动在武原中学举行...
  12. strip指令——减小文件的大小(给文件脱衣服)
  13. AndroidNDK工程FFmpeg(一)-- Android使用FFmpeg--Shell脚本编写与执行编译FFmpeg库
  14. 数据分析指标体系搭建实战!
  15. ffmpeg截取mp3指定时间的内容
  16. Microsoft365账号登录安全保护:使用microsoft authenticator应用验证
  17. 详解(一)-ThreadPollExecutor-并发编程(Java)
  18. 50个2010年最常用的网站推广方法
  19. python docx tables_pythondocx保留格式替换表格内容
  20. Jzoj5449【NOIP2017提高A组冲刺11.4】Pacifist

热门文章

  1. [PAT乙级]1022 D进制的A+B
  2. 根据后序和中序求二叉树的层序
  3. python数据类型及使用方法_python 基本数据类型及方法
  4. 得到选择框句柄 怎么操作_知道借名买房有风险,只能选择借名买房该怎么操作?...
  5. html缩进标签quote,HTML blockquote 标签
  6. Java实现生产消费模型的5种方式
  7. Codeforces Round #636 (Div. 3) D. Constant Palindrome Sum 思维 + 差分
  8. P1537 弹珠 背包可行性dp
  9. cf1555 E. Boring Segments
  10. Music Problem