1

.sファイルを直接使用できない理由の説明を探しています。

X86_64でアセンブリ言語を学習しようとしていますが、アセンブリコードが表示されます。

gcc -S sample.c 

を使用して直接実行できないのはなぜnasmですか?

名前を変更sample.ssample.asmてこれを実行しようとしました:

 nasm -f elf -l sample.lst  sample.asm

しかし、それは私にエラーを与えます(必要に応じて投稿します)。中間ファイルはアセンブリコードにあると思いました。どうか明らかにしてください。

4

1 に答える 1

5

GCCからのアセンブリとnasmで使用されるアセンブリが同じ構文を使用していない場合の問題です。

GCCはいわゆるAT&T構文を使用しますが、nasmは標準のIntel構文を使用します。違いについての少しの情報については、例えばhttp://en.wikipedia.org/wiki/X86_assembly_language#Syntaxを参照してください。

于 2012-07-18T10:26:47.900 に答える