我在使用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
我无法找到解释。
答案 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。
的相关部分的末尾进行了解释