#include <iostream>
int main()
{
int * heap_(new int(0));
int stack_(0);
void * esp_(nullptr);
asm("mov %%esp, %0" : "=m" (esp_));
std::cout << "heap address\t: " << heap_
<< "\nstack address\t: " << &stack_
<< "\nstack pointer\t: " << esp_ << std::endl;
delete (heap_);
return (0);
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKaW50IG1haW4oKQp7CiBpbnQgKiBoZWFwXyhuZXcgaW50KDApKTsKIGludCBzdGFja18oMCk7CiB2b2lkICogZXNwXyhudWxscHRyKTsKCiBhc20oIm1vdiAlJWVzcCwgJTAiIDogIj1tIiAoZXNwXykpOwoKIHN0ZDo6Y291dCA8PCAiaGVhcCBhZGRyZXNzXHQ6ICIgPDwgaGVhcF8gCiAgICAgICAgICAgPDwgIlxuc3RhY2sgYWRkcmVzc1x0OiAiIDw8ICZzdGFja18gCiAgICAgICAgICAgPDwgIlxuc3RhY2sgcG9pbnRlclx0OiAiIDw8IGVzcF8gPDwgc3RkOjplbmRsOwoKIGRlbGV0ZSAoaGVhcF8pOwogCiByZXR1cm4gKDApOwp9