NASM 2 líneas de db (datos inicializados) aparentemente no funcionan

Tengo el siguiente código x86-64, que puedo ejecutar en OSX Yosemite:

global _main
extern _exit
extern _puts

DEFAULT REL

section .data

putsmsg:    db      'Puts message...',0
another:    db      0

section .text

_main:
    push        rbp
    mov         rbp, rsp

    ; print a string using PUTS
    lea         rdi, [putsmsg]
    call        _puts

    ; call EXIT(0) c function
    mov         rdi, 0
    call        _exit

Compilo, enlazo y ejecuto de la siguiente manera (donde la fuente es a.asm):

nasm -f macho64 a.asm ; gcc a.o -o a.bin ;./a.bin

No imprime el mensaje 'Pone mensaje ...', mientras que imprime el mensaje si simplemente comento la línea que contiene la etiqueta 'otro'. ¿Qué está mal aquí? ¿Por qué no imprime la cadena correcta cuando tengo la otra línea de datos inicializada?

Respuestas a la pregunta(1)

Su respuesta a la pregunta