بازگشت   پی سی سیتی > کامپیوتر اینترنت و شبکه Computer internet > زبان های برنامه نویسی Programming

زبان های برنامه نویسی Programming بحث در مورد زبانهای مختلف برنامه نویسی

پاسخ
 
ابزارهای موضوع نحوه نمایش
  #1  
قدیمی 08-16-2008
دانه کولانه آواتار ها
دانه کولانه دانه کولانه آنلاین نیست.
    مدیر کل سایت
        
کوروش نعلینی
 
تاریخ عضویت: Jun 2007
محل سکونت: کرمانشاه
نوشته ها: 12,700
سپاسها: : 1,382

7,486 سپاس در 1,899 نوشته ایشان در یکماه اخیر
دانه کولانه به Yahoo ارسال پیام
پیش فرض اسمبلي - كوتاه از اسمبلي مادر همه زبانها

اسمبلي - كوتاه از اسمبلي مادر همه زبانها

اين زبان ‌ مادر‌همه زبان‌ها

اگر قصد داريد كه برنامه‌نويسي با زبان اسمبلي را آغاز كنيد و روش‌هاي قديمي و نزديك به زبان ماشين را براي رسيدن به هدف‌هاي برنامه‌سازي خود در پيش بگيريد، لازم است در زمينه‌هاي مختلفي، اطلاعات كسب كنيد كه در ادامه به مهم‌ترين آنها اشاره‌‌اي اجمالي خواهيم داشت.
سيستم اعداد
با اين‌كه با ورود به دنياي اسمبلي، از زبان ماشين و كدهاي عددي مربوط به آن فاصله گرفته‌ايم، اما نبايد فراموش كرد كه اسمبلي يك زبان نزديك به زبان ماشين است و زبان ماشين نيز چيزي نيست جز عدد و رقم و صفر و يك.
در واقع اگر مي‌خواهيم در سيستم اعداد قابل فهم رايانه محاسبات و عمليات منطقي خود را انجام دهيم بايد با روش‌ها و قوانين سيستم اعداد در مبناي 2‌(binary) آشنايي داشته باشيم. اعدادي كه ما در دنياي واقعي با آنها به انجام محاسبات خود مي‌پردازيم در مبناي‌ 10 (decimal) هستند. يعني از ارقام صفر تا 9 تشكيل شده‌اند.
بنابراين علاوه بر انجام محاسبات در مبناي 2، بايد بتوانيم اعمال تبديل از مبناي 10 به 2 و برعكس را نيز انجام دهيم.

زماني كه محاسبات در مبناي 2 انجام مي‌شود هر عدد شامل تعداد زيادي رقم خواهد بود كه تعداد اين ارقام در مبناي 2 از هر مبناي ديگري بيشتر خواهد بود. در نتيجه كار با آن كمي مشكل خواهد بود. در سيستم اعداد مبناهاي ديگري مثل مبناي 8 و 16 كه به ترتيب به آنها اكتال‌(octal) و هگزادسيمال‌ (hexadecimal) گفته مي‌شود نيز به كار مي‌رود.

در واقع در مبناي 8 و 16 به ترتيب هر 3 و 4 رقم مبناي 2 تنها به يك رقم تبديل مي‌شود و به اين ترتيب حجم ارقام نوشته شده به يك‌سوم و يك‌چهارم كاهش مي‌يابد. پس با دانستن اعمال تبديل اين مبناها به يكديگر و انجام محاسبات مربوط به آنها مي‌توان به سيستم اعداد در دنياي رايانه وارد شد.

ساختمان پردازنده‌
شما بايد با ساختمان پردازنده، تعداد و انواع ثبات‌ها، پرچم‌ها و ... و كاربرد هريك از آنها آشنا باشيد. هنگام برنامه‌نويسي معمولا يك سري قراردادها و پيش‌فرض‌ها براي به كارگيري ثبات‌ها در محاسبات وجود دارد كه بدون اطلاع از آنها، برنامه‌نويسي به اين زبان غيرممكن خواهد بود.
منابع مورد نياز براي اجرا
به هنگام ساخت يك فايل اجرايي نيازمند يك سري اعمال و رزرو كردن منابع مورد نياز براي برنامه خود خواهيد بود. در زبان‌هاي سطح بالا، اين امور توسط مترجم زبان به طور خودكار انجام مي‌شود، اما در اسمبلي، اين كار به عهده برنامه‌نويس است. بايد با انواع ساختمان داده‌هاي قابل استفاده در حافظه و طريقه كار هر كدام آشنايي داشته باشد تا بتواند در مواقع لزوم به درستي از امكانات موجود بهره گيرد.
دستور‌العمل‌ها
هر زبان برنامه‌نويسي تعدادي كلمه كليدي و يك گرامر دارد. هر برنامه‌نويس علاوه بر اين‌كه بايد به اين كلمات كليدي و گرامر آشنايي كامل داشته باشد بهتر است به طريقه كار آنها نيز احاطه داشته باشد.

