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

تعداد صفحات: 46 فرمت فایل: word کد فایل: 9749
سال: مشخص نشده مقطع: مشخص نشده دسته بندی: مهندسی کامپیوتر
قیمت قدیم:۱۹,۵۰۰ تومان
قیمت: ۱۴,۰۰۰ تومان
دانلود مقاله
  • خلاصه
  • فهرست و منابع
  • خلاصه تحقیق مقاله اصول برنامه‌ نویسی اسمبلی

    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 دستور ترجمه شده است.

     

    نوع دستور  دستور توضیح
    تابعهای منطقی و ریاضی  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 صفحه حافظه
         
         
    نوع دستور دستور توضیح
    انتقال داده INDEX خواندن جدول
      IORD خواندن از I/O
      IOWR نوشتن بر I/O
      IOWX مشخص کردن نوشتن I/O
      MOV انتقال
      POP انتقال داده از پشته به آکومولاتور
      PUSH انتقال داده از آکومولاتور به پشته
      SWAP SWAP
    بقیه DI  غیر فعال کردن وقفه‌ها
    EI فعال کردن وقفه‌ها
    NOP بدون عمل

     

    این دستورات، تابعهای اصلی ریاضی و منطقی، پرسشهای برنامه و کپی داده‌ها از رجیسترها، پورت‌ها و RAM را انجام می‌دهند، دو بیت پرچ نقلی[1] و صفر اطلاعات بیشتری را ارائه می‌دهند. مانند اینکه نتیجه دستور add دارای سرریز[2] بوده است یا خیر یا اینکه نتیجه صفر شده است یا نه.

    تراشه از سه حالت آدرس دهی پشتیبانی می‌کند که چگونگی استفاده از عملوند را برای دستور مشخص می‌کند. همه دستورات از هر سه حالت  آدرس دهی پشتیبانی نمی‌کنند.

    در آدرس دهی سریع، دستورات از مقدار عملوند مستقیماً استفاده می‌کنند. این دستور از آدرس دهی سریع برای جمع کردن h 60 با مقدار آکومولاتور استفاده می‌کند.

    Add   A/       60h

    در آدرس دهی مستقیم، دستور با عملوند شبیه به آدرس رفتار می‌کند و از مقداری که در آن آدرس ذخیره شده استفاده می‌نماید. این دستور از آدرس دهی مستقیم برای جمع کردن مقداری که در آدرس h60 از RAM نوشته شده با محتویات آکومولاتور استفاده می‌کند.

     Add     A/      [60h]

    در آدرس دهی شاخصی، دستور از داده‌ای استفاده می‌کند که در آدرس حاصل از افزودنه یک مقدار به رجیسترX قرار گرفته است. آدرس دهی شاخصی برای کپی کردن یک بلاک از داده مفید می‌باشد. رجیستر X آدرس آغاز بلاک را در خود ذخیره می‌نماید. کد مقداری را به محتوای رجیستر X اضافه می‌کند تا آدرس بایتی که می‌خواهد کپی شود را به دست آورد. با افزایش این مقدار در هرکپی، کد می‌تواند یک بلاک داده را کپی کند.

    استفاده از مترجم

    مترجم یک برنامه تحت داس می‌باشد. این دستور:

    cyasm test.asm

    فایل ‏test.asm را اسمبل می‌کند.

    مترجم سه فایل ایجاد می‌کند:

    test.asm که کدهای اسمبل شده‌ای برای استفاده در کیت ارتقا هستند، شما می‌توانید از این فایل برای بارگذاری کدها از کامپیوتر بهRAM برد ارتقا استفاده کنید.

  • فهرست و منابع تحقیق مقاله اصول برنامه‌ نویسی اسمبلی

    فهرست:

    ندارد
     

    منبع:

    ندارد

تحقیق در مورد تحقیق مقاله اصول برنامه‌ نویسی اسمبلی, مقاله در مورد تحقیق مقاله اصول برنامه‌ نویسی اسمبلی, تحقیق دانشجویی در مورد تحقیق مقاله اصول برنامه‌ نویسی اسمبلی, مقاله دانشجویی در مورد تحقیق مقاله اصول برنامه‌ نویسی اسمبلی, تحقیق درباره تحقیق مقاله اصول برنامه‌ نویسی اسمبلی, مقاله درباره تحقیق مقاله اصول برنامه‌ نویسی اسمبلی, تحقیقات دانش آموزی در مورد تحقیق مقاله اصول برنامه‌ نویسی اسمبلی, مقالات دانش آموزی در مورد تحقیق مقاله اصول برنامه‌ نویسی اسمبلی ، موضوع انشا در مورد تحقیق مقاله اصول برنامه‌ نویسی اسمبلی
ثبت سفارش
عنوان محصول
قیمت