インラインアセンブラによるスタックポインタの値の取得
Posted: 2010年7月31日(土) 13:45
VC++2010でインラインアセンブラをつかって、現在のスタックポインタの値を
取得したいです。
============ここから=============================
unsigned long GetStackPointer(void)
{
__asm movl %esp,%eax
}
int main(void)
{
long esp;
esp=GetStackPointer();
printf("スタックポインタの値->0x%x\n",esp);
return 0;
}
============ここまで===========================
ところが、
「オペコード' の 'MOD' はインライン アセンブラーの構文エラーになります。」
とエラーになりました。
(オペコードは"movl"のはずなのになぜか"mod"となってエラーが報告されます・・・・・)
何がまずかったのでしょうか?
取得したいです。
============ここから=============================
unsigned long GetStackPointer(void)
{
__asm movl %esp,%eax
}
int main(void)
{
long esp;
esp=GetStackPointer();
printf("スタックポインタの値->0x%x\n",esp);
return 0;
}
============ここまで===========================
ところが、
「オペコード' の 'MOD' はインライン アセンブラーの構文エラーになります。」
とエラーになりました。
(オペコードは"movl"のはずなのになぜか"mod"となってエラーが報告されます・・・・・)
何がまずかったのでしょうか?