スタック領域(スタックが使うアドレス)の再確認

x86gccの場合、
関数からのリターンの際、
リターン時のEAXレジスタが関数の戻り値になるので、
次のようにスタックが使うアドレスを直接とりだすことができる

[hirasawa@aspire-white gcc-Programming-Kobo]$ cat ./stack.c 
#include <stdio.h>

asm("stack:  ");
asm("  movl %esp ,%eax ");
asm("  ret   ");

unsigned int stack(void);

int main() {
 printf("ESP address is %p\n", &stack);
 printf("ESP address is %p\n", stack);
 printf("ESP has had  %08x\n", stack());
 return 0;
}
[hirasawa@aspire-white gcc-Programming-Kobo]$ gcc -Wall -save-temps -o stack stack.c 
[hirasawa@aspire-white gcc-Programming-Kobo]$ 
[hirasawa@aspire-white gcc-Programming-Kobo]$ ./stack 
ESP address is 0x80483c4
ESP address is 0x80483c4
ESP has had  bfcda7ac
[hirasawa@aspire-white gcc-Programming-Kobo]$ 

やっぱ、0x0bffffffあたり