无法在FASM语法中添加节

时间:2013-12-14 12:32:50

标签: assembly x86 segment fasm

我在使用FASM语法添加部分时遇到了一些问题。我已检查过其他网站,我确信这是正确的语法。我一定错过了一些东西:

format elf executable 3
entry start

section '.text' readable executable

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

和FASM给了我:

  

平面汇编程序版本1.70.03(16384千字节内存)   exit.asm [4]:section'.text'可读的可执行错误:非法指令。

顺便说一句我也不能创建一个像:

这样的命名段
segment .data

但我能做到:

segment readable executable

我无法找到解释。

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

仅当结果ELF稍后将与外部链接器链接时,才使用section关键字。

如果format指令包含executable子句,则只允许segment指令,并且可以直接执行结果文件而不进行链接。

这一切都在FASM manual ch.2.4.4

的相关部分的末尾进行了解释