ورود ثبت

وارد حساب کاربری خود شوید

نام کاربری *
رمز عبور *
مرا به خاطر بسپار

ایجاد یک حساب کاربری

تکمیل کردن تمام فیلدهای مشخص شده با (*) لازم است.
نام *
نام کاربری *
رمز عبور *
تایید رمز عبور *
ایمیل *
تایید ایمیل *
کد امنیتی *

دانلود کتاب

  

  

دانلود رایگان کتاب با لینک مستقیم

 کتاب، مقاله و مطلب خود را در 30000 عنوان کتاب، مقاله، مجله و ... سایت روبوک جستجو و با لینک مستقیم دانلود نمایید.

با توجه به بالا بودن تعداد کتاب ها، اگر موفق به پیدا کردن کتاب خود نشدید، لطفا در جستجو جزییات بیشتری را بنویسید.

  

  

سفارش ترجمه و تایپ

سفارش ترجمه و تایپ

چهارشنبه, 05 شهریور 1393 ساعت 01:05

پروژه های اسمبلی

نوشته شده توسط
این مورد را ارزیابی کنید
(2 رای‌ها)
پروژه های اسمبلی - 5.0 out of 5 based on 2 votes

 پروژه های اسمبلی

انواع پروژه اسمبلی

شرح مختصر :

این فایل شامل چند پروژه نوشته شده با زیان برنامه نویسی اسمبلی است. لیست پروژه های موجود عبارتند از :
سورس کد پروژه مرتب سازی حبابی با زبان اسمبلی
سورس کد پروژه چاپ دو جمله با زبان اسمبلی
سورس کد پروژه ساعت با زبان اسمبلی
سورس کد تبدیل اعداد به مبنای ۲ با زبان اسمبلی
سورس کد تبدیل اعداد به مبنای ۱۶ با زبان اسمبلی
سورس کد پروژه اتصال دو جمله با زبان اسمبلی
سورس کد پروژه تبدیل حروف کوچک به بزرگ در اسمبلی
سورس کد الگوریتم مرج سورت در اسمبلی
سورس کد پروژه تبدیل تاریخ میلادی به شمسی در اسمبلی

در این بخش فایل پروژه های اسمبلی به صورت ASM  برای شما عزیزان قرار گرفت.

شما می توانید به منظور بحث و بررسی پروژه های اسمبلی به انجمن مهندسی کامپیوتر مراجعه نمایید.

از این به بعد فايل هايي که براي دانلود قرار می گیرند چندين بار قبل و بعد از قرار گرفتن بر روي سرور توسط تیم پوپول تست می گردد در نتيجه فايل ها کاملآ سالم هستند اما در برخي مواقع به دليل هاي مختلف فايل ها دچار مشکل مي شوند بدين صورت که پس از دانلود و استخراج فايل ها از سوي نرم افزار Winrar با اخطار CRC رو به رو ميشوند. اما جاي نگراني نيست چون فايل ها به گونه اي فشرده شده اند که داراي قابليت بازيابي هستند. به همين منظور کافيست که فايل معيوب را با استفاده از نرم افزار Winrar اجرا کنيد و سپس با انتخاب گزينه Repair اقدام به تعمير فايل فشرده نماييد.

تمامی فایل ها قابلیت ریکاوری تا 5% را دارند.

لینک دانلود مستقیم فایل

حجم فایل: 0.8 مگا بایت

پروژه های اسمبلی

لطفا درخواست ها، نظرها و انتقاد خود را برای پیشرفت هرچه سریعتر ما ارسال فرمایید.

چهارشنبه, 29 مرداد 1393 ساعت 15:07

کتاب وقفه های اسمبلی

نوشته شده توسط
این مورد را ارزیابی کنید
(0 رای‌ها)

 کتاب وقفه های اسمبلی

کتاب وقفه های اسمبلی

اسمبلی و زبان ماشین زبان های برنامه نویسی سطح پایین اما بسیار قدرتمند هستند که به وسیله آنها می شود مستقیما با پردازنده و حافظه در ارتباط بود.

به کمک Assembly شما می توانید داده های خود را مستقیما در آدرس دلخواه از حافظه ذخیره کنید،دستورات خود را مستقیما به CPU ارسال کنید،با دستگاه های ورودی/خروجی مستقیما ارتباط برقرار کنید یا خیلی از کارهای دقیق که به وسیله زبانهای سطح بالای برنامه نویسی امکانپذیر نیست یا با سرعت بالا امکانپذیر نیست.برای کارهای صنعتی که نیاز به ارتباط با سخت افزار است و تاخیر در درخواست ها موجب سوختن و از بین رفتن تجهیزات صنعتی می شود معمولا از اسمبلی استفاده می شود.

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

