如何找出NASM中的部分尺寸?

时间:2012-08-11 20:13:25

标签: linux nasm

我正在使用bin输出格式在NASM中编写程序。我手动创建ELF标头。我需要知道每个部分的起始地址和长度。

1 个答案:

答案 0 :(得分:2)

通过定义部分顺序

解决了问题
SECTION .header   progbits
SECTION .text     progbits  follows=.header   align=16
SECTION .rodata   progbits  follows=.text     align=16
SECTION .data     progbits  follows=.rodata   align=16
SECTION .bss      nobits    follows=.data     align=16

并在文件末尾添加这些行:

section .header
  header_start  equ  $$
  header_length  equ  $-$$

section .text
  text_start  equ  $$
  text_length  equ  $-$$

section .rodata
  rodata_start  equ  $$
  rodata_length  equ  $-$$

section .data
  data_start  equ  $$
  data_length  equ  $-$$

section .bss
  bss_start  equ  $$
  bss_length  equ  $-$$