وب سایت شخصی جواد راستی
وب سایت شخصی جواد راستی

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

هدف

1) آشنايي مقدماتي با ساختار کامپيوتر و ريزپردازنده
2) آشنايي با برنامه‌نويسي به زبان اسمبلي ريزپردازنده 8086/88
3) استفاده از امکانات کامپيوترهاي IBM به کمک برنامه‌هاي اسمبلي

 پيش‌ نياز

آشنايي با يک زبان برنامه‌نويسي سطح بالا مانند پاسکال يا C

سرفصل مطالب درس

اصول برنامه‌نويسي کامپيوتر: گذري بر سيستمهاي مبتني بر پردازنده، ساختار داخلي کامپيوتر، نحوه اجراي دستورات در کامپيوتر، جايگاه زبان اسمبلي، گذري بر پردازنده‌هاي اينتل از ابتدا تاکنون، مدحقيقي و محافظت‌شده
نمايش اطلاعات در کامپيوتر: دستگاههاي مختلف عددي و محاسبات و تبديلات، روشهاي نمايش اعداد منفي، اعداد مميز شناور، سيستم اسکي
اصول برنامه‌نويسي اسمبلي: گذري بر معماري داخلي و ثباتهاي پردازنده‌هاي 88/8086، ثباتهاي 32 بيتي پردازنده‌هاي 80386 به بالا، آدرس‌دهي سگمنت/آفست و مزاياي آن، تبديل متقابل آدرسهاي فيزيکي و منطقي، بررسي يک برنامه اسمبلي نمونه و ساختار استاندارد آن، ترجمه و پيوند و اجراي برنامه‌هاي اسمبلي، اشکالزدايي برنامه‌هاي اسمبلي به کمک نرم‌افزار DEBUG.
ورودي/خروجي ساده: وقفه‌هاي نرم‌افزاري بايوس و DOS، دستورات ورودي/خروجي ساده با صفحه کليد و مانيتور.
ساختارهاي تصميم و تکرار: پرشهاي شرطي و غير شرطي، حلقه‌هاي تکرار نامعين و تکرار معين.
مدهاي آدرس‌دهي اسمبلي 8086/88
زيربرنامه‌ها: برنامه‌نويسي ساخت‌يافته، جنبه‌هاي تعريف و فراخواني زيربرنامه‌ها، آشنايي با پشته و تبادل اطلاعات با آن، روشهاي تبادل پارامتر با زيربرنامه به کمک ثباتها و حافظه و پشته
ماکروها: شبه‌دستورات تکرار، اسمبلي شرطي، کتابخانه IO.H
محاسبات دودويي: اعمال رياضي چهارگانه، اعمال رياضي روي کلمات چندگانه
دستورات منطقي و بيتي: تغيير بيتهاي عدد به صورت مستقل، دستورات شيفت و دوران و کاربردهاي خاص آنها
عمليات رياضي دهدهي: رياضيات BCD، رياضيات اسکي، اعمال رياضي روي رشته‌هاي عددي
دستورات رشته‌اي: پيشوندهاي تکرار، پردازش جدولها
برنامه‌نويسي پيمانه‌اي: تقسيم پروژه‌هاي اسمبلي و پيوند پيمانه‌ها، تبادل پارامتر بين پيمانه‌ها، ايجاد کتابخانه‌ها، ارتباط برنامه‌هاي اسمبلي با زبانهاي سطح بالا
برنامه‌هاي اجرايي COM: برنامه‌نويسي و نحوه ايجاد و پيوند
برنامه‌هاي مقيم در حافظه (TSR): بازنويسي وقفه‌هاي کامپيوتر
امکانات کامپيوتر و مديريت آنها: ويژگيهاي پيشرفته صفحه کليد و مانيتور، توليد صوت با بلندگوي کامپيوتر، استفاده از ماوس، مديريت ديسکها و فايلها، گرافيک کامپيوتري و ساختار فايلهاي گرافيکي، برنامه‌نويسي پورتها و ورودي/خروجي، تسهيلات چاپ
محاسبات مميز شناور و پردازنده کمکي 8087
گذري بر پردازنده‌هاي بالاتر: آدرس‌دهي با ديسکريپتورها و آدرس دهي حفاظت‌شده، برنامه‌نويسي مد محافظت‌شده

مراجع

• "زبان ماشين و اسمبلي و کاربرد آن در کامپيوترهاي شخصي"، دکتر حسن سيدرضي، انتشارات ناقوس.
• "مرجع کامل برنامه‌نويسي به زبان اسمبلي از 8086 تا پنتيوم"، عين‌ا... جعفرنژاد قمي، رمضان عباس‌نژاد، انتشارات جهاد دانشگاهي مشهد.
• "اصول اساسي برنامه‌نويسي به زبان اسمبلي ويژه کامپيوترهاي IBM"، ريچارد دتمر، ترجمه جابر هاشمي اصل و هاشم مشحون، انتشارات دانشگاه علم و صنعت ايران
• "برنامه‌نويسي به زبان اسمبلي براي کامپيوترهاي شخصي"، پيتر ايبل، ترجمه جابر هاشمي‌اصل، انتشارات بهينه

ارزيابي

• 6 نمره ميان‌ترم
• 6 نمره پروژه
• 8 نمره پايان‌ترم و کوئيز و نظر مدرس

تحويل کليه پروژه‌ها و کسب حداقل نيمي از نمره هر پروژه و نيمي از 14 نمره كتبي جهت گذراندن درس الزامي است.
طبق قوانين آموزشي، غيبت بيش از سه جلسه باعث حذف درس مي‌شود.

 مطالب مفید

 

1 جزوه شماره يك اسمبلي 370 کیلوبایت download
2 پردازنده‌هاي اينتل 33 کیلوبایت download
3 ثباتهاي پردازنده‌هاي 88/8086 41 کیلوبایت download
4 نرم‌افزارهاي اسمبلر 13.058 کیلوبایت download
5 نرم‌افزار DN 1.076 کیلوبایت download
6 يك برنامه نمونه اسمبلي 1 کیلوبایت download
7 قالب برنامه‌نويسي به زبان اسمبلي 577 كيلوبايت  download
8 راهنماي استفاده از اسمبلر MASM 71 کیلوبایت download
9 يك فايل ليست اسمبلي 2 کیلوبایت download
10 يك فايل نقشه اسمبلي 1 کیلوبایت download
11 ساختار فايل ليست 29 کیلوبایت download
12 آشنايي با Debug 106 کیلوبایت download
13 مدهاي آدرس‌دهي اسمبلي 88/8086 44 کیلوبایت download
14 جزوه شماره دو اسمبلي 193 کیلوبایت download
15 مجموعه دستورات زبان اسمبلي 88/8086 118 کیلوبایت download
16 رياضيات اسكي 30 کیلوبایت download
17 دستورات رشته‌اي در زبان اسمبلي 35 کیلوبایت download
18 نمونه برنامه‌هاي مقيم در حافظه 37 کیلوبایت download
19 نمونه پرسشهاي اسمبلي 62 کیلوبایت download
20 كتابهاي الكترونيكي 7,487 کیلوبایت download
21 Notepad++ editor 1.96 مگابایت download