هر رويدادی که باعث شود CPU اجرای عادی يک برنامه را قطع کند وقفه ناميده می شود. يک برنامه نويس اسمبلی با صدور وقفه های نرم افزاری می تواند به طور موثری با دستگاه های جانبی ارتباط برقرار کند.
انواع وقفه
INT
جدول بردار وقفه
چند نمونه وقفه متعارف
گاهی اوقات جريان عادی اجرای يک برنامه برای پردازش رويدادی که نياز به پاسخ سريع دارد متوقف می شود. سخت افزار کامپيوتر برای مديريت اين رويدادها مکانيسمی به نام وقفه (interrupt) را دارد.
مثال. وقتی mouse حرکت می کند، سخت افزار mouse برنامه جاری را متوقف می کند تا حرکت mouse گرفته شود( برای حرکت مکان نمای mouse روی صفحه نمايش).
وقتی CPU يک سيگنال وقفه را تشخيص می دهد، فعاليت جاری خود را متوقف می کند و روتين خاصی را فراخوانی می کند که روتين وقفه (interrupt handler) نام دارد. اين روتين علت وقوع وقفه را تشخيص می دهد و عکس العمل مناسب را انجام می دهد.
بيشتر روتين های وقفه بعد از پايان يافتن کنترل اجرا را به برنامه متوقف شده بازمی گردانند. آنها کليه مقادير ثبات ها را به وضعيت قبل از توليد وقفه بر می گردانند. بنابراين برنامه متوقف شده به گونه ای به اجرا ادامه می دهد که هيچ اتفاقی نيافتاده است به جز اين که سيکل های CPU را از دست می دهند.
وقتی دو يا چند وقفه همزمان با هم اتفاق می افتند، CPU از سيستم الويت استفاده می کند و می تواند در طی اجرای بخش بحرانی يک برنامه وقفه ها را غيرفعال کند. وقتی دارد يک روتين وقفه را اجرا می کند کليه وقفه های با الويت کمتر يا، تا زمان خاتمه اجرای روتين، غير فعال هستند.
انواع وقفه
256 سطح الويت توسط پردازنده های 80x86 پشتيبانی می شود که می توان آنها را به سه گروه کلی تقسيم کرد:
• وقفه های داخلی سخت افزاری
• وقفه های خارجی سخت افزاری
• وقفه های نرم افزاری
وقفه های داخلی سخت افزاری
وقفه های داخلی سخت افزاری (internal hardware-interrupts) بدليل رخ دادن وضعيت معينی که درحين اجرای يک برنامه پيش آمده توليد می شوند(مانند تقسيم بر صفر).
وقفه هايی که در اثر خطا بوجود می آيد تله (trap) هم ناميده می شود. تله باعث سقط برنامه می شوند.
اين وقفه ها توسط سخت افزار اداره می شوند و امکان تغيير آنها وجود ندارد. اما با وجوديکه نمی توان آنها را مستقيما مديريت کرد، اين امکان وجود دارد که از اثر آن روی کامپيوتر به نحو مفيدی استفاده شود.
مثال. سخت افزار وقفه شمارنده ساعت کامپيوتر را چندبار در ثانيه فراخوانی می کند تا زمان را نگه دارد. می توان برنامه ای نوشت که مقدار شمارنده ساعت را خوانده آنرا به شکل قابل درک کاربر به صورت ساعت و دقيقه تبديل کند.
وقفه های خارجی سخت افزاری
وقفه های خارجی سخت افزاری (external hardware-interrupts) خارج از CPU و توسط دستگاه های جانبی ، مانند صفحه کليد، چاپگر، کارت های ارتباطی و يا کمک پردازنده توليد می شوند.
دستگاه های جانبی با ارسال وقفه به CPU خواستار قطع اجرای برنامه فعلی شده و CPU را متوجه خود می کنند. آنها به پايه (maskable interrupts) INTR يا (non maskable interrupts) NMI پردازنده متصل هستند.
وقفه های دستگاه ها می توانند از طريق مداری به نام PIC 8259A، که کارش منحصرا سروکار داشتن با اين نوع وقفه هاست، به پردازنده ارسال شوند. مدار (programmable interrupt controller) PIC که توسط CPU کنترل می شود سيگنال هايش را روی پايه INTR قرار می دهد و امکان فعال و غيرفعال کردن وقفه ها و تغيير سطح الويت را تحت نظارت يک برنامه می دهد.
دستورات STI و CLI می توانند برای فعال و غيرفعال کردن وقفه هایی که روی پايه INTR ارسال می شوند بکار روند که البته روی وقفه های NMI تاثيری ندارد.
وقفه های نرم افزاری
وقفه های نرم افزاری (software interruptions) در نتيجه دستورالعمل int در يک برنامه درحال اجرا توليد می شوند.
برنامه نويس می تواند با دادن دستور int يک وقفه نرم افزاری توليد کند. بدين طريق بلافاصله اجرای برنامه فعلی را متوقف می کند و CPU را به روتين وقفه هدايت می کند. برنامه نويس از طريق وقفه ها می تواند در برنامه با وسايل جانبی ارتباط برقرار کند. استفاده از وقفه ها باعث کوتاهتر شدن کد برنامه و درک آسانتر و اجرای بهترآن می شود.
روتين های وقفه نرم افزاری بخشی از سيستم عامل هستند. از اينرو وقفه های نرم افزاری را می توان به دو گروه تقسيم کرد؛ وقفه های سيستم عامل DOS و وقفه های BIOS. وقفه های DOS آسانتر استفاده می شوند اما از وقفه های BIOS که قسمتی از سخت افزار هستند کندتر هستند.
DOS اين نوع وقفه ها را برای اجرای (application programming interface) API خودش استفاده می کند. بيشتر سيستم عامل های جديد مانند Windows و Unix واسطه C-based را استفاده می کنند.
INT
دستورالعمل (interrupt) int يک روتين وقفه را فراخوانی می کند. فرم کلی آن به صورت زير است:
int n
n شماره وقفه موردنظر و مقداری بين 0 تا 255 است که اجازه فراخوانی 256 روتين مختلف وقفه را می دهد.
دستورالعمل int يک فراخوانی سيستمی را می سازد و شکل خاصی از دستورالعمل فراخوانی يک زيربرنامه (دستورالعمل call) است.
مشکل دستورالعمل int اين است که تنها 256 روتين وقفه را می تواند پشتيبانی کند. درحاليکه DOS به تنهايی دارای بيش از 100 سرويس مختلف وقفه و BIOS بيش از هزاران سرويس وقفه است. که اين تعداد بيش از کليه وقفه هايی است که توسط اينتل رزرو شده است. برای حل اين مشکل از يک شماره وقفه برای هر دسته از سرويس های وقفه و يک شماره تابع برای تعيين سرويس موردنظر استفاه می شود. شماره تابع توسط يکی از ثبات ها (اکثرا AH) هنگام فراخوانی وقفه ارسال به روتين وقفه می شود.