هر چه اين آگاهي‌ها بيشتر باشد، خلاقيت در برنامه‌نويسي بيشتر بروز مي‌كند و تفاوت برنامه‌نويس‌ها و برنامه‌هاي مختلف در همين نكات خواهد بود. به عنوان يك مثال ساده دستور mov براي عمل انتساب به كار مي‌رود.

اگر بخواهيم مقدار ثباتAX را برابر با صفر قرار دهيم مي‌توانيم از دستورQ، mov AX استفاده كنيم.

اين اولين چيزي است كه براي اين كار به ذهن مي‌رسد. اما اگر طريقه عملكرد دستورXor را بدانيم و همچنين آگاه باشيم كه سرعت دستور Xor بيشتر از mov است، مي‌توانيم براي انتساب مقدار صفر به ثبات AX از دستور AX ،Xor AX استفاده كنيم. البته هر دوي اين دستورات در مقايسه با كارهاي ما بسيار سريع هستند و اگر قرار باشد يك بار اجرا شوند، تفاوت محسوسي در سرعت برنامه نخواهيم ديد، اما تفاوت در جايي احساس مي‌شود كه همين دستور در يك چرخه يا loop قرار مي‌گيرد و قرار است هزاران بار انجام شود. در آن زمان است كه تفاوت‌ها چشمگير و محسوس خواهد شد.

وقفه‌ها
در سيستم تعدادي وقفه وجود دارد كه هر كدام كاربرد خاصي دارند. وقفه سيگنالي از دستگاه جانبي يا برنامه در حال اجراست كه عمل خاصي را درخواست مي‌كند.

وقتي برنامه‌ در حال اجرا،‌ وقفه‌اي را دريافت مي‌كند، اجراي برنامه به تعويق مي‌افتد و كنترل اجراي برنامه به زيربرنامه‌اي مي‌رود تا به وقفه پاسخ دهد. هر وقفه زيربناي خاصي دارد كه به آن پاسخ مي‌دهد. بعد از اتمام كار وقفه، اجراي برنامه از همان نقطه كه قطع شده بود ادامه پيدا خواهد كرد. به عنوان مثال: تابع06H از وقفه 10H‌براي پاك كردن محتويات نمايشگر به كار مي‌رود.

اطلاعات بسيار ديگري هستند كه براي برنامه‌نويسي سيستم بايد به آنها احاطه داشت. هر دانشي در مورد سيستم و كاركرد آن، به شما كمك خواهد كرد.

با استفاده از كتاب‌هاي مختلف و راهنماهاي زبان اسمبلي كه در اينترنت موجودند مي‌توانيد شروع خوبي براي اين زبان داشته باشيد.

روزنامه جام جم ضميمه كليك
__________________
مرا سر نهان گر شود زير سنگ -- از آن به كه نامم بر آيد به ننگ
به نام نكو گر بميــرم رواست -- مرا نام بايد كه تن مرگ راست



پاسخ با نقل قول
  #2  
قدیمی 12-26-2009
زکریا فتاحی آواتار ها
زکریا فتاحی زکریا فتاحی آنلاین نیست.
کاربر فعال
 
تاریخ عضویت: Nov 2008
محل سکونت: پاوه
نوشته ها: 1,479
سپاسها: : 20

120 سپاس در 80 نوشته ایشان در یکماه اخیر
زکریا فتاحی به Yahoo ارسال پیام
پیش فرض

سلام بر دوستان.

دانه جان این توضیحات مختصر و گنگی که شما در مورد اسمبلی داده اید واقعا در مورد قدرت و توانایی های آن ظلم به حساب می آید . کارهایی که با این زبان میشه انجام داد تقریبا در هیچ زبان دیگه ای نمیتونیم مشاهده کنیم.

سرعت بسیار زیاد در انجام امور، حجم ناچیز برنامه ها ، دسترسی نسبتا مستقیم به ثبات های سیستم و ...... .

این زبان که برای خود من خیلی کاربرد داشته، مثلا با اون تونستم خیلی راحت یک نرم افزار برای برسی قطاع های دیسک و تغییر آنها و همچنین تغییر هدر فایلها برای حذف پسوردشان و ...

و هر وقت به این زبان فکر می کنم به یاد سرنوشت خودت می افتم دانه جان.
فکر می کنم بهتره که خودت اگه صلاح دونستی اونو به دیگران بگی تا شیرینی این زبان برای دیگران هم دو چندان بشه.
__________________

درمان غم عشق بگویم که چه باشد
وصل است و بهار است و می بربط و چنگ است
....
زنهار مرو هیچ سوی بیشه ی عشاق
چنگال غمش تیزتر از چنگال پلنگ است

----
ئه و روژه ی "مه جنون" له زوخاو نوشی ...مه ینه ت فه وتانی، کفنیان پوشی
من بومه واریس له قه وم و خویشی . . . سپاردی به من ئازاری و ئیشی

پاسخ با نقل قول
  #3  
