سامانه بازاریابی فایل های دانشجوئی

جستجو پیشرفته فایلهای دانشجویی از سایت های مختلف علمی ایران

سامانه بازاریابی فایل های دانشجوئی

جستجو پیشرفته فایلهای دانشجویی از سایت های مختلف علمی ایران

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


فرمت وُرد

48 صفحه

 

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


CPU تراشه enCorRe دستور پشتیبانی می‌کند. همه برنامه‌ها باید این دستور استفاده کنند. سیپرس یک مترجم مجانی ارائه می‌دهد که کدهای اسمبلی که شما می‌نویسید فایل‌های موضوع، که منظور برنامه‌ریزی EPROM تراشه تهیه می‌شوند، تبدیل می‌کند. اگر ترجیح دهید که C برنامه‌نویسی کنید، سیپریس یک مفسر C نیز پیشنهاد می‌کند.

اگر برنامه‌نویسی اسمبلی میکروکنترلر آشنایی داشته باشید، برنامه‌نویسی برای enCoRo  نیز مشابه همان است. اما اگر برنامه‌نویسی بیسیک C آشنا هستید، باید بدانید که برنامه‌نویسی کدهای اسمبلی بسیاری عملگرهای زبانهای سطح بالا موجود نیست اینجا دیگر حلقه‌های While یا ‌for یا انواع مختلف متغیرها وجود ندارد. اما برای تراشه‌‌ای enCoRo که منظور کارهای نمایشی کنترلی غیر پیچیده طراحی شده است، استفاده کدهای اسمبلی عملی است. برای برنامه‌های کوتاه، که سرعت اجرا می‌شوند احتیاجی خرید مفسر نیست.


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

برنامه‌نویسی اسمبلی شامل یک مجموعه دستورات است که هر کدام مربوط کدهای ماشینی هستند که تراشه آنها پشتیبانی می‌کند. مثلاً دستور iord، که محل io می‌خواند کد h29 مربوط است. جای خاطر آوردن h 29، شما می‌توانید iord بنویسید، مترجم معادل سازی برای شما انجام خواهد داد. دستور iord همچنین احتیاج یک عملوند دارد که محل خواندن مشخص کند. مثال 01h iord پورتی آدرس h می‌خواند.

زبان برنامه‌نویسی اسمبلی همچنین می‌تواند شامل دایرکتیو[1] توضیحات باشد. دایرکتیوها دستوراتی هستند که جای اینکه مربوط CPU باشند، مربوط مترجم می‌باشند. دایرکتیوها شما قادر می‌سازند که محلی حافظه مشخص کنید، متغیرهایی تعریف نمایید. کل، نقشی که مترجم کنار اجرای دستورات مشخص شده باید ایفا کند نشان می‌دهند. یک نقطه ویرگول ( )یا ممیز دوبل ( // ) یک عبارت توصیفی مشخص می‌کنند که مترجم آنها چشم‌پوشی می‌کند.

مترجمی که توسط سیپرس ارائه می‌شود، cyasm.exe قابل اجرا پنجره داس[2] می‌باشد. سیپرس مرجع‌ها راهنمای استفاده برای کاربرانی تهیه کرده است که چگونگی استفاده مترجم شرح می‌دهد.

مترجم دو مجموعه دستور مشابه برای CPU‌های سری A سری‌B پشتیبانی می‌کند. تراشه‌های enCoRo سری B هستند. تراشه‌های قدیمی‌تر سیپرس، 63001، سری A بودند همة دستورات بجز بعضی آنها پشتیبانی می‌کنند.

کدهای مترجم

راهنمای کاربران دارای توضیحات کاملی کد اسمبلی دایرکتیوهاست اینجا برخی جزئیات آن تکرار می‌شود. جدول 1-8 خلاصه‌ای کدها می‌باشد جدول 2-8 خلاصه‌ای دایرکتیوها نشان می‌دهد. کدهای ماشین تراشه دستور ترجمه شده است.


جدول 1-8: متجرم Cyasm دستور اسمبلی برای enCoRo پشتیبانی می‌کند

نوع دستور

دستور

توضیح

تابعهای منطقی ریاضی

ADD

اضافه کردن نقلی

ADC

اضافه کردن همراه نقلی

AND

AND کردن بیتی

ASL

انتقال چپ منطقی

ASR

انتقال راست منطقی

CMP

 مقایسه

CPL

متمم کردن آکومولاتور

DEC

کاهش

INC

افزایش

OR

OR کردن بیتی

RLC

چرخش چپ همراه نقلی

RRC

چرخش راست همراه نقلی

SUB

 تفریق نقلی

SBB

تفریق همراه نقلی

XOR

OXR بیتی

پرشهای برنامه کنترلی

GALL

فراخوانی تابع

HALT

اجرای ایست

RETI

بازگشت وقفه

JACC

 پرش آکومولاتور

JC

پرش صورتی که نقلی یک باشد

JMP

پرش

JNC

پرش صورتی که نقلی صفر باشد

JNZ

پرش اگر صفر نباشد

JZ

پرش اگر صفر باشد

RET

بازگشت

XPAGE

صفحه حافظه



[1]- Directive

[2]- Dos


نظرات 0 + ارسال نظر
امکان ثبت نظر جدید برای این مطلب وجود ندارد.