جدول بردار وقفه
هر سطح وقفه يک محل رزرو شده در حافظه دارد که بردار وقفه (interrupt vector) ناميده می شود. همه بردارهای وقفه در جدولی به نام جدول بردار وقفه (interrupt vector table) نگهداری می شوند. اين جدول از ابتدای حافظه اصلی يعنی آدرس 0000:0000 ذخيره شده است.
هر بردار وقفه 4 بايت طول دارد. دوبايت بالای آن آفست و دو بايت پايين آن سگمنت روتين وقفه را دربر می گيرند. چون 256 روتين های وقفه وجود دارد بنابراين اندازه جدول بردار وقفه 256×4=1024=1KB است.
شماره وقفه به عنوان انديسی برای جدول بردار وقفه استفاده می شود. آفست روتين وقفه شماره n در آدرس n×4 و آدرس سگمنت روتين وقفه شماره n در آدرس n×4+2 جدول قرار دارد.
يک ويژگی خوب اين سيستم اين است که می توان بردارها را برای اشاره به روتين ديگری تغيير داد. که اين همان کاری است که برنامه های TSR (Terminate and Stay Resident) انجام می دهند.
در برنامه هميشه توسط شماره وقفه به يک روتين وقفه مراجعه می شود بنابراين برنامه نيازی به دانستن آدرس واقعی در حافظه ندارد و آدرس روتين وقفه هنگام اجرا توسط CPU تعيين می شود.

