سخت افزار کامپیوتر و کنترل کامپیوتری
مارس 27, 2020
آزمایشگاه درس مدارهای واسط
مارس 27, 2020

هدف
۱) ارائه دانش تکمیلی در زمینه زبان ماشین و اسمبلی
۲) آشنایی با نحوه به‌کارگیری امکانات کامپیوترهای شخصی در قالب برنامه‌نویسی اسمبلی و زبانهای سطح بالا
پیش‌ نیاز
درس زبان ماشین و اسمبلی – آشنایی عملی با برنامه‌نویسی اسمبلی
سرفصل مطالب درس
• ساختارهای تصمیم و تکرار: پرشهای شرطی و غیر شرطی، حلقه‌های تکرار نامعین و تکرار معین.
• مدهای آدرس‌دهی اسمبلی ۸۰۸۶/۸۸
• زیربرنامه‌ها: برنامه‌نویسی ساخت‌یافته، جنبه‌های تعریف و فراخوانی زیربرنامه‌ها، آشنایی با پشته و تبادل اطلاعات با آن،
روشهای تبادل پارامتر با زیربرنامه به کمک ثباتها و حافظه و پشته
• ماکروها: شبه‌دستورات تکرار، اسمبلی شرطی، کتابخانه IO.H
• محاسبات دودویی: اعمال ریاضی چهارگانه، اعمال ریاضی روی کلمات چندگانه، عملیات ریاضی دهدهی، ریاضیات BCD، ریاضیات اسکی، اعمال ریاضی روی رشته‌های عددی
• دستورات منطقی و بیتی: تغییر بیتهای عدد به صورت مستقل، دستورات شیفت و دوران و کاربردهای خاص آنها
• دستورات رشته‌ای: پیشوندهای تکرار، پردازش جدولها
• برنامه‌نویسی پیمانه‌ای: تقسیم پروژه‌های اسمبلی و پیوند پیمانه‌ها، تبادل پارامتر بین پیمانه‌ها، ایجاد کتابخانه‌ها، ارتباط برنامه‌های اسمبلی با زبانهای سطح بالا
• برنامه‌های اجرایی COM: برنامه‌نویسی و نحوه ایجاد و پیوند
• برنامه‌های مقیم در حافظه (TSR): بازنویسی وقفه‌های کامپیوتر
• امکانات کامپیوتر و مدیریت آنها: ویژگیهای پیشرفته صفحه کلید و مانیتور، تولید صوت با بلندگوی کامپیوتر، استفاده از ماوس، مدیریت دیسکها و فایلها، گرافیک کامپیوتری و ساختار فایلهای گرافیکی، تسهیلات چاپ
• آشنایی با عملکرد پردازنده ها و سیستمهای مبتنی بر پردازنده: آشنایی با پردازنده ۸۰۸۸ و Motherboard کامپیوترهای پایه PC-XT، آشنایی با نحوه طراحی کارتهای کامپیوتری (ISA، EISA، PCI و AGP)
• آشنایی با چاپگرها و برنامه نویسی پورت موازی کامپیوتر
• آشنایی با مودم: تکنولوژی DSL، برنامه نویسی پورت سریال کامپیوتر، آشنایی با پورت USB
• گذری بر پردازنده‌های ۸۰۲۸۶ به بعد: آدرس‌دهی با دیسکریپتورها و آدرس‌دهی حفاظت‌شده، برنامه‌نویسی مد محافظت‌شده
مراجع
• “زبان ماشین و اسمبلی و کاربرد آن در کامپیوترهای شخصی”، دکتر حسن سیدرضی، انتشارات ناقوس.
• “مرجع کامل برنامه‌نویسی به زبان اسمبلی از ۸۰۸۶ تا پنتیوم”، عین‌ا… جعفرنژاد قمی، رمضان عباس‌نژاد، انتشارات جهاد دانشگاهی مشهد.
• “برنامه‌نویسی به زبان اسمبلی برای کامپیوترهای شخصی”، پیتر ایبل، ترجمه جابر هاشمی‌اصل، انتشارات بهینه.
• “برنامه‌نویسی سیستم برای کامپیوترهای شخصی (دو جلد)”، مایکل تیشر، ترجمه امیر صادقی، انتشارات مرکز نشر دانشگاهی تهران.
• “مروری بر اسمبلی”، هوروش فلاتی، انتشارات قوس با همکاری انتشارات تابان.
• “اصول اساسی برنامه‌نویسی به زبان اسمبلی ویژه کامپیوترهای IBM”، ریچارد دتمر، ترجمه جابر هاشمی اصل و هاشم مشحون، انتشارات دانشگاه علم و صنعت ایران.
• “دنیای زیرزمینی بدافزارها و راههای مقابله”، محمدرضا گرمخورانی، انتشارات نص.
• “برنامه‌نویسی سیستمی”، محمد عادلی‌نیا، مرضیه مهریزی، انتشارات دیباگران تهران.
• “Embedded systems programming in C and Assembly”, J. F. Brown, Van Nostrand Reinhold, 1993.
• “Structured Computer Organization”, A. S. Tanenbaum, Prentice-Hall, 2001.
• “IBM personal computer XT”, Technical Reference, Volumes 1, 2.
• “IBM personal computer AT”, Technical Reference.
• “The 80×86 IBM PC & Compatible Computers”, Mazidi, Prentice Hall, 2000.
.این کتاب با نام مدارهای واسط توسط دکتر قدرت سپیدنام به فارسی ترجمه شده است
• “Computer Systems: A Programmer’s Perspective”, Randal E. Bryant and David R. O’Hallaron, Prentice Hall, 2003.
• “Applied Operating System Concepts”, Silberschatz, Galvin, Gagne, 1th Edition, John Wiley&Sons, Inc., 2000.
• “Advanced Programming in the UNIX(R) Environment”, W.R.Stevens, Addison-Wesley,1992.
• “Practical Java Game Programming”, D. Clingman et al., Charles River Media, 2004.
• “Building Powerful Platforms with Windows CE”, J.Y. Wilson, Addison-Wesley, 2001.
• “Computers as Components”, W. Wolf, Academic Press, 2001.
ارزیابی
• ۱۰ نمره امتحان کتبی
• ۸ نمره پروژه
• تحقیق (یک نمره گزارش + یک نمره ارائه)
کسب حداقل نیمی از نمره کتبی و نیمی از نمره پروژه جهت گذراندن درس الزامی است.
طبق قوانین آموزشی، غیبت بیش از سه جلسه باعث حذف درس می‌شود.

نام مطلب حجم فایل لینک دانلود
۱ یک نرم‌افزار اسمبلر جدید ۷۰۰ کیلوبایت download
۲ کتاب زبان اسمبلی ویندوز و برنامه‌نویسی سیستم ۱۲ مگابایت download