Then come the most important symbols:
Num: Value Size Type Bind Vis Ndx Name
4: 0000000000000000 0 NOTYPE LOCAL DEFAULT 1 hello_world
5: 000000000000000d 0 NOTYPE LOCAL DEFAULT ABS hello_world_len
6: 0000000000000000 0 NOTYPE GLOBAL DEFAULT 2 _starthello_world string is in the .data section (index 1). It's value is 0: it points to the first byte of that section._start is marked with GLOBAL visibility since we wrote:global _startin NASM. This is necessary since it must be seen as the entry point. Unlike in C, by default NASM labels are local.
Ciro Santilli