gccのインラインアセンブラについて質問があります。
(dtpはGDTのbaseアドレスとlimitを持つ構造体です。)

asm volatile("lgdt %0\n" : : "m" (dtp));
asm volatile("lgdt (%0)\n" : : "p" (&dtp));

上のように、"m"で実体を渡す場合と、オペランドを()で囲って"p"でアドレスを渡す
場合の挙動が同じです。
"p"については、どこのページにも書いていないのですが、
(monaのソースでは"p"を使ってます。)
これらの書き方はあってますでしょうか?
この辺が詳しく書いてあるサイト等がありましたら、ご教授ください。