汇编c语言 数组找最小值求ARRAY数组中最小值

扫二维码下载作业帮
1.75亿学生的选择
下载作业帮安装包
扫二维码下载作业帮
1.75亿学生的选择
微机原理,汇编程序题:从变量ARRAY开始的区域,存放10个WORD类型数,找出其中最大的数,并存入变量MAX
晓陌の逆袭2119
扫二维码下载作业帮
1.75亿学生的选择
DATA&&&&SEGMENT&&ARRAY&&DW&&025AH,H,H,36D0H,720FH,082AH,019DH,0124H&&&&&&&&&&&&&&&ORG&&&0050H&MAX&&&&&DW&&&&0&DATA&&&&ENDS&CODE&&&&SEGMENT&&&&&&&&&&&ASSUME&&CS:CODE,&&ES:DATA&&&&&&&&ORG&&&100H&START:&&MOV&&&CX,&&9H&&&&&&&&&&&&&;循环次数=数据个数-1&&&&&&&&MOV&&&AX,&&SEG&ARY&&&&&&&&MOV&&&ES,&&AX&&&&&&&&LEA&&&SI,&&ARRAY&&&&&&&&MOV&&&AX,&&ES:[SI]&&&&&&&&&&&&&;最大值初值SCHMAX:&ADD&&&SI,&&2&&&&&&&&MOV&&&DX,&&ES:[SI]&&&&&&&&CMP&&&DX,&&AX&&&&&&&&JLE&&&NEXT&&&&&&&&MOV&&&AX,&DX&&&&&&&&JMP&&&NEXTNEXT:&&&LOOP&&SCHMAXFINISH:&MOV&&&ES:[MAX],&AX&&&&&&&&INT&&&3&&&&&&&&&&&&&&&&&&&&&&&&&&&&;暂停,以便在DEBUG中查看运行结果CODE&&&&ENDS&&&&&&&&END&&&START=================显示的程序不能编辑排版分行,且将程序截图贴上:
为您推荐:
扫描下载二维码求:用汇编语言编的10个字节数组求最大最小的源程序_汇编吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:32,652贴子:
求:用汇编语言编的10个字节数组求最大最小的源程序收藏
是8088微机中的题目:DATABUF是存放了10个无符号数的字节数组,现要求找出其中最大和最小的数,分别存入字节变量MAX和MIN单元中。&&请高手帮小弟一下,谢谢!&&
化妆美容美甲...别人会不如自己也会
用cmp指令...
我要代码啊代码。。。
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或取数组中最大值
可以先把思路理一下:
将数组中第一个元素赋值给一个变量,并且把这个变量作为最大值;
开始遍历数组,从第二个元素开始依次和第一个元素进行比较
如果当前的元素大于当前的最大值,就把当前的元素值赋值给最大值
移动到下一个元素,继续按前面一步操作
当数组元素遍历结束时,这个变量存储的就是最大值
1 Array.prototype.max = function () {
// 将数组第一个元素的值赋给max
var max = this[0];
// 使用for 循环从数组第一个值开始做遍历
for (var i = 1; i & this. i++) {
// 如果元素当前值大于max,就把这个当前值赋值给max
if (this[i] & max) {
max = this[i];
// 返回最大的值
来看一个示例:
var arr = [1,45,23,3,6,2,7,234,56]; //2 arr.max(); // 234&
上面的示例,数组中都是数值,那么如果数组中不全是数值会是一个什么样的效果呢?来测试一下先:
var arr = [1,45,23,3,6,2,7,234,56,'2345','a','c'];
arr.max();
这并不是我们想要的结果吧。(此处跪求解决方案)
通过前段时间的学习,都知道for循环性能要比forEach()差,那可以将上面的方法改成forEach()方法:
1 Array.prototype.max = function (){
var max = this[0];
this.forEach (function(ele,index,arr){
if(ele & max) {
10 var arr = [1,45,23,3,6,2,7,234,56];
11 arr.max(); // 234
取数组中最小值
类似取最大值的思路一样,我们可以很轻松的实现arr.min()方法,取出数组中的最小值:
1 Array.prototype.min = function () {
var min = this[0];
this.forEach(function(ele, index,arr) {
if(ele & min) {
11 var arr = [1,45,23,3,6,2,7,234,56];
12 arr.min(); // 1
除了上面的方案,还可以有其他方法,比如使用数组的reduce()方法。回忆前面的学过的知识,可以接收一个回调函数callbackfn,可以在这个回调函数中拿数组中的初始值(preValue)与数组中当前被处理的数组项(curValue)做比较,如果preValue大于curValue值返回preValue,反之返回curValue值,依此类推取出数组中最大值:
1 Array.prototype.max = function() {
return this.reduce(function(preValue, curValue,index,array) {
return preValue & curValue ? preValue : curV
6 var arr = [1,45,23,3,6,2,7,234,56];
7 arr.max(); // 234
同样的也可以使用类似的方法实现arr.mix()方法,取出数组中的最小值:
1 Array.prototype.min = function() {
return this.reduce(function(preValue, curValue,index,array) {
return preValue & curValue ? curValue : preV
6 var arr = [1,45,23,3,6,2,7,234,56];
7 arr.min(); // 1
内置函数Math.max()和Math.min()方法
对于纯数字数组,可以使用JavaScript中的内置函数Math.max()和Math.min()方法。使用这两个内置函数可以分别找出数组中的最大值和最上值。在使用这两种内置函数取出数组最大和最小值之前,先学习一下Math.max()和Math.min()两个函数。
Math.max()
Math.max()函数返回一组数中的最大值。
1 Math.max(1,32,45,31,3442,4); // 3442
2 Math.max(10, 20);
3 Math.max(-10, -20); // -10
4 Math.max(-10, 20);
Math.min()
Math.min()函数和Math.max()函数刚好相反,其会返回一组数中的最小值:
1 Math.min(10,20); //10
2 Math.min(-10,-20); //-20
3 Math.min(-10,20); //-10
4 Math.min(1,32,45,31,3442,4); //1
这些函数如果没有参数,则结果为&-Infinity;如果有任一参数不能被转换为数值,则结果为&NaN。最主要的是这两个函数对于数字组成的数组是不能直接使用的。但是,这有一些类似地方法。
Function.prototype.apply()让你可以使用提供的this与参数组与的数组来调用参数。
1 // 取出数组中最大值
2 Array.max = function( array ){
return Math.max.apply( Math, array );
// 取出数组中最小值
6 Array.min = function( array ){
return Math.min.apply( Math, array );
10 var arr = [1,45,23,3,6,2,7,234,56];
11 Array.max(arr); // 234
12 Array.min(arr); // 1
Math对象也是一个对象,可以使用对象的字面量来写,如:
1 Array.prototype.max = function () {
return Math.max.apply({},this);
4 Array.prototype.min = function () {
return Math.min.apply({},this);
7 var arr = [1,45,23,3,6,2,7,234,56];
8 arr.max(); // 234
9 arr.min(); // 1
其实还有更简单的方法。基于ES2015的方法来实现此功能,是使用:
1 Array.prototype.max = function () {
return Math.max.apply({},this);
4 Array.prototype.min = function () {
return Math.min.apply({},this);
7 var arr = [1,45,23,3,6,2,7,234,56];
8 arr.max(); // 234
9 arr.min(); // 1
此运算符使数组中的值在函数调用的位置展开。
这篇文章整理了几个从数组中取出最大值和最小值的方法。这几个方法都只是会对于数字数组,而对于数组中包含其他数据类型时,如何只取出最大的数值和最小的数值(如果您知道如何实现,还望指点迷津)。而这几种方法当中,使用JavaScript的内置函数Math.max()和Math.min()配合Function.prototype.apply()可以轻松取出数组中的最大值和最小值。当然最最简单的要当数ES2015中使用展示运算符的方法。
阅读(...) 评论()

我要回帖

更多关于 汇编语言定义数组 的文章

 

随机推荐