از ویژگی های این کتاب :
کتاب کامل در زمینه وقفه های 21H DOS و وقفه های BIOS که به صورت کاربردی بوده بعضی از این وقفه ها :
کار با ورودی خروجی ها , فایلها و دستگاههای جانبی در اسمبلی
خواندن کاراکترها و رنگها به وسیله موس و تنظیم ساعت بلادرنگ

در این بخش فایل آموزش وقفه های اسمبلی به صورت پی دی اف در 33 صفحه برای شما عزیزان قرار گرفت.

شما می توانید به منظور بحث و بررسی آموزش وقفه های اسمبلی به انجمن مهندسی کامپیوتر مراجعه نمایید.

از این به بعد فايل هايي که براي دانلود قرار می گیرند چندين بار قبل و بعد از قرار گرفتن بر روي سرور توسط تیم پوپول تست می گردد در نتيجه فايل ها کاملآ سالم هستند اما در برخي مواقع به دليل هاي مختلف فايل ها دچار مشکل مي شوند بدين صورت که پس از دانلود و استخراج فايل ها از سوي نرم افزار Winrar با اخطار CRC رو به رو ميشوند. اما جاي نگراني نيست چون فايل ها به گونه اي فشرده شده اند که داراي قابليت بازيابي هستند. به همين منظور کافيست که فايل معيوب را با استفاده از نرم افزار Winrar اجرا کنيد و سپس با انتخاب گزينه Repair اقدام به تعمير فايل فشرده نماييد.

تمامی فایل ها قابلیت ریکاوری تا 5% را دارند.

لینک دانلود مستقیم فایل

حجم فایل: 13.48 مگا بایت

کتاب وقفه های اسمبلی

لطفا درخواست ها، نظرها و انتقاد خود را برای پیشرفت هرچه سریعتر ما ارسال فرمایید.

جمعه, 16 خرداد 1393 ساعت 16:43

پروژه زبان اسمبلی همراه سورس کد

نوشته شده توسط
این مورد را ارزیابی کنید
(0 رای‌ها)

 پروژه زبان اسمبلی همراه سورس کد

25 پروژه زبان اسمبلی همراه سورس کد

زبان اسمبلی
هدف اين درس درک عميق تر نحوه کار کامپيوتر در سطح پايين و در نتيجه توليد نرم افزارهای کارآمدتر در سطوح بالا می باشد. يادگيری زبان اسمبلی به آشنائی بيشتر با طريقه کارکردن سخت افزار، برنامه ها و سيستم عامل با يکديگر کمک می کند.
در اين درس استفاده از دستورات اسمبلي و نوشتن برنامه هاي ساده اسمبلي را فراخواهيد گرفت.
مقدمه
زبان اسمبلی قديمی ترين زبان برنامه نويسی سطح پايين بعد از زبان ماشين است که ساختار و عملکردی وابسته به ماشين دارد و وسيله خوبی برای يادگيری نحوه کار کامپيوتر، سيستم عامل، کامپايلرها و زبان های سطح بالا است .
مقایسه زبان اسمبلی و زبان های سطح بالا
زبان ماشین و زبان اسمبلی
اسمبلر چیست؟
هدف از یادگیری زبان اسمبلی
سیستم های عددی
محاسبات کامپيوتري در مبناي دو انجام مي شود. به طور معمول از سيستم عددي هگزادسيمال براي نمايش اعداد باينري استفاده مي شود.
جدول توان های 2
تبدیل باینری به اعشاری
جمع اعداد باينری
هگزا دسیمال و تبدیلات آن
جمع اعداد در هگزا دسیمال
نمایش داده ها
اکثر ساختمان های داده انتزاعی هستند که توسط برنامه نويس با مجموعه ای از دستورالعمل ها تعريف می شوند. نوع های داده پايه (نظير اعداد باينری صحيح يا مميز شناور، رشته های بيتی، کاراکترها و غيره ) مستقيما در سخت افزار همراه با مجموعه ای از دستورالعمل طراحی می شوند. يک برنامه نويس زبان اسمبلی بايد بداند چگونه سخت افزار اين انواع داده های اصلی را پياده سازی می کند.
نمايش اعداد صحيح - روش علامت مقدار
روش نمايش مکمل2
جدول تعداد بيت ها و محدوده مقادير ممکن داده های عددی صحيح علامت دار به روش مکمل2
محاسبات در مکمل2
کاهش و افزايش طول داده
ساختمان کامپیوتر
يک سيستم کامپيوتری ترکيب کاملي از سخت افزار و نرم افزارهای سيستمی است که باعث می شود ماشين مفيد و وظيفه مندي برای کار معينی بشود.
اجزای اصلی سخت افزار يک ريز کامپيوتر شامل:
• پردازنده مرکزی
• حافظه
• صفحه کليد به عنوان ورودی
• صفحه نمايش به عنوان خروجی
• يک يا چند ديسک درايو برای ذخيره برنامه ها و داده ها
حافظه
پردازنده و انواع آن
پردازندهای اینتل
با توجه به اينکه دستورات اسمبلي 8086 در قسمت ها آينده بررسي مي شوند، در اين صفحه با نحوه آدرس دهي حافظه و ثبات هاي اين پردازنده آشنا خواهيد شد.
دیاگرام پردازنده های اینتل
آدرس دهی سگمنتی
مدهای اجرا
مجموعه ثبات ها
توضیحات ثبات ها

