問題タブ [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.
memory - キャッシュ操作に対するメモリ内のサフィックスの影響
x86 GNU Assembler では、メモリ関連の操作用にさまざまな接尾辞があります。例えば:
今私の質問は次のとおりです。
サフィックスは、プロセッサがメインメモリからデータを取得する方法に何らかの影響を与えますか、それとも常にキャッシュにロードされる 1 つ以上の 32 ビット (x86) チャンクになりますか?
メモリアクセス以外の影響は何ですか?
assembly - Gnu Assembler (GAS) の CFI ディレクティブは何に使用されますか?
.cfi_startproc
すべての行の後に.CFI ディレクティブがあるようで、これらにはさまざまな種類があり.cfi_endproc
ます 。
これらの目的がわかりませんでした。
assembly - ガス:メモリ参照が多すぎます
次の命令をコンパイルする場合:
取得したメモリ参照が多すぎます。
どうしたの?
assembly - x86 アセンブリで各命令がコンパイルされる bye の数は?
住所が不明な場合、自分で計算できますか?
つまり、これしかありません:
assembly - レジスタ%eizとは何ですか?
次のアセンブリコードでは、以下を使用してダンプしましたobjdump
。
レジスターとは何%eiz
ですか?上記のコードはどういう意味ですか?
c - GNUアセンブラの出力オブジェクトファイル形式は?
GNU アセンブラー asのアセンブラー オプションを確認しましたが、出力オブジェクト ファイル形式を指定するオプションが見つかりませんでした。次のコマンドを使用している場合
どのようなオブジェクト ファイル形式を取得できますか?
as マニュアルには、「GNU as は、いくつかの代替オブジェクト ファイル形式を生成するように構成できる」と書かれています。どうすれば ELF 形式に変更できますか?
どうもありがとう。
linker - GNUldはセクションを削除します
ARM-CortexM3ベースのデバイスのブートスクリプトを作成しています。アセンブラブートスクリプトとCアプリケーションコードをコンパイルしてから、オブジェクトファイルを結合してデバイスに転送すると、すべてが機能します。
ただし、ar
アーカイブ(libboot.a)を作成し、そのアーカイブをCアプリケーションと組み合わせる場合、問題が発生します。
ブートコードをセクションに配置しました:
ld
これを最終的なバイナリから削除することがわかりました(「ブート」セクションは使用できません)。これは、認識している依存関係がないため非常に自然ですがld
、デバイスが正しく起動しない原因になります。
だから私の質問は:このコードを強制的に含めるための最良の方法は何ですか?
linux - *-ガス中のオペレーター
gnu アセンブラの * が何をするのか説明できる人はいますか? 例:
これはプロシージャー・リンケージ・テーブル (plt) のエントリーです。誰かがこの命令の機能と * の意味を明確にすることができます。
python - アセンブラに関するドキュメントはどこにありますか?
Python を使用して「プログラム」を解析し、それをアセンブラーに変換する非常に短いプログラムを作成して、小さなプログラミング言語を実行可能ファイルにコンパイルできるようにしました。
詳細については、こちらのブログをご覧 ください http://spiceycurry.blogspot.com/2010/05/simple-compilable-programming-language.html
私の質問は...上記のブログでスクリプトをさらに拡張できるように、他のカーネルコマンドをどこで見つけることができますか?
assembly - ガスの割り込み
簡単なプログラムを Intel 構文から AT&T に変換しようとしています (GAS でコンパイルするため)。アプリケーションの大部分を正常に変換しましたが、int
(割り込み) でまだエラーが発生します。私の機能は次のようなものです:
しかし、コンパイルすると、次のようになりました。
hello.S: アセンブラー メッセージ:
hello.S:13: エラー: msg db のオペランド サイズが一致しません "Hello, World!",0Ah'int'
hello.S:19: Error: no such instruction:
私は何をする必要がありますか?