پی سی سیتی

پی سی سیتی (http://p30city.net/index.php)
-   زبان های برنامه نویسی Programming (http://p30city.net/forumdisplay.php?f=12)
-   -   زبان ماشین و زبان اسمبلی machine code and assembly (http://p30city.net/showthread.php?t=39369)

bigbang 06-19-2013 09:26 PM

زبان ماشین و زبان اسمبلی 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

bigbang 06-19-2013 09:40 PM

آشنایی با زبان ماشین و اسمبلی
 
1 فایل پیوست
شرح مختصر : این زبان به زبان مادر کامپیوتر بسیار نزدیک می‌باشد به‌طوری که تمامی برنامه‌های اولیه همچون ++C توسط زبان اسمبلی ساخته شده است و همچنین اکثر کارها در زمینۀ هک و مانند آن با این زبان انجام می‌شود. در زبان اسمبلی هر دستور زبان متناظر یک دستور باینری است. این زبان را با استفاده از اسمبلر‌ها می‌توان به زبان ماشین یعنی صفر و یک تبدیل کرد. نرم‌افزارهای اسمبلر بر روی سیستم نصب شده و با وارد کردن کدهای اسمبلی و اشکال‌زدایی کردن آن می‌توان آن‌ها را به زبان ماشین تبدیل کرد.
فهرست :
تبدیل مبناها
دستورات
حلقه
پرش
فراخوانی
روش های آدرس دهی
سیتم اعداد BCD
دستورات منطقی
دستورات تک بیتی
تایمر
مفهوم وقفه ها
پایه های کنترلی
نحوه اتصال کیبورد به میکرو
..............


دانلود از اینجا (فایل پیوست شده )



حجم فایل : ۲۹۱ کیلوبایت

ali_zangeneh 08-08-2013 08:20 PM

سلام
وقت همه دوستان عزیزم بخیر پیشاپیش عید همتون مبارک.بعد یه مدت دوباره برگشتم.
اضافه بکنم که یک سری پردازنده هستند مثل پردازنده های arm که از خانواده پردازنده های موبایل یا تبلت هستند
و یک خانواده بزرگ محسوب میشن.امایک دسته ا زپردازنده های مهم در عرصه میکروپروسسر ها خصوصا در تجهیزات شبکه به حساب میان خانواده mips هستند که RISC هستند یعنی در هر سیکل ساعت یک دستور اجرا میکنند اما یک سیکل که به اندازه اجرای طولانی تری ن دستور حافظه مثل LW ,SW که لود ورو یک ورد دیتا از حافظه دیتا میخونه و داخل حافظه رجیستر میریزه و استور ورد که عمل ذخیره یک ورد دیتا از حافظه ثبات یا بانک رجیستر داخل حافظه دیتا است.
همین تک سیکلی بودن باعث سرعت بخشیدن به اجرای دستورات و پشتیبانی از دستورات کمتر هست و باید از کامپیالر های خاصی استفاده کرد.
اسمبیل این خانواده از پردازنده ها MIPS هستش که توسط اسمبلر WIn mips 64 , ,ویک شبیه ساز میتونیم برنامه هاشو روی سیستم های Intel یا AMD پروسسور که از اسمبلی intel بهره میگیرن اجرا کنیم
مثلا همانطور که بهتر میدونید روتر یک مسیریاب سریع هستش که مثلا bit parity رو به سرعت چک میکنه
این برنامه ها رو البته روی پردازنده mips اجرا میکنه اما در مثال خاص این بیت پریتی با سخت افزار بیت پریتی چکر تست میشه اینو به عنوان یک مثال در نظر بگیرید مثلا برسی یک بیت خطا را فرض کنید.
دستورات اسمبلی mips سه ادرسه هستند مثلا add b1,b2,b3 یعنی محتویات ثبات b2 با b3جمع و داخل b1 ریخته بشه.
حالا فرض کنید برنام هیک شیر آب سنسور دار رو با mips چقدر سریعتر از پردازنده های عادی با اسمبلی اینتل یا میکرو پروسسر هایی مثل avr یا z80 اجرا میشه
یکی از دغدغه های یک مهندس کامپیوتر انتخاب درست محیط و پروسسر و اسمبلی او ن سیستمه
موفق باشید دوستان عزیز


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

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