قدیمی 12-26-2009
دانه کولانه آواتار ها
دانه کولانه دانه کولانه آنلاین نیست.
    مدیر کل سایت
        
کوروش نعلینی
 
تاریخ عضویت: Jun 2007
محل سکونت: کرمانشاه
نوشته ها: 12,700
سپاسها: : 1,382

7,486 سپاس در 1,899 نوشته ایشان در یکماه اخیر
دانه کولانه به Yahoo ارسال پیام
پیش فرض

ذکریا میدونی چیکار باحال دیکه ای میکنن ؟
بعضی از نرم افزار ها رو میشه با دیس اسمبلر باز کرد فایل ست اپش رو
بعد دنبال شماره سریال بگردی هر کجا جامپ نات این شماره سریاله بود رو نگاه کن شماره سریالو کش میری میای بیرون
البته خب الان دیگه اکثر نرم افزار های مهم باید از طریق اینترنت اکتیویت بشه
اما به هر حال یه بارم که این کارو بکنی لذت خودشو داره ...
فایلهای اگزه و ستاپ رو معمولا با یه نرم افزارهایی مثلا aspack کامپرس میکنن (هنوز اگزه میمونه) اونقوت دیگه اینکریپت هم میشه این دیس اسمبلرها نمیتونن به راحتی سورسش رو بکشن بیرون
حالا پروژه با کی برداشتی کلک ؟
__________________
مرا سر نهان گر شود زير سنگ -- از آن به كه نامم بر آيد به ننگ
به نام نكو گر بميــرم رواست -- مرا نام بايد كه تن مرگ راست



پاسخ با نقل قول
  #4  
قدیمی 12-26-2009
زکریا فتاحی آواتار ها
زکریا فتاحی زکریا فتاحی آنلاین نیست.
کاربر فعال
 
تاریخ عضویت: Nov 2008
محل سکونت: پاوه
نوشته ها: 1,479
سپاسها: : 20

120 سپاس در 80 نوشته ایشان در یکماه اخیر
زکریا فتاحی به Yahoo ارسال پیام
پیش فرض

کورش جان اگه دوست داشتی آموزش اینکار رو هم برای بچه ها بزار تا دوستان هم این کارا رو یاد بگیرن و ازش استفاده کنن.

چون خودت تجربه ی دیس اسمبلر کردنت بیشتر از منه بهتره خودت آموزشش رو بزاری . یا اگه وقت نداری خودم بعدا این کارو بکنم.

(( نکته خصوصی برای دانه: افسردگی نمیخواد عزیزم. شتره دیگه، این بار در خونه شما خوابید. حالا هر وقت با بابا و مامانت رفتین، شیرینی ما یادت نره. بازم مبارکه))
__________________

درمان غم عشق بگویم که چه باشد
وصل است و بهار است و می بربط و چنگ است
....
زنهار مرو هیچ سوی بیشه ی عشاق
چنگال غمش تیزتر از چنگال پلنگ است

----
ئه و روژه ی "مه جنون" له زوخاو نوشی ...مه ینه ت فه وتانی، کفنیان پوشی
من بومه واریس له قه وم و خویشی . . . سپاردی به من ئازاری و ئیشی

پاسخ با نقل قول
  #5  
قدیمی 12-26-2009
ali215 آواتار ها
ali215 ali215 آنلاین نیست.
کاربر علاقمند
 
تاریخ عضویت: Nov 2009
محل سکونت: همین نزدیکی ها
نوشته ها: 122
سپاسها: : 1

2 سپاس در 2 نوشته ایشان در یکماه اخیر
ali215 به Yahoo ارسال پیام
پیش فرض

این چه پستی هست من سر در نیارم؟
پاسخ با نقل قول
پاسخ


کاربران در حال دیدن موضوع: 1 نفر (0 عضو و 1 مهمان)
 
ابزارهای موضوع
نحوه نمایش

مجوز های ارسال و ویرایش
شما نمیتوانید موضوع جدیدی ارسال کنید
شما امکان ارسال پاسخ را ندارید
شما نمیتوانید فایل پیوست در پست خود ضمیمه کنید
شما نمیتوانید پست های خود را ویرایش کنید

BB code is فعال
شکلک ها فعال است
کد [IMG] فعال است
اچ تی ام ال غیر فعال می باشد



اکنون ساعت 11:13 AM برپایه ساعت جهانی (GMT - گرینویچ) +3.5 می باشد.



Powered by vBulletin® Version 3.8.4 Copyright , Jelsoft Enterprices مدیریت توسط کورش نعلینی
استفاده از مطالب پی سی سیتی بدون ذکر منبع هم پیگرد قانونی ندارد!! (این دیگه به انصاف خودتونه !!)
(اگر مطلبی از شما در سایت ما بدون ذکر نامتان استفاده شده مارا خبر کنید تا آنرا اصلاح کنیم)


سایت دبیرستان وابسته به دانشگاه رازی کرمانشاه: کلیک کنید




  پیدا کردن مطالب قبلی سایت توسط گوگل برای جلوگیری از ارسال تکراری آنها