شامل پروژه زیر می یاشد :

FIND
MAX
calculater
chess
Creating Directory
Deleting File
Renaming File
send file
snake

و...

در این بخش فایل پروژه زبان اسمبلی همراه سورس کد به صورت فایل زیپ برای شما عزیزان قرار گرفت.

شما می توانید به منظور بحث و بررسی پروژه زبان اسمبلی همراه سورس کد  به انجمن مهندسی کامپیوتر مراجعه نمایید.

از این به بعد فايل هايي که براي دانلود قرار می گیرند چندين بار قبل و بعد از قرار گرفتن بر روي سرور توسط تیم پوپول تست می گردد در نتيجه فايل ها کاملآ سالم هستند اما در برخي مواقع به دليل هاي مختلف فايل ها دچار مشکل مي شوند بدين صورت که پس از دانلود و استخراج فايل ها از سوي نرم افزار Winrar با اخطار CRC رو به رو ميشوند. اما جاي نگراني نيست چون فايل ها به گونه اي فشرده شده اند که داراي قابليت بازيابي هستند. به همين منظور کافيست که فايل معيوب را با استفاده از نرم افزار Winrar اجرا کنيد و سپس با انتخاب گزينه Repair اقدام به تعمير فايل فشرده نماييد.

تمامی فایل ها قابلیت ریکاوری تا 5% را دارند.

لینک دانلود مستقیم فایل

حجم فایل: 2.09 مگا بایت

پروژه زبان اسمبلی همراه سورس کد

لطفا درخواست ها، نظرها و انتقاد خود را برای پیشرفت هرچه سریعتر ما ارسال فرمایید.

آخرین ویرایش در چهارشنبه, 21 خرداد 1393 ساعت 23:50
سه شنبه, 05 فروردين 1393 ساعت 02:35

اصول اساسی برنامه نویسی به زبان اسمبلی

نویسنده
این مورد را ارزیابی کنید
(2 رای‌ها)
اصول اساسی برنامه نویسی به زبان اسمبلی - 5.0 out of 5 based on 2 votes

اصول اساسی برنامه نویسی به زبان اسمبلی

کتاب اصول اساسی برنامه نویسی به زبان اسمبلی

مولف:  Richardc. Detmer 

مترجمین : هاشمی اصل - مشحون

تعداد صفحات : 346 صفحه

در این بخش فایل آموزش اصول اساسی برنامه نویسی به زبان اسمبلی در 346 صفحه برای شما عزیزان قرار گرفت.

شما می توانید به منظور بحث و بررسی این مطلب و به انجمن مراجعه نمایید.

از این به بعد فايل هايي که براي دانلود قرار می گیرند چندين بار قبل و بعد از قرار گرفتن بر روي سرور توسط تیم پوپول تست می گردد در نتيجه فايل ها کاملآ سالم هستند اما در برخي مواقع به دليل هاي مختلف فايل ها دچار مشکل مي شوند بدين صورت که پس از دانلود و استخراج فايل ها از سوي نرم افزار Winrar با اخطار CRC رو به رو ميشوند. اما جاي نگراني نيست چون فايل ها به گونه اي فشرده شده اند که داراي قابليت بازيابي هستند. به همين منظور کافيست که فايل معيوب را با استفاده از نرم افزار Winrar اجرا کنيد و سپس با انتخاب گزينه Repair اقدام به تعمير فايل فشرده نماييد.

