2

我在使用 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 KB 内存)exit.asm[4]:“.text”节可读可执行错误:非法指令。

顺便说一句,我也不能创建一个命名段,如:

segment .data

但我可以这样做:

segment readable executable

我找不到对此的解释。

4

2 回答 2

2

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

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

这一切都在FASM 手册 ch.2.4.4中相关部分的末尾进行了解释。

于 2014-02-18T19:09:13.213 回答
1

It seems that the FASM documentation for ELFs aren't up to date. You should go to the FASM forums and report and/or ask about it.

I got this to compile in 1.70.03, adapted from the elfexe example:

format elf executable 3
entry start

segment readable executable

start:
mov     ebx,0
mov     eax,1
int     0x80
于 2013-12-16T17:55:03.880 回答