問題タブ [riscv32]
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.
assembly - RISC-V: a0 を使用した操作は、他のレジスタ値を変更します
私は現在、risc-v で小さなプロジェクトを行っています。問題は、関数でこのようなことをすると、
add a0, a2, a4 を実行すると、a2 と a4 の値も変化します。たとえば、add a0、a2、a4 をコメントアウトして実行すると、結果は a0 = 0x33333333、a2 = a4 = 0x00000000 になります。「add」行を追加すると、結果は a0 = ax000063e3、a3=0x123392c8、a4=0x00000d6e、a2 = 0x00005675 になります。
関数の最後のステートメントであっても、その上にあるレジスタの値も変更します。(a3のように)
risc-v について何か不足していますか? 順次実行されていませんか?
結果を0にする関数でも、
しかし、これは 0x00000001 を返します。risc-v の基本的な部分を理解している場合は、お知らせください。ありがとう。
gcc - riscv-gcc がビルドに失敗する [GCC_NO_EXECUTABLES]
Arty-A7 で Ibex (RISCV コア) の例を実装するために riscv-gcc を使用したいのですが、適切にビルドできませんでした。「make」フェーズの後、失敗しています。zlib と何か関係があるようですが、ソースから何かを構築するのはこれが初めてなので、よくわかりません。https://github.com/riscv/riscv-gccからソースを入手しました
make as を実行するように構成しました
その後、次のエラーで終了します
また、make(同じ構成)を実行してみました
しかし、代わりにこのエラーが発生します
https://gcc.gnu.org/install/prerequisites.htmlで提案されている前提条件ライブラリを確認する以外に、これまでに何をすべきかわかりません。誰でも私を助けることができますか?
[27/11/19 更新]
< https://github.com/riscv/riscv-gnu-toolchain >から完全な riscv-gnu-toolchain をインストールして依存関係の欠落を回避しようとしましたが、それでもエラーが発生しました。前提条件をインストールするために、提案された apt-get コマンドを実行しました。
riscv32 を対象とするように提案された構成を実行し、次のように make を進めました
その後、このエラーが発生しました
m4 が特定の引数を認識していないことに気付きました
私はこれを気にする必要がありますか?
[2019 年 12 月 16 日更新]
推奨されているように、Ubuntu 18.04.03 でツール チェーンを構築しようとしました (最初は 14.04 でした)。問題はかなり解決したようです。OS の依存関係に関して言えば、ツール チェーンは確かに「脆弱」であることが判明しました。助けてくれてどうもありがとう!