PDA

View Full Version : مبتدی: اشنایی با اسمبلی



vahid_fathi
جمعه 26 آبان 1391, 11:07 صبح
سلام میگم خدمت همه ی دوستان و امیدوارم حالتون خوب و خوش باشه.
دوستان من دوتا سوال دارم که میخوام اگه بشه منو راهنمایی کنین .
1- ایا تو زبان اسمبلی چیزی به نام حلقه وجود داره یا نه ؟
2- من دارم یه برنامه درمورد شطرنجی کردن دسکتاپ مینویسم که یه روش خیلی ابتدایی رو براش نوشتم اونم اینکه دسکتاپ رو به بخشای کوچیک تقسیم کردم و برا هرکدوم از این قطعه های تقسیم شده یه رنگ رو نسبت دادم حالا سوال من اینه ایا روش ساده تری هست یا نه ؟

Delphi Coder
جمعه 26 آبان 1391, 11:39 صبح
1- ایا تو زبان اسمبلی چیزی به نام حلقه وجود داره یا نه ؟
بله، دستور Loop

2- من دارم یه برنامه درمورد شطرنجی کردن دسکتاپ مینویسم که یه روش خیلی ابتدایی رو براش نوشتم اونم اینکه دسکتاپ رو به بخشای کوچیک تقسیم کردم و برا هرکدوم از این قطعه های تقسیم شده یه رنگ رو نسبت دادم حالا سوال من اینه ایا روش ساده تری هست یا نه ؟
تنها راه حل کلی هم به نظر همینه

vahid_fathi
جمعه 26 آبان 1391, 17:48 عصر
اگه تو زبان اسمبلی حلقه وجود داره پس میشه با استفاده دستور loop یه دستور ساده برا شطرنجی کردن نوشت یا نه نمیشه ؟

IamOverlord
جمعه 03 آذر 1391, 02:09 صبح
البته فکر می کنم LOOP ماکرو باشه... در حقیقت می شه خودت با مجموعه ای از پرش های شرطی (JNE - JE - JZ - ...) و CMP انواع ساختار های حلقه ای رو پیاده سازی کنی...

pr0tector
جمعه 03 آذر 1391, 02:23 صبح
اگه تو زبان اسمبلی حلقه وجود داره پس میشه با استفاده دستور loop یه دستور ساده برا شطرنجی کردن نوشت یا نه نمیشه ؟
دوست عزیز در زبان اسمبلی همانند زبان های سطح بالا نیست که همه توابع اماده باشند و شما فقط فراخوانی کنید ، تو زبان های سطح بالا ساختارهایی مثل حلقه ها و ... یه چندتا ساختار ثابت رو دارند اما تو زبان اسمبلی یه همچنین روالی وجود نداره و شما باید خودتون این ساختار ها رو بسته به نیاز برنامه تون بنویسید (حالا یا به عنوان ماکرو یا روال)...
برای ایجاد حلقه هم دستورات زیادی (JNE,JNZ,JZ,JMP,Loop,Loope,JNB,..) وجود داره...
و اما برای شطرنجی کردن صفحه ،این کار همانند منوهای گرافیکی میمونه که در حقیقت کاربر رو به عبارتی گول میزنه در حالی که چیزی جز رسم چندتا ناحیه رنگی نیست
در این مورد هم شما میتونید از گوشه سمت چپ بالا شروع کرده و تا گوشه سمت راست پایین (204fh) حرکت کنید و صفحه رو بخش بندی کرده و پیکسل های مورد نظرتون رو روشن کنید.
برای کار با مانیتور یک فایل میذارم امیدوارم به دردتون بخوره
95458