IA32 (x86) でインラインアセンブラを使っているのですが、
gcc の asm においてイミディエイトは $12345 見たいに書きますよね?

asm ("mov $123, %%eax");
asm ("mov 123, %%eax");

この両者は何が違うのでしょうか??