فرمت وُرد
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
صفحه حافظه