問題タブ [gnu-assembler]

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

assembly - x86アセンブリ、誤解を招くエラー

私はアセンブリを学び、GNU ASで使用するためのAT&T構文のプログラムを持っています。これは動作するはずです。GDBでこのエラーが発生します:

コードは次のとおりです。

私が本当に明らかに間違ったことはありますか?そして、アセンブリを学ぶためにどのリソースをお勧めしますか?(私はWikiBooks X86アセンブリの記事とほとんどのGASマニュアルを読みました)。

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

assembly - asm でのメモリアドレッシング

私は asm を学んでいますが、これが私の (多くの) 問題の 1 つです: 配列のインデックスの値を変更したいと思います。それを言いましょう:

  • %eax には新しい値が含まれています
  • スタックの一番上 (つまり (0)%esp) には配列のインデックスが含まれます
  • -4(%ebp) には、配列のアドレスが含まれます。

試してみましmovl %eax, (-4(%ebp),0(%esp),4)たが、うまくいきませんでした。さらに悪いことに、構文エラーがスローされます: bobi.s:15: Error: jump `(%ebp),0(%esp),4)' after expression

正しい構文は何ですか?

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

assembly - gcc インライン アセンブリの ljmp 構文

コードセグメント(CS)レジスタを設定するためにファージャンプを使用することを考えていました。なぜ私がこれを行っているのか、なぜセグメンテーションを扱っているのかを理解するにはしばらく時間がかかるので、それは学問的な課題と考えてください。構文を正しく理解できないようです。

Error: suffix or operands invalid for 'ljmp'

cs別のレジスタに入れるのはばかげていることはわかっていますが、使用が機能し%0ていなかったので試してみることにしました(axレジスタも機能しません)。

正常にコンパイルされるコードを見ていますが、同じだと思っていたので、これは私を夢中にさせていljmpます:__asm volatile ( "lcall $0x8, $far_call" );

もちろん、CS レジスタに影響を与える他のハッキーな方法を歓迎します。

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

macos - OSX への GNU アセンブラーのインストール

どんなにググっても、GNU Assembler を Mac にインストールする方法について (比較的) わかりやすい手順が見つからないようです。

gcc -c(Mac では Apple Clang) を使用して.s/ファイルをアセンブルできることはわかってい.Sますが、実際の G​​NU Binutils を使用したいと考えていますas

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

assembly - AVR用のgnuアセンブラを使用してPCに対してジャンプするにはどうすればよいですか?

avr-objcopyを使用して逆アセンブルしたバイナリファイルがあります。割り込みベクタテーブルは次のようになります。

いくつかの変更を加えて、このファイルを再構築したいと思います。最初の2列を削除して、通常のアセンブリファイルになるように再フォーマットしました。すなわち:

しかし、私が走ると

次に、生成されたファイルを逆アセンブルします。(objcopy -S a.outを使用)出力は次のようになります。

では、PC相対ジャンプを尊重するために、どうすればavrを取得できますか?

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

assembly - モノ「asmonly」オプション

「hello world」を出力する MonoDevelop を使用して、単純な mono 実行可能ファイルを作成しました。AOT の「asmonly」オプションを試してみたかったのです。そう:

セグメンテーション違反が発生するのはなぜですか? Fedora 12 x64 を使用しています。そして、ld の「エントリ シンボル _start が見つかりません」というエラーは何ですか?

ありがとう!

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

assembly - アセンブリ: あるセクションから別のセクションへジャンプ

x86 アセンブリで、あるセクションから別のセクションへの無条件ジャンプを実行するにはどうすればよいですか?

例えば:

これは飛躍だと思います。これを実行しようとすると、segfault が発生します。回避策はありますか?

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

c - "movl $0x2d, 0x4(%esp)" で 0x4 は何をしますか?

GCC によって生成されたアセンブリ コードを調べています。しかし、私は理解していません:

第 2 オペランドで、 は何0x4を表していますか? オフセットアドレス?また、レジスタ EAX の用途は何ですか?

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

visual-studio - MicrosoftアセンブラからGNUアセンブラへの変換

VisualStudioで適切にコンパイルされるARMアセンブリコードがあります。同じARMアセンブリコードを使用して、GNUアセンブラでコンパイルしたいと思います。ご存知のように、両方のアセンブラーの構文は異なります。これらのアセンブリ構文から変換できるツールがあるかどうか疑問に思いました。

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

assembly - MOV src、dest(または)MOV dest、src?

MOVは、おそらく、ASMを学びながら誰もが学ぶ最初の指示です。

ちょうど今、私はIA32アーキテクチャ用のGNU /LinuxでのAssemblyLanguageProgrammingという本に出会いました。RajatMoona著:(壊れたリンクは削除されました)

しかし、私はそれがであることを学びましたMOV dest, src。「Loadwith」のようなものdestですsrcウィキでも同じことを言っています。

著者が間違っていると言っているのではありません。私は彼が正しいことを知っています。しかし、私はここで何が欠けていますか?

asところで..彼はこれらの命令を組み立てるためにGCCを使用しています。しかし、それは命令構文を正しく変更するべきではありませんか?