問題タブ [assembly]

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 投票する
10 に答える
9602 参照

macos - OS X でアセンブラを学習するためのツールはどこにありますか?

アセンブラを学びたいです。ただし、OS X でアセンブラーを実行するためのリソースはほとんどありません。

Mac でアセンブリをプログラミングした人はいますか? どこで学びましたか?

そして、私が組み立てをしてはいけない理由はありますか?コンピューターを取り返しのつかないほど (かなり) クラッシュさせるリスクがありますか?

0 投票する
8 に答える
7374 参照

c# - ランタイム変数文字列をインジェクション用のマシンコードにアセンブルする .NET 用のアセンブラ ライブラリ

C# から呼び出すことができる x86 アセンブラーなどはありますか? x86 命令を文字列として渡し、バイト配列を取得できるようにしたいと考えています。存在しない場合、どうすれば自分で作成できますか?

明確にするために-C#からアセンブリコードを呼び出したくありません-命令からコードをアセンブルし、バイト配列でマシンコードを取得できるようにしたいだけです。

このコード (オンザフライで生成される) を挿入して、完全に別のプロセスに挿入します。

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

assembly - アセンブラでプログラミングして、クロックから乱数発生器のシードを取得する方法

コンパイラ、TASM 5

アーキテクチャ x86。

乱数生成アルゴリズムの場合、クロックをシードとして使用します。


私はその解決策を見つけました:

0 投票する
2 に答える
374 参照

assembly - アセンブリ プログラムを実行できません

Introduction to 80x86 Assembly Language and Computer Architecture を読み始めたところです。第 3 章に示されている最初の例を実行するために NASM を使用しようとしていますが、うまくいきませんでした。

0 投票する
9 に答える
2958 参照

theory - Assembly で学ぶべき重要な概念

私は、新しい言語を学ぶことで得られる最も重要なことの 1 つは、新しい言語の使い方ではなく、そこから得られる概念の知識であるという考えを固く信じています。Assembly がどれほど重要で有用であるかを尋ねているわけではありません。また、実際のプロジェクトでそれを使用したことがなくてもかまいません。

私が知りたいのは、アセンブリのどの概念が一般的なプログラマーにとって最も重要だと思うかということです。アセンブリに直接関係している必要はありません。CPU キャッシュなど、高級言語ですべての時間を費やしている典型的なプログラマーが理解できない、または当然のことと考えているものでもあります。

0 投票する
8 に答える
86592 参照

assembly - `testl` eax対eax?

私はいくつかのアセンブリを理解しようとしています。

次のようなアセンブリ、私はtestlラインに興味があります:

私はとのtestl間のそのポイントを理解しよう%eaxとしてい%eaxますか?このコードの詳細は重要ではないと思います。私はテスト自体を理解しようとしているだけです。値は常に真であるとは限りません。

0 投票する
10 に答える
12196 参照

assembly - Sparc ハードウェアなしで Sparc バイナリを実行する

ここ数か月、私は SPARC プロセッサ (V8 または V9) の組み立てに興味を持っていました。私の質問はこれです。私は SPARC マシンにアクセスできません。x86 マシンで SPARC バイナリを実行する方法はありますか? QEMU を見てきましたが、設定方法がよくわかりません。

0 投票する
5 に答える
380 参照

com - x86 アセンブリからの COM?

x86 アセンブリ言語を介して COM オブジェクトを呼び出すことはできますか? もしそうなら、どのように?

なぜ私はこれをしたいのですか?ソースを持っていない 2 つのプログラムがあるとしましょう - 私が持っているのはバイナリだけです。それらの 1 つは COM インターフェイスを実装し、もう 1 つは実装していません。この COM インターフェイスを使用して、最初のプログラムにコードを挿入し、2 番目のプログラムを呼び出す必要があります。これには、x86 アセンブリを使用する必要があります。

0 投票する
3 に答える
95275 参照

assembly - gcc を使用して Intel 構文でアセンブリ コードを生成するにはどうすればよいですか?

このgcc -Sオプションは AT&T 構文でアセンブリ コードを生成しますが、Intel 構文でファイルを生成する方法はありますか? または、2つの間で変換する方法はありますか?

0 投票する
12 に答える
6888 参照

c++ - Borland x86 インライン アセンブラ。ラベルのアドレスを取得しますか?

Borland Turbo C++ をインライン アセンブラー コードで使用しているため、おそらく Turbo Assembler (TASM) スタイルのアセンブリ コードです。私は次のことをしたい:

そのため、SomeLabel のアドレスが EAX に配置されます。これは機能せず、コンパイラは次のように文句を言います: 未定義のシンボル 'SomeLabel'。

Microsoft Assembler (MASM) では、ドル記号 ($) が現在の場所のカウンターとして機能します。これは、私の目的に役立ちます。しかし、これも Borlands Assember では機能しないようです (式の構文エラー)。

更新: もう少し具体的に言うと、実行時ではなく、コンパイル/リンク中に定数として eax に移動するアドレスをコンパイラが生成する必要があるため、「mov eax, 0x00401234」のようにコンパイルされます。

誰でもこれを機能させる方法を提案できますか?

更新: Pax の質問 (コメントを参照) に応答するには、実行時に Windows ローダーによってベース アドレスが変更された場合でも、DLL/EXE PE イメージは Windows ローダーによって再配置され、ラベル アドレスは実行時に次のようにパッチされます。ローダーは再ベースのアドレスを使用するため、ラベル アドレスにコンパイル/リンク時の値を使用しても問題ありません。

よろしくお願いします。