0

与えられた「擬似コード」に基づいて、LC3アセンブリでプログラムを作成することになっています。

アセンブリで値を「返す」にはどうすればよいですか?

ありとあらゆる助けをいただければ幸いです。

擬似コード:

int brandonacci(int n) {
    if (n <= -16) {
        return -n/3 + 8;
    }
    else {
        int c1 = brandonacci(n - 2);
        int c2 = brandonacci(n - 7);
        return c1 / 2 - 2 * c2 - 3; }
     }
}
4

1 に答える 1

2

通常、LC3アセンブリでは、選択したレジスタを使用して値を返します。

これは、JSRまたはJSRRを実行してサブルーチン/関数を呼び出し、最後に値をレジスタに格納して、RETを実行することを意味します。これらの命令はR7レジスタのみを使用することがわかっているため、他のレジスタを自由に使用できます。

于 2012-10-23T17:37:35.697 に答える