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

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

程序运行:

 

代码:


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

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/323896.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【最全最详细】publiccmsCSS和JS引入无效的解决方法

大家好,我是雄雄,欢迎关注微信公众号:👉雄雄的小课堂👈。 ✍往期系列 这两天一直在整理Publiccms系列的教程,有需要的小伙伴们可以点击以下链接查看: ☝publiccms使用教程(使用方式…

C#使用Xamarin开发可移植移动应用进阶篇(6.使用渲染器针对单个平台自定义控件),附源码

本篇..基本可以算是Xamarin在应用开发过程中的核心了..真的很很很重要.. 想学习的..想用的..建议仔细阅读..嗯..打酱油的 ..快速滑倒下面点个推荐 - - 哈哈哈... 今天的学习内容? 只讲一个,关于Xamarin.Forms针对各个平台如何进行可定制化的控件操作. 也就是针对某个平台的…

笑脸喜迎新同学,热情送给新伙伴

“大家好,我是雄雄,欢迎关注微信公众号:????雄雄的小课堂????。”今天,于我和王老师来说,是个非同寻常的一天。那是因为,今天迎来了4班的40余位新同学们!一大早,同学们就陆陆…

汇编语言(十三)之偶数转成哥德巴赫猜想

将输入的偶数转换成哥德巴赫猜想,输出哥德巴赫猜想 程序运行: 代码: datas segmentmaxESLen db 0ffhevenSLen db 0evenString db 0ffh dup(?)evenNumber dw ?prime1 dw 0 prime2 dw 0 i…

计算机入门的一些常用小技巧总结

“大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂。”今天总结了一些windows中常用的小技巧,也是明天上课需要演示的,希望对初入计算机行业的你们有所帮助,哈哈哈哈。常用shutdown命令:1.定时…

汇编语言(十四)之判断字符串是否包含数字

输入一串字符串,判断字符串里面是否包含数字,如果包含数字输出把cl的第五位设置为1,否则设置为0 程序运行: 代码: datas segmentSTRING_maxLength db 0ffhSTRING_Length d…

UnitOfWork知多少

1. 引言 Maintains a list of objects affected by a business transaction and coordinates the writing out of changes and the resolution of concurrency problems.Unit of Work --Martin Fowler Unit Of Work模式,由马丁大叔提出,是一种数据访问模…

表扬几位积极的同学!

“大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂。”这几天太忙了,几天才回家一次,总有忙不完的活在干。4班这几天同学们表现还不错,布置的作业都能按时完成,课堂上也比较活跃,比…

中山纪念中学培训15天总结

比赛 2018/7/6-纪中某C组题【jzoj1192,jzoj1397,jzoj1736】 上来就集体爆零 2018/7/7-纪中某C组题【jzoj1494,jzoj1495,jzoj1496,jzoj1497】 还比较好 2018/7/8-纪中某C组题【jzoj1619,jzoj1620,jzoj1621,jzoj1622】 发现了dp方面的不足 2018/7/9-纪中某B组题【jzoj1503…

汇编语言(十五)之找出两个数组中的相同元素

找出两个数组中的相同元素,并且输出 程序运行: 代码: datas segmentA dw -1,-2, 3, 4, 5, 6, 7, 8, 9, 10,-11, 12, 13, 14, 15ACount dw ($-A)/2B dw -1, 2,-3, 4,-5, 6,-7, 8, 9,-10, 11,-12, 13,-14, 15,16,17,18,…

如何编写更好的SQL查询:终极指南-第一部分

结构化查询语言(SQL)是数据挖掘分析行业不可或缺的一项技能,总的来说,学习这个技能是比较容易的。对于SQL来说,编写查询语句只是第一步,确保查询语句高效并且适合于你的数据库操作工作,才是最重…

汇编语言(十六)之三数值求和

输入A、B、C三个数,如果存在一个数为0,则全部清零,否则求和输出 程序运行: 代码: datas segmentA dw 1B dw 0D dw 3S dw 0a_string db 0ffh, 0 ,100 dup(?)b_string db 0ffh, 0 ,100 dup(?…

回忆四班的那些事儿~

10“大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂。”今天,谈谈四班的那些事儿吧~对于四班,回忆满满,根本忘却不了。和别的班一样,一个班内总有那么几个调皮捣蛋的孩子,只是四班…

C#使用Xamarin开发可移植移动应用进阶篇(7.使用布局渲染器,修改默认布局),附源码

本篇..基本可以算是Xamarin在应用开发过程中的核心了..真的很很很重要.. 想学习的..想用的..建议仔细阅读..嗯..打酱油的 ..快速滑倒下面点个推荐 - - 哈哈哈... 今天的学习内容? 也只讲一个,关于Xamarin.Forms针对各个平台如何进行可定制化的布局操作. 也就是针对某个平台…

汇编语言(十七)之判断三个数是否相等

输入三个数,计算相等数的个数 程序运行: 代码: datas segmenta db 0ffh, 0 ,100 dup(?)b db 0ffh, 0 ,100 dup(?)d db 0ffh, 0 ,100 dup(?) ARRAY dw 1,2,2inputA db input a$inputB db 0dh,0ah,i…

你想象中的实习是什么样的?

“大家好,我是雄雄,欢迎关注微信公众号:????雄雄的小课堂????。”今天感谢学长小李同学投稿的文章,在校外实习一年,可谓收获满满,下面就是李心焱同学的实习感悟,请欣赏!实习…

汇编语言(十八)之求两个数的最大公约数

输入两个数,使用辗转相除法求最大公约数 程序运行: 代码: datas segmentM_max_len db 0ffhM_len db 0M_string db 100 dup(?)M dw 0 N_max_len db 0ffhN_len db 0N_string db…

Orleans—一些概念

这个文章聊一聊Orleans的概念.以下文章大部分翻译自官方教程,还有一些结合实际的应用经验,并对以前文章留下的坑进行填平.如果有哪个坑没有填,还请告诉我. Grain的生命周期: 一个Grain在逻辑上是永远存在的,并在逻辑上拥有一个不变的标识.程序的代码永远不会去创造或者销毁一个…

使用jdbc连接mysql数据库代码示例

“大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂。”最近,正好在看jdbc,于是就整理了一份增删改查的案例,记录记录,以备后用!!java编辑器:myeclipse![10]…

POJ1958-Strange Towers of Hanoi【递推】

正题 题目链接:http://poj.org/problem?id1958 大意 有4根柱子的汉诺塔,有n个盘,求移动次数 解题思路 首先我们定义只有三根柱子时有n个盘的话移动次数是dndn,然后dndn−1∗21dndn−1∗21定义有四根柱子时有n个盘移动次数为fn…