おしえてください。下のプログラムで"hell"と表示されるんですがどこを直すといいですか?

#include <stdio.h>

int main(void) {
  int len;
  char *msg;
  msg = "hello world\n";
  asm("nop");
  asm("movl $4, %eax\t\n");
  asm("movl $1, %ebx\t\n");
  asm("movl %0, %%ecx\t\n" :: "g"(msg): "cx");
  asm("movl %0, %%edx\t\n" :: "g"(len): "dx");
  asm("int   $0x80\t\n");
  return 1;
}