問題タブ [y86]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
loops - y86でforループを書く方法
私は y86 で for ループに相当するものを書こうとしていますが、何らかの奇妙な理由で 1 回だけ反復します。y86 には cmp 命令がないので、push、sub、pop を使用します。
y86 - ここで間違ったパラメーターが渡されるのはなぜですか?
私は Y86 を初めて使用し、再帰的な乗算関数を作成しようとしていますが、間違ったパラメーターが渡され続けています。
乗算関数を呼び出すコード:
そして実際の乗算コード:
x と y の両方に 4 を渡します。これは、それらを呼び出す関数が数値を 2 乗しているため、同じである必要がありますが、次の行では:
最初に入力した 4 の代わりに 2 が渡され、16 ではなく 13 の値が返されます。
Y86 についての私の限られた理解から、「mrmovl 8(%ebp),%ebx」は Y に等しく設定した 2 番目のパラメーターを返す必要があり、「mrmovl 12(%ebp),%edx」は X に等しい最初のパラメーターを返す必要があります。どちらも 4 として渡されます。