معماری کامپیوتر
مارس 26, 2020
سخت افزار کامپیوتر و کنترل کامپیوتری
مارس 27, 2020

هدف
۱) آشنایی مقدماتی با ساختار کامپیوتر و ریزپردازنده
۲) آشنایی با برنامه‌نویسی به زبان اسمبلی ریزپردازنده ۸۰۸۶/۸۸
۳) استفاده از امکانات کامپیوترهای IBM به کمک برنامه‌های اسمبلی
پیش‌ نیاز
آشنایی با یک زبان برنامه‌نویسی سطح بالا مانند پاسکال یا C
سرفصل مطالب درس
• اصول برنامه‌نویسی کامپیوتر: گذری بر سیستمهای مبتنی بر پردازنده، ساختار داخلی کامپیوتر، نحوه اجرای دستورات در کامپیوتر، جایگاه زبان اسمبلی، گذری بر پردازنده‌های اینتل از ابتدا تاکنون، مدحقیقی و محافظت‌شده
• نمایش اطلاعات در کامپیوتر: دستگاههای مختلف عددی و محاسبات و تبدیلات، روشهای نمایش اعداد منفی، اعداد ممیز شناور، سیستم اسکی
• اصول برنامه‌نویسی اسمبلی: گذری بر معماری داخلی و ثباتهای پردازنده‌های ۸۸/۸۰۸۶، ثباتهای ۳۲ بیتی پردازنده‌های ۸۰۳۸۶ به بالا، آدرس‌دهی سگمنت/آفست و مزایای آن، تبدیل متقابل آدرسهای فیزیکی و منطقی، بررسی یک برنامه اسمبلی نمونه و ساختار استاندارد آن، ترجمه و پیوند و اجرای برنامه‌های اسمبلی، اشکالزدایی برنامه‌های اسمبلی به کمک نرم‌افزار DEBUG.
• ورودی/خروجی ساده: وقفه‌های نرم‌افزاری بایوس و DOS، دستورات ورودی/خروجی ساده با صفحه کلید و مانیتور.
• ساختارهای تصمیم و تکرار: پرشهای شرطی و غیر شرطی، حلقه‌های تکرار نامعین و تکرار معین.
• مدهای آدرس‌دهی اسمبلی ۸۰۸۶/۸۸
• زیربرنامه‌ها: برنامه‌نویسی ساخت‌یافته، جنبه‌های تعریف و فراخوانی زیربرنامه‌ها، آشنایی با پشته و تبادل اطلاعات با آن، روشهای تبادل پارامتر با زیربرنامه به کمک ثباتها و حافظه و پشته
• ماکروها: شبه‌دستورات تکرار، اسمبلی شرطی، کتابخانه IO.H
• محاسبات دودویی: اعمال ریاضی چهارگانه، اعمال ریاضی روی کلمات چندگانه
• دستورات منطقی و بیتی: تغییر بیتهای عدد به صورت مستقل، دستورات شیفت و دوران و کاربردهای خاص آنها
• عملیات ریاضی دهدهی: ریاضیات BCD، ریاضیات اسکی، اعمال ریاضی روی رشته‌های عددی
• دستورات رشته‌ای: پیشوندهای تکرار، پردازش جدولها
• برنامه‌نویسی پیمانه‌ای: تقسیم پروژه‌های اسمبلی و پیوند پیمانه‌ها، تبادل پارامتر بین پیمانه‌ها، ایجاد کتابخانه‌ها، ارتباط برنامه‌های اسمبلی با زبانهای سطح بالا
• برنامه‌های اجرایی COM: برنامه‌نویسی و نحوه ایجاد و پیوند
• برنامه‌های مقیم در حافظه (TSR): بازنویسی وقفه‌های کامپیوتر
• امکانات کامپیوتر و مدیریت آنها: ویژگیهای پیشرفته صفحه کلید و مانیتور، تولید صوت با بلندگوی کامپیوتر، استفاده از ماوس، مدیریت دیسکها و فایلها، گرافیک کامپیوتری و ساختار فایلهای گرافیکی، برنامه‌نویسی پورتها و ورودی/خروجی، تسهیلات چاپ
• محاسبات ممیز شناور و پردازنده کمکی ۸۰۸۷
• گذری بر پردازنده‌های بالاتر: آدرس‌دهی با دیسکریپتورها و آدرس دهی حفاظت‌شده، برنامه‌نویسی مد محافظت‌شده
مراجع
• “زبان ماشین و اسمبلی و کاربرد آن در کامپیوترهای شخصی”، دکتر حسن سیدرضی، انتشارات ناقوس.
• “مرجع کامل برنامه‌نویسی به زبان اسمبلی از ۸۰۸۶ تا پنتیوم”، عین‌ا… جعفرنژاد قمی، رمضان عباس‌نژاد، انتشارات جهاد دانشگاهی مشهد.
• “اصول اساسی برنامه‌نویسی به زبان اسمبلی ویژه کامپیوترهای IBM”، ریچارد دتمر، ترجمه جابر هاشمی اصل و هاشم مشحون، انتشارات دانشگاه علم و صنعت ایران
• “برنامه‌نویسی به زبان اسمبلی برای کامپیوترهای شخصی”، پیتر ایبل، ترجمه جابر هاشمی‌اصل، انتشارات بهینه
ارزیابی
• ۶ نمره میان‌ترم
• ۶ نمره پروژه
• ۸ نمره پایان‌ترم و کوئیز و نظر مدرس
تحویل کلیه پروژه‌ها و کسب حداقل نیمی از نمره هر پروژه و نیمی از ۱۴ نمره کتبی جهت گذراندن درس الزامی است.
طبق قوانین آموزشی، غیبت بیش از سه جلسه باعث حذف درس می‌شود.

