2013-12-14 5 views
1

FASM 구문을 사용하여 섹션을 추가 할 때 몇 가지 문제가 있습니다. 나는 다른 웹 사이트를 점검하고 이것이 올바른 구문이라고 확신한다. 내가 뭔가 빠진해야합니다FASM에 섹션을 추가 할 수 없습니다. 구문

format elf executable 3 
entry start 

section '.text' readable executable 

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

및 FASM 나에게주고있다 :

Btw는

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

가 나는 또한 같은 이름 세그먼트를 만들 수 없습니다 :

segment .data 

을하지만, 내가 할 수있는 :

segment readable executable 

thi에 대한 설명을 찾을 수 없습니다. 에스.

답변

1

FASM documentation for ELFs은 최신 버전이 아닙니다. FASM forums으로 이동하여보고하거나 질문하십시오.

나는 이것이 elfexe 예에서 적응, 1.70.03 컴파일있어 :

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

'형식 지시어에 실행 구문이 포함되어 있으면 세그먼트 지시문 만 허용됩니다. '- 이것은 무엇입니까? 정해진? –