2013-12-14 31 views
1

我在使用FASM語法添加段時遇到了一些問題。我檢查了其他網站,我確信這是正確的語法。我必須失去了一些東西:無法在FASM中添加段語法

format elf executable 3 
entry start 

section '.text' readable executable 

start: 
mov ebx, 0 
mov eax, 1 
int 0x80 

和FASM是給我:

flat assembler version 1.70.03 (16384 kilobytes memory) exit.asm[4]: section '.text' readable executable error: illegal instruction.

順便說一句,我不能還創建了一個名爲段,如:

segment .data 

,但我可以這樣做:

segment readable executable 

我找不到解釋秒。

回答

1

看起來FASM documentation for ELFs不是最新的。你應該去FASM forums並報告和/或詢問。

我這在1.70.03編譯,改編自elfexe例如:

format elf executable 3 
entry start 

segment readable executable 

start: 
mov  ebx,0 
mov  eax,1 
int  0x80 
+0

'executable 3'中的數字3是什麼? –

+0

我認爲3是針對Linux的。 –

+0

這是什麼意思? –

1

section關鍵字將被用於僅當結果ELF將與外部接頭在後面聯繫起來。

如果format指令包含executable子句,則只允許指令segment,並且可以直接執行結果文件而不進行鏈接。

這一切都在FASM manual ch.2.4.4的相關部分末尾解釋。

+0

'如果format指令包含可執行子句,則只允許段指令 - 這是什麼說? –