まず、これを言わせてください...私には誰も私に答えを与えたくない...正しい方向を指しておきたいです!MIPS ASM宿題 - ループとwhileループ
私は、例えば、このプログラムでは整数の配列を持っている....:
numbers:
.word 17
.word -50
.word 1
.word -999
私はそれらを介して実行され、新しい行にそれぞれ1を出力し、whileループを持っています。それはうまく動作します。 (-999は終了番号で、印刷には含まれません)
また、逆の順序で印刷する必要があります。私は、要素の数を数えるためにループを使うことができ、そして最後のアドレスから始めて後方に行く別のループを持つことができることを知っています....しかし、これは非効率的です。
最初にループを実行しないで配列の最後の要素のアドレスを見つける方法はありますか?そうでない場合は、私が言及したようにこれを行うことができます、私がプログラムでできるほど効率的であることを確認したいだけです。
ありがとうございます!あなたが望む任意のアセンブリのトリックを行うことを許可されている場合は
長さがあった場合は、すぐにジャンプすることができますが、配列の末尾に-999と表示されている場合は、それをスキャンしてそこから後ろに行くという正しい考えがあります。 –
情報がない場合は(最後の要素アドレスのように)、いいえ。 – m0skit0