打印

紧急求助,问题详细如下:

[复制链接]
1442|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
laoy|  楼主 | 2008-7-29 15:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
   现有N1-N7七个数代表7个状态,现在要找出其中的最大数,根据最大数进行跳转。要求用汇编实现。51也可。
   现在我的思路是:设置两个变量,一个拿来参与比较,找出最大值,另一个拿来存储相应的最大值的地址。找出最大值后,根据变量中存储的地址,再和7个数的地址比较,进行跳转。
    本人是新手,考虑到上述方法麻烦,请高手指教。
    谢谢。

相关帖子

沙发
laoy|  楼主 | 2008-7-29 15:23 | 只看该作者

补充一下:

现在的问题是能找出N1-N7中的最大数值,但用汇编不知道有什么简单方法能确定该最大数值是N1-N7中的哪个,如何确定。

使用特权

评论回复
板凳
laoy|  楼主 | 2008-7-29 16:02 | 只看该作者

谢谢大家,解决如下:

    N1-N7七个数,取N1 的地址位基址,另设一变量做为标号累加器,采用基址+变址的寻址方法,先设定N1 最大,标号为1,再取数(通过指针),和N1比较,小于N1,则不变,大于则刷新最大值和标号,依此类推。。。。
    招出最大值后,相应的标号也确定了,可以进行跳转。

    不知道此方法是否简单。
    高手若有好方法,清赐教。

使用特权

评论回复
地板
li_mu| | 2008-7-29 23:24 | 只看该作者

这不就是排序算法的选择吗

汇编与否并不重要吧

使用特权

评论回复
5
太阳之母| | 2008-7-30 03:04 | 只看该作者

嘿嘿

又一个不知所云,而且自以为确知所云的问题。

猜测:LZ试图从随时变化着的N(N=7)个量中找出最大值Max,然后在Max和跳转地址之间建立某种联系,当MAX={V1,V2,...}之一时,程序分别跳转到地址{A1,A2,...},是这个意思吗?

N1~N7取值的范围是多少?范围不大吧? Ni={Vbegin,... ,Vend}之一,{Vbegin,... ,Vend}这个集合里面的元素不会太多吧?

1、建立两个常量的一维数组:N1~N7的可能取的值构成的值数组 Narray={Vbegin,... ,Vend};
                           对应跳转地址构成的地址数组 Aarray={Abegin,... ,Aend};
这两个数组的元素有对应关系,即:如果最大值为Vx,对应的跳转地址就是Ax,这里的“x”是数组元素的下标。通过这俩数组表达了最大值和跳转地址之间的联系。
2、搞一个变量Max,把N1~N7里面的最大值找出来放到Max里;
3、在Narray里找Max,找到了,把对应的数组下标放到变量index里;
4、在Aarray里找下标=index的数组元素Aindex,这个元素就是跳转的地址;
5、跳转地址有了,怎么跳?当然就是使劲跳!

使用特权

评论回复
6
li_mu| | 2008-7-30 08:14 | 只看该作者

散转表

使用特权

评论回复
7
救火车| | 2008-7-30 08:59 | 只看该作者

问题不难,就是用汇编比较麻烦

使用特权

评论回复
8
5880527| | 2008-7-30 09:21 | 只看该作者

用汇编一般都能实现指哪打哪

只是楼主这问题好象没交代清楚哈

使用特权

评论回复
9
li_mu| | 2008-7-30 09:25 | 只看该作者

估计是为了保密

所以有点遮遮掩掩

使用特权

评论回复
10
xwj| | 2008-7-30 10:08 | 只看该作者

最基本的冒泡法啊

1楼的方法基本上就是最简单的了,

不过
“设置两个变量,一个拿来参与比较,找出最大值,另一个拿来存储相应的最大值的地址。找出最大值后,根据变量中存储的地址,再和7个数的地址比较,进行跳转。”...
另一个变量为什么要保存地址再来比较地址啊???
应该直接保存偏移哦

使用特权

评论回复
11
laoy|  楼主 | 2008-7-30 12:55 | 只看该作者

谢谢大家了

    大家说的都能实现,但我做的就是另设一个变量和MAX一起匹配记录最大值标号,且和MAX一起更新。
    谢谢。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

27

帖子

0

粉丝