2012-07-18 84 views
1

我正在尋找爲什麼我無法直接使用.s文件的解釋。可以直接執行.s文件嗎?

我想了解在x86_64彙編語言,這一點讓我的彙編代碼:

gcc -S sample.c 

爲什麼我不能運行它,直接使用nasm

我改名sample.ssample.asm並試圖做到這一點:

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

但它給我一個錯誤(如果需要的話將發佈)。我認爲中間文件是彙編代碼。請澄清。

+0

也許它不直接用於win32或win64。也許你應該把模型平坦或類似的東西在開始 – 2012-07-18 10:22:24

+1

嗯,[同樣的問題剛剛被問](http://stackoverflow.com/q/11533478/968261)。 – 2012-07-18 10:22:32

+0

我正在學習組裝 – 2012-07-18 10:22:40

回答

5

問題是否可能是GCC的程序集和nasm使用的程序集沒有使用相同的語法!

GCC使用所謂的AT & T語法,而nasm使用標準的Intel語法。見例如http://en.wikipedia.org/wiki/X86_assembly_language#Syntax瞭解有關差異的一些信息。

+1

你可能能夠使用llvm-mc從一個轉換到另一個(沒有承諾) – 2012-07-18 11:19:44

相關問題