PDA

View Full Version : چطوری اسمبلی بنویسیم که روی پردازنده های مختلف جواب بده؟؟



amir001
چهارشنبه 13 بهمن 1389, 18:42 عصر
سلام به همه دوستان

فرض کنیم که قصد نوشتن یک برنامه اسمبلی برای بوت سیستم داریم. چطوری میشه برنامه نویسی کرد که روی پردازنده های مختلف جواب بده؟؟

من در مورد ویندوز شنیدم که یک فایل کتابخانه ای داره که هنگام نصب، بسته به نوع پردازنده نسخه ای از آن را درون ویندوز قرار میده و برای اجرای دستورات اسمبلی از اون استفاده میکنه و به همین دلیل دیگه نیازی به تغییر دستورات اسمبلی نیست و اون فایل کتابخانه ای دستورات را با سخت افزار سازگار میکنه.(اگر درست بیان کرده باشم)

اساس کار این روش چیه؟؟

xman_1365_x
چهارشنبه 13 بهمن 1389, 22:29 عصر
اين يك سوال بنيادين هست كه بد نيست تاريخچه زبان سي و جاوا هم مطالعه كنيد.
ببينيد زبان اسمبلي زبان قابل حمل نيست! هر پردازنده اي دستورات خودش رو داره و معماري خاص خودش، اين يعني دستورات اسمبلي شما قادر به اجرا و تشخيص توسط پردازنده ديگر نيست ،پس قابليت انتقال براي پردازنده هاي ديگه رو نداريم و مجبوريم با دستورات همان پردازنده كار كنيم
حالا راه حل چيه ، ميشه از زبان قابل حمل مثل سي استفاده كرد و بدليل سطح مياني بودنش كدهاي زبان اسمبلي رو در اون نوشت و در كل برنامه اي تركيبي از سي و اسمبلي نوشت و اون رو روي سيستم عامل هدف كامپايل كرد اين راه حل هم هنوز مشكلي داره و اونم اينه براي هر پردانده باز يك برنامه خواهيم داشت!
حالا جاوا اومد گفت چي كار كنيم ايده مستقل از ماشين رو مطرح كرد كه اول براي دستگاه هاي مختلف كه زياد استقبال نشد و بعد هم با پيشرفت اينترنت كه شبكه اي از سيستم هاي مختلف هست معروف شد كه كارشون اينه با يك ماشين مجازي روي هر سيستم باشه و كار تبديل به به زبان پردازنده مربوط رو انجام ميده پس برنامه روي هر ماشيني قابليت اجرا داره
همون كاري كه .net مايكروسافت بعد از جاوا داره انجام ميده

amir001
پنج شنبه 14 بهمن 1389, 01:28 صبح
ممنون از پاسختون

اما در مورد سوال دوم چطور؟ آیا کسی در این مورد چیزی میدونه؟؟



من در مورد ویندوز شنیدم که یک فایل کتابخانه ای داره که هنگام نصب، بسته به نوع پردازنده نسخه ای از آن را درون ویندوز قرار میده و برای اجرای دستورات اسمبلی از اون استفاده میکنه و به همین دلیل دیگه نیازی به تغییر دستورات اسمبلی نیست و اون فایل کتابخانه ای دستورات را با سخت افزار سازگار میکنه.(اگر درست بیان کرده باشم)

اساس کار این روش چیه؟؟


فکر نمیکنم این یکی ماشین مجازی باشه .... نه؟

xman_1365_x
پنج شنبه 14 بهمن 1389, 04:22 صبح
من در مورد ویندوز شنیدم که یک فایل کتابخانه ای داره که هنگام نصب، ...
من منظورتون رو متوجه نشدم بالاخره داره يا بايد نصب كرد،اسم اين كتابخانه چيه اطلاعات بيشتري بدين تا شايد بتونم راهنمايي كنم