دانلود مقاله و پروژه و پایان نامه دانشجوئی

دانلود مقاله و پروژه و پایان نامه دانشجوئی

دانلود مقاله و پروژه و پایان نامه دانشجوئی

دانلود مقاله و پروژه و پایان نامه دانشجوئی

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

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

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

 

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

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

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

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

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

کدهای مترجم

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

 

جدول 1-8: متجرم Cyasm از 37 دستور اسمبلی برای 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 + ارسال نظر
امکان ثبت نظر جدید برای این مطلب وجود ندارد.