تمامی فایل ها قابلیت ریکاوری تا 5% را دارند.

  لینک دانلود مستقیم فایل کتاب 

حجم فایل: 1.51 مگابایت

 

برای توضیح کامل مطلب کتاب اصول برنامه نویسی به زبان اسمبلی  لطفا کلیک کنید تا به ادامه مطلب  بروید.

 لطفا درخواست ها، نظرها و انتقاد خود را برای پیشرفت هرچه سریعتر  ما ارسال فرمایید.

پنج شنبه, 20 تیر 1392 ساعت 00:36

آموزش اسمبلی

نویسنده
این مورد را ارزیابی کنید
(8 رای‌ها)
آموزش اسمبلی - 5.0 out of 5 based on 8 votes

 آموزش اسمبلی

آموزش اسمبلی

مقدمه

زبان اسمبلی قديمی ترين زبان برنامه نويسی سطح پايين بعد از زبان ماشين است که ساختار و عملکردی وابسته به ماشين دارد و وسيله خوبی برای يادگيری نحوه کار کامپيوتر، سيستم عامل، کامپايلرها و زبان های سطح بالا است .

مقايسه زبان اسمبلی و زبان های سطح بالا
دو دسته اصلی زبان های برنامه نويسی عبارتند از:

زبان های سطح بالا 

  • مانند C++، Pascal، Java و Visual Basic.

زبان های سطح پايين

  •  زبان ماشين
  •  زبان اسمبلی

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

