PDA

View Full Version : کامپایلر مستقل از ویندوز برای اسمبلی



aryan_koder_x86
دوشنبه 15 شهریور 1389, 13:22 عصر
براي نوشتن كد اسمبلي كه وابسته به ويندوز نباشه از چه كامپايلري استفاده كنم؟؟؟؟؟
masm 32 گمونم ماله خود ويندوزه چون بدون ويندوز اجرا نميشه.
ميخام ide خوبي داشته باشه و اگه شد سينتكس ارور و ايناش هم كامل باشه.
لطفا لينك دانلود رو بزارين واسم

xman_1365_x
دوشنبه 15 شهریور 1389, 20:23 عصر
براي نوشتن كد اسمبلي كه وابسته به ويندوز نباشه از چه كامپايلري استفاده كنم؟؟؟؟؟
masm 32 گمونم ماله خود ويندوزه چون بدون ويندوز اجرا نميشه.
ميخام ide خوبي داشته باشه و اگه شد سينتكس ارور و ايناش هم كامل باشه.
لطفا لينك دانلود رو بزارين واسم


منظورتون رو خوب متوجه نشدم از وابسته نبودن به ويندوز از چه نظر؟
در برنامه هاي اجرايي روي ويندوز شما از api ويندوز استفاده مي كني كه كاملا وابسته به توابع آن هستي به جز اين هم خود برنامه شما روي اين سيستم عامل لود شده و مديريت حافظه و ... به عهده سيستم عامل هست در اين مورد هر سيستم عاملي اين كارو ميكنه! مگر اينكه شما خودت بوت كني سيستم رو و خودت آدرس دهي هارو مديريت كني! اين براي يك برنامه ساده هست اما چندين برنامه با هم اجرا شه نتونن داده هم رو ببينن تداخل و هم پوشاني رخ نده و كارهاي ديگه كه سيستم عامل به عهده ميگيره
اگر ميخواي فايل نهايي قابل اجرا روي سيستم عامل ديگه باشه!
مثل داس كه كد نهايي توليدي به ويندوز كار نداره! مگر اينكه در شبيه ساز داس يا همون cmd اجرا شه كه بازم ويندوز مديريتش مي كنه!
يا اينكه منظورتون اينه كلا در يك محيط ديگه مثل لينوكس كد بنويسيد! كه در اديتور هاش مي نويسيد و با دستوراتش در ترمينال اون ميتونيد اسمبل كنيد برنامه رو
در زبان هاي سطح بالا ما كامپايلر داريم در زبان سطح پايين اسمبلر داريم!
هنگام اسمبل كردن شما مي توني فايل هاي خروجي com,bin,hex,exe و ... داشته باشي بسته محيط اجرا مثلا در لينوكس فايل هاي اجرايي خاص خودش هست.
masm هم اديتور خوبي داره شما دراون بنويس و ذخيره كن و از اسمبلر دلخواهت استفاده كن براي مجيط دلخواه
براي اسمبلي اديتور زياد ساخته شده مثلا notepad++ كه براي بيشتر زبان ها قابل استفاده مي باشد، شما مي توني در notepad هم بنويسي!
اما براي اسمبل كردن :
براي شروع اسمبلي 8086 و 80286 ميتوني با شبيه ساز emu8086
كار كني كه از اسمبلر fasm استفاده مي كنه!
و همجنين براي 8086 به بعد با tasm,masm و ...
يا حتي در IDE ويژوال c بنويسيد بعد با ml دروني آنرا اسمبل كنيد. اينم بگم شما در ويژوال سي ميتوني اسمبلي 32 و 64 بيت بنويسي و اسمبل كنيد. تا روي پردازنده و سيستم عامل 64 بيتي اجرا كني
براي لينك دانلود هم كافيه سرچ كنيد در فروم و گوگل
اينم يكي از دوستان معرفي كردن مي تونه براي سيستم عامل هاي مختلف فايل اجرايي بسازه
http://barnamenevis.org/forum/showthread.php?t=240620

aryan_koder_x86
دوشنبه 15 شهریور 1389, 22:44 عصر
مرسي عزيز. مشكل از سوالم بود :اشتباه:. سيستم عاملي كه استفاده ميكنم ويندوزه. ميخام واسه پروژم يه بوت لودر ساده بنويسم . ميخام كدهاي نهايي كه قراره اجرا شن به وبندوز وابسته نباشه.همين.
تشكر

xman_1365_x
سه شنبه 16 شهریور 1389, 15:55 عصر
مرسي عزيز. مشكل از سوالم بود :اشتباه:. سيستم عاملي كه استفاده ميكنم ويندوزه. ميخام واسه پروژم يه بوت لودر ساده بنويسم . ميخام كدهاي نهايي كه قراره اجرا شن به وبندوز وابسته نباشه.همين.
تشكر

بوت لودر كه بسازي ديگه به هيچ سيستم عاملي وابسته نيستي!
بعد ساختنش بايد ببيني مي خواي چي كار كني مثلا ويندوز رو بوت كني يا برنامه خودت يا سيستم عاملي تحقيقاتي خودت رو لود كني كه دست خودته نه سيستم عامل
چون بعد مرحله پست در بايوس پردازنده مياد سكتور 0 رو ميخونه شما بجاي ويندوز اينكارو ميكني!
در فروم و موتور هاي جستجو سرچ كني سورس هاي نمونه زياده براي دانلود و همچنين مقالات آموزشي خوب هست.
براي آشنايي با فرآيند بوت شدن ويندوز اين فايل رو دانلود كنيد .
http://www.fekrinejat.com/Articles/WinXPBoot.pdf
موفق باشي

xman_1365_x
سه شنبه 09 آذر 1389, 00:09 صبح
از اين پست زماني گذشته اما ميگم شايد بعدا كسي مراجعه كنه
براي اينكه وابسته نباشه
يعني نخواهيم از api ويندوز
يا وقفه هاي داس
يا توابع لينوكس استفاده كنيم
بايد از توابع بايوس استفاده كنيم تا مستقل از سيستم عامل باشه
در سي هم از abi استفاده ميشه و...