はじめまして、最近になってインラインアセンブラの勉強をはじめた者です。
下記のような単純なコードを書いて文字列を出力させようとしているのですが、
どうしてもcore dumpが起こってしまいます。

単純な忘れ物をしているだけのような気がするのですが。。。。
なにか手がかりを教えていただけると助かります。

int main(void)
{
__asm__(
"movl $0x4,%eax \n\t"
"movl $0x1,%ebx \n\t"
"movl $msg,%ecx \n\t"
"movl $0x4,%edx \n\t"
"int $0x80 \n\t"
"msg: .string \"aaa\\n\" \n\t"
);
return 0;
}

ちなみに環境はvine linux 4.2でgccでコンパイルをかけています。