فایل اصول برنامه نويسي اسمبلي
دسته بندي :
کالاهای دیجیتال »
رشته کامپیوتر و IT (آموزش_و_پژوهش)
CPU
تراشه enCorRe دستور پشتيباني ميكند.
همه برنامهها بايد از اين 37 دستور استفاده كنند. سيپرس يك مترجم مجاني ارائه ميدهد
كه كدهاي اسمبلي را كه شما مينويسيد به فايلهاي موضوع، كه به منظور برنامهريزي
در EPROM تراشه تهيه ميشوند،
تبديل ميكند. اگر ترجيح دهيد كه در C
برنامهنويسي كنيد، سيپريس يك مفسر C
نيز پيشنهاد ميكند.
اگر با برنامهنويسي
اسمبلي ميكروكنترلر آشنايي داشته باشيد، برنامهنويسي براي enCoRo
نيز مشابه همان است. اما اگر با برنامهنويسي در
بيسيك و C آشنا هستيد، بايد
بدانيد كه در برنامهنويسي كدهاي اسمبلي بسياري از عملگرهاي زبانهاي سطح بالا
موجود نيست در اينجا ديگر حلقههاي While يا for
يا انواع مختلف متغيرها وجود ندارد. اما براي تراشهاي مانند enCoRo كه به منظور
كارهاي نمايشي و كنترلي غير پيچيده طراحي شده است، استفاده از كدهاي اسمبلي عملي
است. براي برنامههاي كوتاه، كه به سرعت اجرا ميشوند احتياجي به خريد مفسر نيست.
اصول برنامهنويسي
اسمبلي
برنامهنويسي
اسمبلي شامل يك مجموعه از دستورات است كه هر كدام مربوط به كدهاي ماشيني هستند كه
تراشه از آنها پشتيباني ميكند. مثلاً دستور iord، كه محل io
را ميخواند به كد h29
مربوط است. به جاي به خاطر آوردن h
29، شما ميتوانيد iord
را بنويسيد، و مترجم معادل سازي را براي شما انجام خواهد داد. دستور iord همچنين احتياج به يك عملوند
دارد كه محل خواندن را مشخص كند. به عنوان مثال 01h
iord پورتي با آدرس h 10 را ميخواند.
زبان برنامهنويسي
اسمبلي همچنين ميتواند شامل دايركتيو و
توضيحات باشد. دايركتيوها دستوراتي هستند كه به جاي اينكه مربوط به CPU باشند، مربوط به مترجم ميباشند.
دايركتيوها شما را قادر ميسازند كه محلي از حافظه را مشخص كنيد، متغيرهايي تعريف
نماييد. در كل، نقشي كه مترجم در كنار اجراي دستورات مشخص شده بايد ايفا كند را
نشان ميدهند. يك نقطه ويرگول ( : )يا مميز دوبل ( // ) يك عبارت توصيفي را مشخص
ميكنند كه مترجم از آنها چشمپوشي ميكند.
مترجمي كه توسط
سيپرس ارائه ميشود، cyasm.exe
قابل اجرا در پنجره داس ميباشد.
سيپرس مرجعها و راهنماي استفاده براي كاربراني را تهيه كرده است كه چگونگي
استفاده از مترجم را شرح ميدهد.
مترجم از دو
مجموعه دستور مشابه براي 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
|
صفحه حافظه
|