ویرگول
ورودثبت نام
سید عمید قائم مقامی
سید عمید قائم مقامیبرنامه نویسی سیستم ویندوز و مهندسی معکوس و علاقه مند به آموزش.
سید عمید قائم مقامی
سید عمید قائم مقامی
خواندن ۱ دقیقه·۷ روز پیش

نوشتن اسمبلی در سی پلاس پلاس 64 بیتی

در ویژوال استدیو در زبان سی پلاس پلاس 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

اسمبلیسی پلاس پلاسویژوال استدیو
۰
۰
سید عمید قائم مقامی
سید عمید قائم مقامی
برنامه نویسی سیستم ویندوز و مهندسی معکوس و علاقه مند به آموزش.
شاید از این پست‌ها خوشتان بیاید