PDA

View Full Version : استفاده از وقفه ها در vs 2008



one hacker alone
چهارشنبه 24 آبان 1391, 16:10 عصر
با یاد خدا
با سلام

دوستان من میخوام از وقفه ها در ویژوال استودیو استفاده کنم اما نمیزاره
در حالت عادی میتونم از دستورات mov استفاده کنم اما نمیتونم از int 16h یا هرچی در __ASM استفاده کنم
راه حل چیه؟

xman_1365_x
چهارشنبه 24 آبان 1391, 22:41 عصر
برنامه نویسی سی برای داس میشه از وقفه استفاده کرد اما ویندوز وقفه هارو غیر فعال کرده و نمیتونید ازشون استفاده کنید.

one hacker alone
پنج شنبه 25 آبان 1391, 15:35 عصر
اگه ویندوز غیر فعال کرده پس چجوری ما با برنامه هایی مثل emu8086 میتونید از وقفه در برنامه ها استفاده کنیم و داخل ویندوز هم اجرا کنیم؟
یعنی ما تو هیچ محیطی نمیتونیم از وقفه ها در سی و در ویندوز استفاده کنیم؟

Delphi Coder
پنج شنبه 25 آبان 1391, 17:03 عصر
emu8086 اسمش روش هست اون emulator هست که 8086 و البته سیستم عامل DOS رو شبیه سازی میکنه. در زمان سیستم عامل DOS که چیزی به اسم ویندوز و API وجود نداشت از سرویس وقفه ها برای نوشتن برنامه ها استفاده میشد وقفه های DOS و BIOS در واقع کدهای 16 بیتی هستند که تحت سیستم عامل DOS یا هر سیستم عامل RealMode میشه ازشون استفاده کرد. Windows در حالت protected mode و 32 یا 64 بیتی کار میکنه. (البته زمان سیستم عاملهای 32 بیت هم کم کم داره به پایان خودش نزدیک میشه)
حالا شاید براتون سوال باشه که پس چرا تدریس میشه. علت این هست سیستم کار خودش رو از محیط 16 بیت و وقفه ها شروع میکنه و اصولا هر مهندس نرم افزاری باید تا حدودی آشنا باشه به برنامه نویسی و امکانات این محیط تا بتونه درک نسبی به فرایند بوت سیستم داشته باشه.

one hacker alone
جمعه 26 آبان 1391, 13:30 عصر
خوب پس الان تکلیف چیه یعنی نمیشه از وقفه ها استفاده کرد؟
نمیشه برنامه مقیم در حافظه نوشت؟
یعنی الان هیچ برنامه ای نیست که از وقفه ها استفاده کرده باشه؟
حتی با MASM هم نمیشه کاری از پیش برد؟

Delphi Coder
جمعه 26 آبان 1391, 16:41 عصر
برنامه مقیم در حافظه و وقفه ها در DOS معنی میدهند در ویندوز امکانات بهتر و قویتری برای برنامه نویسی وجود دارد. و API ها جای وقفه ها را گرفته است. سیستم برنامه نویسی اینطرف به کل متفاوته.

xman_1365_x
شنبه 27 آبان 1391, 09:01 صبح
خوب پس الان تکلیف چیه یعنی نمیشه از وقفه ها استفاده کرد؟
نمیشه برنامه مقیم در حافظه نوشت؟
یعنی الان هیچ برنامه ای نیست که از وقفه ها استفاده کرده باشه؟
حتی با MASM هم نمیشه کاری از پیش برد؟
از برنامه های شبیه ساز استفاده کنید مثل: DOSBOX و emu8086،البته چک نکردم TSR رو پشتیبانی میکنه یا نه،راه حل دیگه هم اینه از Dos روی VM ها استفاده کنید.