【发布时间】:2012-02-05 22:04:36
【问题描述】:
首先,让我这样说...我不希望任何人只给我一个答案...我想指出正确的方向!
我在这个程序中有一个整数数组....例如:
numbers:
.word 17
.word -50
.word 1
.word -999
我有一个 while 循环遍历它们并将每个循环打印在新行上。这很好用。 (-999 是终止号码,不包含在打印输出中)
我还需要以相反的顺序打印它们。我知道我可以使用一个循环来计算元素的数量,然后再有另一个循环从最后一个地址开始并向后移动……但这似乎效率低下。
有没有什么方法可以在不先循环的情况下找到数组中最后一个元素的地址?如果没有,我可以按照我提到的方式进行,只是想确保我在程序中尽可能高效。
提前致谢!
【问题讨论】:
-
如果你有一个长度,你可以直接跳到那里,但如果数组结束只用 -999 表示,你有正确的想法扫描它并从那里向后移动。
-
如果您没有更多信息(例如最后一个元素地址),那么没有。
标签: arrays loops assembly while-loop mips