問題タブ [machine-code]

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

assembly - アセンブリ コードはクロスプラットフォームですか?

0x042444FFはマシン コードですinc dword ptr [esp+4]が、 はアセンブリ コードですが、多くの要因に依存するため、マシン コードはクロスプラットフォームではないことがわかっています。

アセンブリコードはどうですか、それは CPU に依存しますか?

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

assembly - アセンブリ命令のマシン コードを取得するコマンド ライン ツールはありますか?

incどの部分が を意味するか、dwordまたはその逆かを知るために、このツールが必要です。

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

assembly - アセンブリをバイナリに変換するにはどうすればよいですか?

例えば:

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

assembly - 16進シーケンスは、あいまいさのないアセンブリにどのように変換されますか?

上記のようなセンセーションはさまざまな方法でセグメント化でき、各セグメントは対応するアセンブリ命令に変換できますが、各バイナリ実行可能ファイルには唯一のDEFINITEアセンブリがあります。あいまいさを回避する数学的原理は何ですか?

アップデート

ほとんどの票の答えは、実際には私の質問にまったく答えません。

0 投票する
7 に答える
8879 参照

cpu - CPU は自分の命令セットをどのように認識していますか?

パソコンの基本操作の質問ですが、どうやって聞けばいいのかわかりません。コンピューターに命令セットがあると言うとき、コンピューターはどのようにしてそのセットが何であるかを知るのでしょうか? ROMチップに保存されていますか?CPUのどこかに保存されていますか?ディスクを読み取ってマシンコードの処理を開始できるように、メーカーはそれをどこに配置しましたか?

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

binary - パディングのポイントは何ですか?

特に、私は OS X 上の Intel 32 用の Mach-O バイナリ ファイル フォーマットを読み込んでいます。FAT ヘッダーの後、最初のアーカイブのオフセットの前に大量のパディングがあります。このすべてのパディングのポイントは何ですか?

具体的には、FAT ヘッダーと最初のアーカイブ (特に mach_header) の間に 4000 バイト以上のパディングがあります。これらの余分なバイトをすべて含めるのはなぜですか?! OS X は、すべてのユニバーサル バイナリに 4 KB を追加するのが好きですか?

0 投票する
6 に答える
7455 参照

assembly - x86命令の長さを知る方法は?

アセンブリのさまざまな命令を見ていましたが、さまざまなオペランドとオペコードの長さがどのように決定されるかについて混乱しています。

それはあなたが経験から知っておくべきことですか、それともどのオペランド/演算子の組み合わせが何バイトを占めるかを知る方法がありますか?

例:

したがって、問題は次のとおりです。

与えられた命令を見て、そのオペコードが必要とするバイト数をどのように推測できますか?

0 投票する
4 に答える
822 参照

compiler-construction - アセンブリ言語をマシン コードにコンパイルするには、どの段階が必要か

生のマシンコード命令を出力するアセンブラーファイルを取得するコンパイラーを作成しようとしています。

コンパイラの書き方に関するチュートリアルをたくさん見つけましたが、すべての段階がアセンブラのニーモニックに関連しているかどうか疑問に思っています。たとえば、単純化された段階ごとの形式のアセンブラーを考えると、字句解析はまったく必要ですか、それとも必要ですが、より単純な形式では必要ですか?

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

binary - 実行可能ファイル/オブジェクト ファイルから 0 と 1/マシン コードを確認するにはどうすればよいですか?

私はすでにこれを試しました.a.outファイルをテキストエディタで開きましたが、次のような指示が含まれた文字の束しか得られません:

üÙ

0 投票する
4 に答える
16615 参照

c - AMD64 --nopwアセンブリ命令?

nopwこのコンパイラ出力では、命令のマシンコードエンコーディングがどのように機能するかを理解しようとしています。

http://john.freml.in/amd64-noplで、「nopw」に関するいくつかの議論があります。4004d2-4004e0の意味を誰かが説明できますか?オペコードリストを見ると、66 ..コードはマルチバイト拡張であるように見えます。数時間オペコードリストを調べようとしない限り、ここではおそらく私よりも良い答えを得ることができると思います。


そのasm出力は、Cの次の(非常識な)コードからのものであり、単純な無限ループに最適化されます。

でコンパイルするとgcc -O2、コンパイラは無限再帰を認識し、それを無限ループに変換します。main()実際、これは非常にうまく機能するため、関数を呼び出さずに実際にループしrecurse()ます。


編集者注:NOPを使用したパディング関数は、無限ループに固有のものではありません。これは、Godboltコンパイラエクスプローラーにある、さまざまな長さのNOPを持つ関数のセットです。