نمایش پست تنها
  #1  
قدیمی 06-19-2013
bigbang آواتار ها
bigbang bigbang آنلاین نیست.
مدیر بخش مکانیک - ویندوز و رفع اشکال

 
تاریخ عضویت: Sep 2009
نوشته ها: 2,586
سپاسها: : 5,427

6,159 سپاس در 1,794 نوشته ایشان در یکماه اخیر
پیش فرض زبان ماشین و زبان اسمبلی machine code and assembly

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

زبان ماشين

هر خانواده ای از پردازنده ها دارای مجموعه ای از دستورالعمل های منحصر بفرد است که زبان ماشين ناميده می شود. مجموعه دستورالعمل های يک پردازنده (Instruction Set) مجموعه ای از اعداد دودوئی است که ماشين می تواند آنها را درک و اجرا کند. هر نوع CPU تنها زبان مخصوص خود را درک می کند و دارای مفسری بنام microprogram است که دستورات زبان ماشين را به سيگنال های سخت افزاری تفسير و ترجمه می کند.
مثال 1. اعداد دودئی زير يک دستورالعمل ماشين اينتل است که عدد 5 را در ثبات AL قرار می دهد.
1011 0000 0000 0101 مثال 2. دستور زير ثبات های EAX و EBX را جمع کرده و حاصل را در ثبات EAX ذخيره کند.
0000 0011 1100 0011 هر دستورالعمل زبان ماشين شامل کد منحصر بفردی دارد که کدعملياتی (Operation Code) يا Opcode ناميده می شود. Opcode هميشه در ابتدای دستورالعمل قرار می گيرد. اکثر دستورات شامل داده هم هستند که توسط دستورالعمل استفاده می شود و عملوند (Operand) نام دارند.
کاملا واضح است که برنامه نويسی به زبان ماشين بسيار دشوار است. درک معنی دستورالعمل های کدشده زبان ماشين برای انسان کار خسته کننده ای است. خوشبختانه برای هر خانواده از پردازنده ها يک زبان اسمبلی ارائه می شود که دستورالعمل های زبان ماشين را به صورت نمادی و قابل فهم تر نشان می دهند.

زبان اسمبلی چيست؟

زبان اسمبلی که يک زبان برنامه نويسی سطح پايين است که ساختار و عملکردی وابسته به ماشين دارد. بين عبارات آن و دستورالعمل های زبان ماشين کامپيوتر تناظر يک به يک برقرار است. يعنی هر دستورالعمل اسمبلی دقيقا يک دستورالعمل زبان ماشين را نشان می دهد، در حاليکه در زبان سطح بالا يک عبارت معمولا به چندين دستورالعمل ماشين تبديل می شود.
يک برنامه اسمبلی مانند برنامه های سطح بالا به صورت text نوشته می شود. هر دستورالعمل زبان اسمبلی يک نمايش نمادی (يک کد الفبائی کوتاه) از يک دستورالعمل ماشين است، که به اين صورت معنی دستور واضح تر از کد زبان ماشين می شود.
مثال 1. کلمه mov نمادی برای عمل انتقال داده است. دستور اسمبلی زير جمع ثبات AL و عدد 5 را نشان می دهد.
mov AL,5
مثال 2. کلمه add يک نماد برای دستورالعمل جمع است. دستور جمع ثبات های EAX و EBX به صورت زير نوشته می شود.
add EAX, EBX
مشاهده می شود که به اينصورت درک معنی دستور بسيار روشن تر از کد ماشين معادل است.
مثال 3. دستوری که عملوندی ندارد و فلگ carry را صفر می کند.
clcمثال 4. دستور زير عدد يک را به ثبات AX اضافه می کند.
inc AX
مثال 5. دستور جمع مقدار متغير Count با محتوای ثبات به صورت زير است.
mov AX,Count
__________________

احد،صمد، قاهر، صادق ...
عاشقشم

لا تقنطوا من رحمة الله

هیچ چیز تجربه نمیشه اینو یادت باشه !!
ترفند هایی براي ويندوز 7


عیب یابی سخت افزاری سیستم در کسری از دقیقه


ویرایش توسط bigbang : 06-19-2013 در ساعت 09:29 PM
پاسخ با نقل قول
3 کاربر زیر از bigbang سپاسگزاری کرده اند برای پست مفیدش:
جای تبلیغات شما اینجا خالیست با ما تماس بگیرید