問題タブ [fasm]
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.
linux - リンクされたアセンブリ サブルーチンが期待どおりに動作しない
FASM で 32 ビットの符号なし整数を STDOUT に出力する単純なサブルーチンを作成しています。これは私が思いついたものです:
次に、上記のサブルーチンが適切に機能するかどうかをテストする別のプログラムを作成しました。
これらの両方のプログラムを対応するオブジェクト ファイルにコンパイルし、それらをリンクして実行可能ファイルを作成しました。
ただし、プログラムを実行すると、の7
代わりに表示されるだけでし1337
た。結局のところ、数字自体に関係なく、数字の最後の桁のみが表示されます。
uprint
私のサブルーチンが正しいので、これは奇妙です。実際、これらの両方のプログラムを 1 つのプログラムに結合すると、1337
正しく表示されます。
私は何を間違っていますか?
compiler-construction - FASM にコンパイルできる他の言語はありますか?
FASM は、最速かつ最も効率的な x86/64 アセンブラーであり、私が書いている新しい言語のコンパイラーのバックエンドとして使用しています。
私は Ubuntu のみを使用しているため、コンパイラが生成する FASM コードは Linux 固有です。ただし、クロスプラットフォーム対応にしたいと考えています。
したがって、私はまず、FASM をバックエンドとして使用する他のコンパイラについても調べたいと考えています。私の知る限り、Glasgow Haskell Compiler (GHC) だけがこれを行います。
クロスプラットフォーム互換の FASM コードを生成する他のコンパイラを知っている人はいますか? 適切なドキュメントがあるものを推奨します。
linux - readline ライブラリをオブジェクトファイルにリンクするには?
FASM で書かれたプログラムで GNU readline ライブラリを使用しようとしています。これは私のアセンブリコードです:
次に、次のようにコンパイルしてリンクします。
ただし、./test
bash を実行しようとすると、次のエラー メッセージが表示されます。
実行可能ファイルはtest
ディレクトリにあります。どうしたの?libreadline
ライブラリを正しくリンクしていませんか?
assembly - FASM 同時増分と CPU 負荷
並行性についての理解を深めるために、FASM を試しています。それぞれがいくつかの を作成する 2 つのスレッドを持つプログラムを作成しましたlock xadd
。i7 の Win7 64 ビットで実行したところ、非常に興味深い結果が得られました。プログラム自体は正しく動作しますが、予想した 2 つではなく 4 つのコアをロードします。
タスク マネージャーの「パフォーマンス」は 4 コアの明確な負荷を示します
リソース モニターの [CPU] タブに、プロセスに 2 つのスレッドがあることが表示される
なぜそれが起こるのかについて誰かがヒントを与えることができますか? FASM プログラムのコードを現在実行しているコアを特定する方法はありますか (コアが実際に異なることを確認するため)。
assembly - ブートローダから 2 番目のセクタを読み込みます
フロッピー ディスクの 2 番目のセクタを読み込もうとしています
このコードを fasm 1.7 と Windows 7、VMware でテストします。フロッピー イメージ ファイルを作成するために、dd
Ubuntu 13.04 から使用dd
しました。.bin
.img
これが私のコードです
結果 = '7' をまったく出力しない 何が問題なのですか? ありがとう
windows - masm FPU から fasm FPU への変換ができず、動作しません
FPUを処理するためにこのコードを大量に持っていますが、うまく機能します
このコードでは、2 つの異なるテキスト ボックスから数値を取得し、それらを分割して、結果を別のテキスト ボックスに出力します。
これはローカルのデータです
これがコードです
コードをfasmに変換しようとしています
これは私がこれまでに持っているものですが、機能していません textbox3 は単に 0 と言っています
これがデータです (fasm でその方法をまだ学んでいないため、これはローカル データではありません)
これがコードです
最初にテキストをフロートに変換していないため、このコードが正しくないことはわかっていますが、方法がわかりません
よりシンプルなバージョンも試しましたが、どちらも機能しませんでした
私の質問は、誰かが2つの異なるテキストボックスから数値を読み取り、それらを分割し、fasmコードを使用して別のテキストボックスに結果を返す方法を教えてください。
ありがとうございました
string - FASM で 2 つの文字列を比較する
私はFASMに関しては初心者であり、一般的にASMにはかなり慣れていませんが、「変数」に格納されている2つの文字列を比較しようとしています:user_input
とexit_cmd
:
現時点では問題なく組み立てられますが、プロンプトに何かを入力するとクラッシュします。はい、私のコードは乱雑で、達成しようとしているタスクは、私が知っている ASM のレベルでは手の届かないものに見えるかもしれませんが、他の言語でそれを行ったので、ASM で試しています。
文字列が一致する場合、マクロCompareStrings
(ソースは不明です。私のものではありません) を使用して 1 に設定していることがわかりますが、1 を使用してからラベルとEAX
比較すると、機能しません。何か助けはありますか?EAX
CMP
JE
バグのあるコードは次のとおりです。