
در ویژوال استدیو در زبان سی پلاس پلاس 32 بیت، ما مجاز بودیم با دستور زیر اینلاین اسمبلی بنویسیم.
__asm { }
اما در 64 بیت دیگر مجاز به اینکار نیستیم. برای نوشتن اسمبلی و استفاده از اون در زبان سی پلاس پلاس 64 بیت باید روند زیر را در پیش بگیریم:
ویژوال استدیو رو باز کرده و یک پروژه خالی سی پلاس پلاس میسازیم. سپس مطابق شکل ها ادامه میدهیم:










بخش زیر را در قسمت سی پلاس پلاس وارد میکنیم:
extern "C" int hello();
با این کار به لینکر میگوییم که تابع hello در خارج از این سورس پیاده سازی شده. و میتوانی آن را فراخوانی کنی:

کد زیر رو در فایل asm وارد میکنیم (صرفا یک مثال است):
.code hello proc xor rax, rax push 1 pop rax ret hello endp end


در این پست ما یک تابع امبلی نوشته و یادگرفتیم که چطور آن را در سی پلاس پلاس در ویژوال استدیو فراخوانی کنیم.
Telegram: @CaKeegan
Bale: @CaKeegan
Gmail : amidgm2020@gmail.com