-2

ループを使用してアセンブリでコードを作成しようとしましたが、この言語は初めてで、それを実現する方法が見つかりません。

私が作りたいコードは、フィボナッチ数列に関するものです。

問題は、ユーザー入力の数 (印刷したいフィボナッチ数) に対してループを繰り返したいことですが、その方法が見つかりません。

コードは x86 アーキテクチャ用です。

4

2 に答える 2

0

x86アセンブラに長い間触れていませんが、次のように動作するはずです

label:

movl $3, %ecx  // put 3 into ecx register

// your code

decl %ecx      // decrement value in ecx register
jnz label      // loop back to label if ecx register is not zero

明らかに、ユーザーの入力の数を 3 ではなく ecx レジスタに保存します。また、ユーザーの入力を取得するコードが既にあると仮定しています。それ以外の場合は、さらに多くのアセンブラー コードが必要です。

于 2013-11-14T01:49:07.720 に答える