問題タブ [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.

0 投票する
1 に答える
680 参照

c - Y86 Processor in C help! loader.c ファイルで立ち往生

これは少し大きな質問になるでしょう (少なくとも私にはそう思われます) ので、ご容赦ください。私たちは C で y86 シミュレーターを作成しており、割り当てのこの部分は、ファイルを開き、メモリにロードし、ダンプを実行して終了することになっています。main メソッドはこれらのことを行うために提供されています。実際にロードを行うために loader.c および loader.h ファイルを作成するだけです。load 関数は、ロードが成功した (入力ファイルにエラーがなかった) 場合は true(1) を返し、それ以外の場合は false(0) を返します。現在、ロード機能で行き詰まっており、問題は loader.c の 58 ~ 67 行目あたりにあると思います。メソッドを適切に呼び出していませんが、数値を適切にフォーマットする方法がわかりません。Cで作業するのはこれが初めてなので、まだかなり混乱しています。必要に応じて、さらにコードを提供できます。これまで、loader.c をインクルードしました。loader.h、memory.c、および memory.h。Bool.h が含まれていますが、これは true-false の typedef にすぎないので、省略できると考えました。これが少し多すぎる場合は申し訳ありませんが、私は完全に困惑しており、他にどこに行くべきかわかりません. 与えられた助けを前もって本当にありがとう、それは大歓迎です!

loader.c:

loader.h:

メモリ.c:

メモリ.h:

0 投票する
1 に答える
570 参照

assembly - 基本的なアセンブリ ラベルとジャンピング

だから私はいくつかのアセンブリに取り組んでおり、中間のものに飛び込む前にいくつかのことをテストしています。
私がやろうとしていること: ユーザーは数値 0 または 1 を入力します。出力は数値であり、数値が始まる任意の文字です (1 の場合は O、ゼロの場合は Z)
。したがって、0 の出力は 0Z であり、出力は1 は 1O である必要があります。
1に対してのみ機能し、0に対しては何も出力しないため、問題が発生しています。非常に基本的な間違いだと確信していますが、問題が何であるかを誰かが説明できれば、それは素晴らしいことです.
また、誰かが提案したい初心者の組み立てリソースがあれば、私はそれを感謝します. 特に気に入ったものは見つかりませんでした

ありがとう

0 投票する
1 に答える
118 参照

y86 - 符号なし乗算 Y86 の出力が表示されない

これは、私が Y86 用に書いた一対の整数 (5 かける 10) の符号なし乗算を行う非常に単純なプログラムです。

コードを実行すると、結果は次のようになります。

計算結果のレジスタ ecx は 16 進数で 32 であるため、mult ループが意図したとおりに実行されたことは確かですが、OutputArray に何も出力されていないため、その理由がわかりません。

0 投票する
1 に答える
251 参照

c - Y86 1 ステップ例外 HLT で停止

単純な C プログラムを IA32 に変換してから Y86 に音訳しましたが、Y86 を学習したばかりなので、理解できない、またはデバッグ方法がわからないというエラーが表示されます。エラーは次のとおりです。

プログラムは、i を 0 に初期化し、i が 5 以上になるまで for ループを実行し、毎回 i をインクリメントすることになっています。for ループ内で、j を i*2 に、k を j+1 に設定します。私のY86コードは次のとおりです。

私の問題を解決するのに役立つ場合は、音訳した C コードと IA32 コードを提供できます。本当に助けが必要です。