# نام مطلب حجم فایل لینک دانلود
۱ جزوه شماره یک اسمبلی ۳۷۰ کیلوبایت download
۲ پردازنده‌های اینتل ۳۳ کیلوبایت download
۳ ثباتهای پردازنده‌های ۸۸/۸۰۸۶ ۴۱ کیلوبایت download
۴ نرم‌افزارهای اسمبلر ۱۳٫۰۵۸ کیلوبایت download
۵ نرم‌افزار DN ۱٫۰۷۶ کیلوبایت download
۶ یک برنامه نمونه اسمبلی ۱ کیلوبایت download
۷ قالب برنامه‌نویسی به زبان اسمبلی ۵۷۷ کیلوبایت download
۸ راهنمای استفاده از اسمبلر MASM ۷۱ کیلوبایت download
۹ یک فایل لیست اسمبلی ۲ کیلوبایت download
۱۰ یک فایل نقشه اسمبلی ۱ کیلوبایت download
۱۱ ساختار فایل لیست ۲۹ کیلوبایت download
۱۲ آشنایی با Debug ۱۰۶ کیلوبایت download
۱۳ مدهای آدرس‌دهی اسمبلی ۸۸/۸۰۸۶ ۴۴ کیلوبایت download
۱۴ جزوه شماره دو اسمبلی ۱۹۳ کیلوبایت download
۱۵ مجموعه دستورات زبان اسمبلی ۸۸/۸۰۸۶ ۱۱۸ کیلوبایت download
۱۶ ریاضیات اسکی ۳۰ کیلوبایت download
۱۷ دستورات رشته‌ای در زبان اسمبلی ۳۵ کیلوبایت download
۱۸ نمونه برنامه‌های مقیم در حافظه ۳۷ کیلوبایت download
۱۹ نمونه پرسشهای اسمبلی ۶۲ کیلوبایت download
۲۰ کتابهای الکترونیکی ۷,۴۸۷ کیلوبایت download
۲۱ Notepad++ editor ۱٫۹۶ مگابایت download