assembly - 无法在 FASM 语法中添加部分

标签 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 给了我:

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

顺便说一句,我也无法创建一个命名段,例如:

segment .data

但我能做到:

segment readable executable

我找不到对此的解释。

最佳答案

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

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

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

关于assembly - 无法在 FASM 语法中添加部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20583338/

相关文章:

assembly - 使用进位和溢出位的原因

windows - 仅注入(inject)函数并通过 CreateRemoteThread 运行它? C++

assembly - assembly 中的段错误

Linux 内核模块 ABI (x86)

multithreading - 在多核 x86 上,是否需要将 LOCK 作为 XCHG 的前缀?

assembly - 保护模式下无法设置 GS 寄存器

c - 英特尔VS。寻址 xmm 和 float 指令时的 AT&T 语法

Python数据框组标签

assembly - nasm中$$的真正含义是什么

opencv - 如何用反射光分割图像