برنامه نویسی به زبان ماشین و اسمبلی
برنامه نویسی سیستمی کامپیوترهای شخصی(8086) (ویژه دانشجویان دوره کاردانی کامپیوتر دانشگاه فنی و حرفهای) اين کتاب، با پروا به نیاز دانشجویان رشته کامپیوتر به آشنایی با زبان برنامهنویسی اسمبلی و لزوم دسترسی به منابع تازه این درس، تهیه و گردآوری شده است. در این کتاب تلاش شده است لغایت مفاهیم با زبانی ساده و قابل فهم بیان شود، بگونهای که دانشجویان بعد از مطالعه بخشهای گوناگون و مثال های متنوع آن، قواعد بنیادین و مهم برنامهنویسی به زبان اسمبلی را فرا گیرند.
تلاش شده است تا ضمن بیان تمامی سرفصلهای مصوب وزارت علوم در این درس، از حجیم شدن کتاب و بیان مباحث باستانی و غیر بایسته پرهيز شود. این کتاب اخص دانشجویان دوره کاردانی کامپیوتر، دانشگاه فنی و حرفهای گردآوری شده است ولی بدون شک مطالعه آن برای دانشجویان دوره کاردانی و کارشناسی ديگر دانشگاهها نیز سودمند خواهد بود.
فصل 1سیستم اعداد
مقدمه
سیستم اعداد
سیستم دودویی(باینری)
تبدیل مبنای 10 به 2
تبدیل مبنای 2 به 10
سیستم اعداد هگزادسیمال(شانزده)
تبدیل مبنای 10 به 16
تبدیل مبنای 16 به 10
تبدیل مبنای 16 به 2
تبدیل مبنای 2 به 16
مبنای 8 ( اوکتال)
تبدیل مبنای 10 به 8
تبدیل مبنای 8 به 10
تبدیل مبنای 8 به 2
تبدیل مبنای 2 به 8
محاسبات در مبنای دودویی و هگزا دسیمال
نحوه ذخیره سازی اعداد در حافظه
اعداد دهدهی BCD
فصل دوم معماری کامپیوتر
مقدمه
ویژگی های برنامه نویسی به زبان ماشین و زبان اسمبلی
اجزاء متداول یک کامپیوتر
واحد پردازنده یا CPU
واحد ورودی/خروجی (I/O)
واحد حافظه
گذرگاه
سیکل اجرای دستورات برنامه اسمبلی
ارتباط با وسائل ورودی/خروجی
بیت توازن ( parity bit)
ساختار پردازنده
معرفی ثبات ها(رجیستر ها) در پردازنده 8086
ثبات های عمومی
ثبات های اشاره گر و اندیس(شاخص)
ثبات های سگمنت
ثبات وضعیت/پرچم(PSW یا FR )
ثبات های 32 بیتی در پردازنده مدل 80386
سگمنت(قطعه)
نحوه تبدیل آدرس منطقی به فیزیکی
انتقال اطلاعات
حافظه پشته
نحوه ترجمه برنامه توسط اسمبلر*
کد اسکی(Ascii)
فصل سوم مقدمات برنامه نویسی
قوانین نامگذاری متغیرها
قالب دستورات اسمبلی
برچسب ها
برچسب اسم دستور
برچسب اسم متغیر
تعریف متغیر
تعریف آرایه
روش های آدرس دهی اطلاعات و عملوندها
آدرس دهی ضمنی
آدرس دهی ثباتی
روش آدرس دهی بلافاصله
آدرس دهی مستقیم
روش آدرس دهی غیرمستقیم
آدرس دهی غیرمستقیم نسبی با ثبات پایه
آدرس دهی غیرمستقیم نسبی با ثبات شاخص(اندیس)
آدرس دهی غیرمستقیم نسبی با ثبات پایه و شاخص
شبه دستورات یا راهنماهای اسمبلر
تعریف سگمنت
تعریف رویه(روال)
قالب و ساختار برنامه اسمبلی
قالب استاندارد
برخی از شبه دستورات مهم قالب استاندارد
شبه فرمان PAGE
شبه اجازه TITLE
شبه پروانه ASSUME
دستورات مقدار دهی اولیه ثبات های سگمنت
شبه دستور END
شبه دستورات مراجعت کنترل به سیستم عامل
قالب ساده شده اسمبلی(Small)
قالب برنامه ساده شده(مدل small)
نمونه برنامه های آزمایشی در قالب های فوق
نحوه اجرای برنامه اسمبلی
برخی از شبه دستورات پر کاربرد
DUP
EQU(EQUATE)
ORG
ثبات های افست آدرس (پیش فرض) برای ثبات های سگمنت
فصل چهارم دستورالعمل های اساسی در اسمبلی
مقدمه
انتقال داده ها(MOV)
اشاره گر
OFFSET
LEA
LDS
LES
دستور XCHG
INC
DEC
دستورالعمل محاسبه مکمل دو (NEG)
دستورات محاسباتی(جمع،تفریق،ضرب و تقسیم)
دستور جمع ADD
دستور جمع با بیت نقلی ADC
دستور کاهش SUB
دستور تفریق با بیت قرضیSBB
دستور ات ضرب MUL و IMUL
دستور PTR
دستور ات بخش DIV و IDIV
مثال های برنامه نویسی
فصل پنجم ساختارهای انشعاب،تصمیم و حلقه های تکرار
دستور سنجش CMP
دستورات انشعاب(پرش)
پرش غیر شرطی
پرش شرطی
دستورات پرش شرطی مبتنی بر بیت پرچم
دستورات پرش شرطی اعداد علامت دار
دستورات پرش شرطی اعداد بدون علامت
پیاده سازی ساختار IF-ELSE با دستورات پرش شرطی
پیاده سازی ساختارSWITCH با دستورات پرش شرطی
دستور پرش شرطی JCXZ
حلقه های تکرار
دستور LOOPD
حلقه تکرار با دستورات پرش شرطی
حلقه های درون در تو
دستور LOOPZ یا LOOPE
دستور LOOPNZ یا LOOPNE
مثال های برنامه نویسی
فصل ششم عملیات بخردانه و عملیات بیتی
دستورات منطقی
دستور NOT
دستور AND
دستور OR
دستور XOR
دستور TEST
دستورات شیفت
دستورات SHL و SAL
دستور SHR
دستور SAR
دستورات چرخش
دستور ROL (Rotate Left)
دستور ROR (Rotate Right)
دستور RCL (Rotate Left Through Carry)
دستور RCR (Rotate Right Through Carry)
دستورات شغل با بیت های پرچم
فصل هفتم سابروتین،ماکرو و وقفه
وقفه
سابروتین(Subroutine)
ساختار بنیادین برنامه اسمبلی با چند روال
ماکروها
ماکرو های پارامتر دار
شبه فرمان INCLUDE
وقفه ها
وقفه ها و عملیات ورودی/خروجی
وقفه های سیستم
مفهوم تابع وقفه
نحوه اجرای وقفه ها
مراحل اجرای وقفه
دستور IRET
وقفه های داخلی
INT 00H (وقفه شماره صفر)
INT 01H (وقفه شماره یک)
INT 03H(وقفه عدد سه)
دستور INTO (وقفه عدد چهار)
معرفی توابع وقفه پر استعمال در عملیات ورودی/خروجی
پاک کردن مانیتور
انتقال مکان نما
خواندن کارکتر از ورودی
خواندن یک زنجیره از ورودی
نمایش یک کارکتر در خروجی(مانیتور)
خواندن زمان و تاریخ سیستم
فصل هشتم دودمان ها
مقدمه
رشته (STRING)
تکرار اجرای دستورات پردازش دودمان ای
تعیین جهت پردازش رشته
دستور MOVS (انتقال دودمان ها)
دستور LODS
دستور STOS
دستور CMPS (مقایسه رشته ها)
دستور SCAS (جستجوی رشته)
فصل نهم برنامه های COM
مقدمه
ویژگی های برنامه های COM
قالب و ساختار برنامه COM
نحوه اجرا ی برنامه های COM به کمک توربو اسمبلر TASM
فصل دهم گرافیک در اسمبلی
مقدمه
صفحه نمایش و حافظه مانیتور
کد های کنترلی
رنگ حروف و گویه مانیتور در حالت متن
حالت گرافیک مانیتور(Graphics Mode)
تعیین حالت گرافیکی برای مانیتور(تابع 00 از وقفه INT 10H )
روشن کردن پیکسل (تابع 0CH وقفه INT 10H )
مثال های تکمیلی
فصل یازدهم نرم افزار DEBUG
نحوه اجرای برنامه DEBUG
خلاصه ای از دستورات قابل اجرا در دیباگ
نوشتن دستورات اسمبلی(ترجمه زبان اسمبلی به زبان ماشین)
ترجمه درونمایه حافظه(زبان ماشین) به زبان اسمبلی
اجرای دستورات موجود در حافظه
دستور اجرای برنامه اسمبلی به چهره دستور به دستور
مشاهده محتویات ثبات ها.
برنامه نویسی به زبان ماشین و اسمبلی
ناشر:
|
پندار پارس
|
نویسنده:
|
آزاد نوری
|
نظرات کاربران درباره برنامه نویسی به زبان ماشین و اسمبلی
نظری در مورد این محصول توسط کاربران ارسال نگردیده است.
اولین نفری باشید که در مورد برنامه نویسی به زبان ماشین و اسمبلی نظر می دهد.
ارسال نظر درباره برنامه نویسی به زبان ماشین و اسمبلی