2013-12-14 2 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.

Btw Я не могу также создать именованный сегмент, как:

segment .data 

, но я могу сделать:

segment readable executable 

Не могу найти объяснения для thi s.

ответ

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

Что такое номер 3 в 'исполняемом 3'? –

+0

Я думаю, что 3 для Linux. –

+0

Что это значит? –

1

section ключевого слова должны использоваться только тогда, когда результат ELF будет позже связан с внешним линкером.

Если директива format содержит пункт executable, допускаются только директивы segment, и файл результатов может быть выполнен непосредственно без ссылки.

Это объясняется в конце соответствующего раздела в FASM manual ch.2.4.4.

+0

'Если директива format содержит исполняемое предложение, разрешены только директивы сегмента' - что это такое заявил? –

Смежные вопросы