زبان ماشين
هر خانواده ای از پردازنده ها دارای مجموعه ای از دستورالعمل های منحصر بفرد است که زبان ماشين ناميده می شود. مجموعه دستورالعمل های يک پردازنده (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 نوشته می شود. هر دستورالعمل زبان اسمبلی يک نمايش نمادی (يک کد الفبائی کوتاه) از يک دستورالعمل ماشين است، که به اين صورت معنی دستور واضح تر از کد زبان ماشين می شود.

برای توضیح کامل مطلب و لینک دانلود کتاب آموزش اسمبلی لطفا کلیک کنید تا به  ادامه مطلب بروید.

چهارشنبه, 12 آذر 1393 ساعت 20:37

زبان ماشین و برنامه سازی سیستم

نوشته شده توسط
این مورد را ارزیابی کنید
(6 رای‌ها)
زبان ماشین و برنامه سازی سیستم - 5.0 out of 5 based on 6 votes

زبان ماشین و برنامه سازی سیستم  (جزوه مهندس کریمی)

زبان ماشین مجموعه فرامینی است که به صورت مستقیم توسط پردازنده کامپیوتر قابل رمزگشایی و اجرا می‌باشد. این فرامین کاملاً وابسته به معماری پردازنده است. زبان ماشین بصورت کدهای دودویی است. زبان اسمبلی استفاده از کلمات به جای کدهای زبان ماشین است.

تاریخچه

پیش از ظهور اولین ماشین که به پردازنده‌های امروزی شباهت داشت؛ کامپوترهای مثل انیاک(‍‍‍‍‍انیاک) مجبور بودند برای اینکه کارهای مختلفی را انجام دهند دوباره سیم کشی شوند.این ماشین ها کامپیوتر هایی با برنامه ثابت نامیده می شوند. از آنجای که عبارت پردازنده عموماً برای دستگاه هایی که برنامه های کامپیوتری را اجرا می کنند به کار می رود ، می توان کامپیوتر های برنامه ذخیره شده (stored-program computer) را به عنوان اولین پردازنده ها نام برد. ایده کامپیوتر های برنامه ذخیره شده در طراحی J. Presper Eckert و John William برای کامپیوتر اینیاک ارائه شده بود ، ولی خیلی زود از طرح حذف گشت تا طرح سریع به اتمام برسد . در 30 ژوئن 1945 قبل از اینکه اینیاک ساخته شود ، ریاضی دانی به نام John von Neumann یک مقاله با عنوان اولین پیش نویس گزارش EDVAC منتشر کرد. که این طرح کلی از اولین کامپیوتر برنامه ذخیره شده بود که سرانجام در آگوست 1949 به اتمام رسید . EDVAC برای انجام تعداد خاصی از دستورالعمل ها طراحی شده بود. این دستورالعمل ها می توانستند ترکیب شوند و برنامه های مفیدی را روی EDVAC اجرا کنند. روشن است که برنامه هایی که برای EDVAC نوشته شده بودن روی حافظه ی سریع کامپیوتر ذخیره می شدند به جای سیم کشی کردن مشخص کامپیوتر . طراحی von Neumann بر این محدودیت اینیاک ، که زمان و تلاش زیاد برای پیکربندی مجدد برای انجام کار جدید بود غلبه کرد . برنامه یا نرم‌افزار ی که بر روی EDVAC اجرا می شد می توانست به راحتی محتویات حافظه را تغییر دهد. در ابتدا CPU ها به صورت اختصاصی به عنوان بخشی از یک دستگاه بزرگتر طراحی می شدند که گاهی بخشی از یک رایانه بودند. با این حال این روش سفارشی طراحی برای یک کاربرد خاص ، راه را برای تولید انبوه پردازنده های ساخته شده نا هموار می کرد. استاندارد سازی پردازنده ها با پیدایش ترانزیستور ها و میکرو کامپیوتر ها شروع شد و با ظهور آی سی ها شتاب بیشتری گرفت. آی سی ها این اجازه را می دادند که CPU های پیچیده تر و با قواعد طراحی نانو متر تولید شوند . استانداردسازی و کوچک شدن CPU ها هر دو باعث افزایش حضور دستگاه های دیجیتال در زندگی مدرن در مقابل کاربرد محاسباتی خاص شدند. ریز پردازنده ها در هر جایی از ماشین ها تا تلفن های همراه و اسباب بازی های کودکان حضور دارند. هرچند von Neumann به خاطر طراحی EDVAC خود شناخته شده است ، قبل از او افرادی مانند Konrad Zuse ایده های مشابهی را مطرح و پیاده سازی نموده بودند. اصطلاح معماری هاروارد Harvard Mark که یک طراحی برنامه ذخیره شده که از نوار کاغذ های منگنه بجای حافظه های الکترونیکی استفاده می کرد ،قبل از EDVAC تمام شده بود. تفاوت اصلی بین طراحی ون و معماری هاروارد فضای مشترک برای ذخیره دستورالعمل ها و داده ها در مقابل فضا های جدا گانه طراحی هاروارد بود. اغلب CPU های مدرن از طراحی ون پیروی می کنند ، اما المان هایی هم وجود دارند که معماری هاروارد پیروی می کنند. رله ها و لامپ های خلا که عموماً به عنوان عناصر سوئیچینگ مورد استفاده قرار می گرفتند. یک کامپیوتر مفید به هزاران یا صدها هزار از این المان های سوئیچینگ نیاز دارد و سرعت کلی سیستم به سرعت این سوئیچ ها وابسطه است. کامپیوتر های لامپ خلا نزیر EDVAC تقریباً 8 ساعت بدون خرابی کار می کردند در حالی که کامپیوتر های رله ای مانند طراحی هاروارد خیلی زودتر با مشکل مواجه می شدند. در نهایت CPU های بر پایه لامپ خلا به دلیل سرعت قابل توجه و قابلیت اطمینان بیشتر بر هم نوعان خود پیروز شدند . اغلب CPU های سنکرون نسبت به CPUهای مدرن با فرکانس کلاک کمتری در حد 100Hz تا 4 MHz کار می کردند که این محدودیت به دلیل سرعت کم المان های سوئیچ بود.

 

واحد پردازش مرکزی

سی‌پی‌یو (به انگلیسی: Central Processing Unit یا CPU)‏ یا پردازنده (به انگلیسی: Processor)‏، یکی از اجزاء رایانه می‌باشد که فرامین و اطلاعات را مورد پردازش قرار می‌دهد. واحدهای پردازش مرکزی ویژگی پایه‌ای قابل برنامه‌ریزی‌شدن را در رایانه‌های رقمی فراهم می‌کنند، و یکی از مهم‌ترین اجزاء رایانه‌ها هستند. یک پردازندهٔ مرکزی، مداری یکپارچه می‌باشد که معمولاً به عنوان ریزپردازنده شناخته می‌شود. امروزه عبارت CPU معمولاً برای ریزپردازنده‌ها به کار می‌رود.
عبارت «Central Processor Unit» (واحد پردازندهٔ مرکزی) یک ردهٔ خاص از ماشین را معرفی می‌کند که می‌تواند برنامه‌های رایانه را اجرا کند. این عبارت گسترده را می‌توان به راحتی به بسیاری از رایانه‌هایی که بسیار قبل‌تر از عبارت "CPU" بوجود آمده بودند نیز تعمیم داد. به هر حال این عبارت و شروع استفاده از آن در صنعت رایانه، از اوایل سال ۱۹۶۰ رایج شد. شکل، طراحی و پیاده‌سازی پرازنده‌ها نسبت به طراحی اولیه آنها تغییر کرده‌است ولی عملگرهای بنیادی آنها همچنان به همان شکل باقی‌مانده‌است.
پردازنده‌های اولیه به عنوان یک بخش از سامانه‌ای بزرگ‌تر که معمولاً یک نوع رایانه‌است، دارای طراحی سفارشی بودند. این روش گران قیمت طراحی سفارشی پردازنده‌ها برای یک بخش خاص، به شکل قابل توجهی، مسیر تولید انبوه آنرا که برای اهداف زیادی قابل استفاده بود فراهم نمود. این استانداردسازی روند قابل ملاحظه‌ای را در عصر مجزای ابر رایانه‌های ترانزیستوری و ریز کامپیوترها آغاز نمود و راه عمومی نمودن مدارات مجتمع(IC یا Integrated Circuit) را سرعت فراوانی بخشید. یک مدار مجتمع، امکان افزایش پیچیدگی‌ها برای طراحی پردازنده‌ها و ساختن آنها در مقیاس کوچک را (در حد میلیمتر) امکان پذیر می‌سازد. هر دو فرایند (کوچک سازی و استاندارد سازی پردازنده‌ها)، حضور این تجهیزات رقمی را در زندگی مدرن گسترش داد و آن را به فراتر از یک دستگاه خاص مانند رایانه تبدیل کرد. ریزپردازنده‌های جدید را در هر چیزی از خودروها گرفته تا تلفن‌های همراه و حتی اسباب بازی‌های کودکان می‌توان یافت.

مدت زمان انجام یک کار به‌وسیله رایانه، به عوامل متعددی بستگی دارد که اولین آنها، سرعت پردازشگر رایانه‌است. پردازشگر یک تراشه الکترونیکی کوچک در قلب کامپیوتر است و سرعت آن بر حسب مگاهرتز یا گیگاهرتز سنجیده می‌شود. هر چه مقدار این پارامتر بیشتر باشد، پردازشگر سریعتر خواهد بود و در نتیجه قادر خواهد بود، محاسبات بیشتری را در هر ثانیه انجام دهد. سرعت پردازشگر به عنوان یکی از مشخصه‌های یک کامپیوتر به قدری در تعیین کارآیی آن اهمیت دارد که معمولاً به عنوان یکی از اجزای تشکیل دهنده نام کامپیوتر از آن یاد می‌شود. تراشه پردازشگر و اجزای الکترونیکی که آن را پشتیبانی می‌کنند، مجموعاً به عنوان واحد پردازش مرکزی یا CPU شناخته شده هست

واحد پردازش مرکزی واحد محاسباتی (ALU) و کنترلی (CU) رایانه‌است که دستورالعمل‌ها را تفسیر و اجرا می‌کند. رایانه‌های بزرگ و ریزرایانه‌های قدیمی بردهایی پر از مدارهای مجتمع داشته‌اند که عمل پردازش را انجام میداده‌اند. تراشه‌هایی که ریز پردازنده نامیده می‌شوند، امکان ساخت رایانه‌های شخصی و ایستگاه‌های کاری (Work Station) را میسر ساخته‌اند.

در اصطلاح عامیانه CPU به عنوان مغز رایانه شناخته می‌شود. 

برای توضیح کامل مطلب و لینک دانلود جزوه آموزشی زبان ماشین وبرنامه سازی سیستم لطفا کلیک کنید تا به  ادامه مطلب بروید. 

خبرنامه

آدرس ایمیل خود را در کادر زیر وارد نمایید تا از آخرین اخبار مطلع شوید.

تماس با ما

اطلاعات تماس گروه روبوک

  • شماره پیامکی: 50002853627180
  • شماره تماس : 09387137519 (9 صبح الی 4 بعدازظهر)
  • آدرس ایمیل : این آدرس ایمیل توسط spambots حفاظت می شود. برای دیدن شما نیاز به جاوا اسکریپت دارید

با ما در تماس باشید

ما را در صفحات اجتماعی دنبال نمایید...