Dans ce cas je ne comprends pas la soustraction :/
Code:
.start
db 0x7F, "ELF" ; ELF signature -- constant
db 1 ; Architecture(1) -- 1 = 32 bits
db 1 ; Data enconding -- 1 = LSB-First
db 1 ; File version -- 1 = v1
db 0,0,0,0,0,0,0,0,0 ; 9 bytes padding -- should be zero
dw 2 ; Type -- 2 = executable
dw 3 ; Architecture(2) -- 3 = i386
dd 1 ; ELF Version -- 1 = ELF-v1
dd _start ; Entry point adress in memory -- virtual adress
dd segments_table - $$ ; Segments table offset in file
dd 0 ; Sections table offset in file -- 0 = none)
dd 0 ; File's flags
dw elf_header.size ; ELF Header's size
dw 32 ; Segments table entries's size
dw 1 ; Number of segment descriptors -- just one (code)
dw 0 ; Sections table entries's size -- 0 = none
dw 0 ; Number of sections descriptor -- 0 = none
dw 0 ; String table index -- 0 = none
.size equ $ - .start
segments_table:
En faisant le calcul
segments_table: il se trouve au 52 octets , et si je suis ce que tu me dis , $$ vaut 32 là ou il est mis
donc 52 - 32 = 20 , or j'ai 52 d'inscrit dans mon fichier :/
les dollars me trouble

ou alors , n'est pas un "tag" un peu comme le ? en pure qui permet d'avoir l'adresse d'un label ?
code pb
Code:
label:
Addressedulabel = ?label
code nasm :
Code:
dd label - $$