問題タブ [intel-syntax]

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

macos - intel_syntax を持つシンボルの GNU アセンブラーから正しい即時モードを取得できません

MAC OS で GNU アセンブラ (as) を使用して簡単なアセンブリ プログラムを作成しようとしています。プログラムの一部は次のようになります。

アセンブリとリンクの後、デバッガーで表示される実行可能コードは次のとおりです。

しかし、私が本当に欲しいのはmovq $0x14, %rdx代わりにmovq 0x14, %rdx

.dataセクションの前にセクションを配置しようとしました.textが、それでも同じ結果が得られます。

intel 構文で正しい即時モードを取得するにはどうすればよいですか?

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

assembly - MOV 操作を OR 操作に置き換えることはできますか?

まず最初に、私は ASM の初心者です。これがばかげた質問である場合は、ご容赦ください。

部分的なレジスタ ストールに関するAgner Fog のマイクロアーキテクチャ マニュアルを読みました(これは少し高度なようですが、64 ビット モードの 32 ビット命令がレジスタの上半分をゼロにする理由に興味がありました)。Example 6.13 は、レジスタ ストールを回避する方法を示しています。私はまだこれについて少し混乱しています。なぜ MOV の代わりに OR 操作が使用されなかったのですか?

効果は同じだと思います。どちらも 1 秒あたりのサイクル数は同じですか? 一方は他方よりも効率的ですか?私が他のものよりも好むようになる「ボンネットの下」に何かがありますか?

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

assembly - Intel構文モードでコメントにセミコロンを使用するようにGASに指示する

GAS でコメント文字にセミコロンを使用できますか?

以下のIntel構文でGAS 2.30を使用しています。

「;」の代わりに「#」をコメント文字として使用する必要があることを除けば、これはうまく機能します。

それが重要な主な理由は、私が持っているエディター (SublimeText 3.2.2、ビルド 3211) には ARM または NASM アセンブリ構文の構文強調表示のみがあり、どちらもコメントの「#」を理解せず、主に次の資料に従っているためです。 Intel 構文を使用してください。これは、私が読んでいるものと一貫性を保ちたいものです。

Intel のマニュアル、5000 ページ以上の PDF ドキュメントを確認しましたが、見落としていない限り、 Intelの紹介ページではコメントにセミコロンが使用されていますが、コメントについては何も書かれていません。

私の質問は、GAS がこのコンテキストでポンド記号の代わりにセミコロンを使用できるようにするスイッチがあるかどうか、または単に慣れるための小さな違いの 1 つなのでしょうか?

GAS も /、//、および /* */ を受け入れることを理解していますが、SublimeText はこれらのどれも理解していません。

興味深いことに、SublimeText に Bash 構文の強調表示を使用するように指示することは、以下のスクリーンショットのように非常に優れたソリューションですが、セミコロンも使用するように GAS を構成する方法があるのではないでしょうか? ありがとう。

SublimeText での GAS アセンブリ構文の強調表示

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

c - アセンブリ挿入を使用して C コードを実行するにはどうすればよいですか

アセンブリを挿入した C プログラムがあります。コードは次のとおりです: main.c:

このコードをコンパイルする方法 ( gcc -std=c11 -S main.c -o main ) を見つけましたが、それを実行すると ( ./main )、ターミナルで問題が発生します: bash: ./main: Permission拒否された。

-S フラグなしでコンパイルしようとすると、多くの不合理な間違いが発生します。

エラーの内容と、コードを正しく実行するために修正するにはどうすればよいですか? ありがとう!:)