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

Word 57 KB 432 44
مشخص نشده مشخص نشده کامپیوتر - IT
قیمت قدیم:۲۴,۰۰۰ تومان
قیمت: ۱۹,۸۰۰ تومان
دانلود فایل
  • بخشی از محتوا
  • وضعیت فهرست و منابع
  • 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 دارای سرریز[3] بوده است یا خیر یا اینکه نتیجه صفر شده است یا نه.

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

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

    Add   A/       60h

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

     Add     A/      [60h]

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

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

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

    cyasm test.asm

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

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

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

    در اینجا بخشی از فایل rom، هنگامی که در وایرشگر متنی باز می‌شود نشان داده شده است:

    24

    81

    15

    80

    10

    80

    99

    80

    10

    80

    85

    80

    99

    80

    8C

    80

    21

    2A

    2D

    20

    1E

    20

    1A

    2D

    37

    27

    20

    A0

    00

    16

    37

    1A

    در قالب‌بندی هگزاسکی، هر بایت با دو کد اسکی نمایش داده می‌شود که هر کد یک کاراکتر هگزادسیمال را نشان می‌دهد. مثلاً، بایت h 80 با کدهای اسکی h 38 برای 8 و h30 برای صفر نمایش داده می‌شود. استفاده از قالب‌بندی هگزاسکی شما را قادر می‌سازد که به راحتی در ویرایشگر متنی مقادیر بایت را ببینید (مثلاً 80). وقتی که کد در RAM برد ارتقا ذخیره شود. RAM شامل بایت‌های باینری می‌شود که توسط بایت‌های هگزاسکی نشان داده شده است. مثلاً، h 80 به 10000000 در باینری ترجمه می‌گردد.

    ‏test.hex کدهای اسمبلی در قالب‌بندی هگزاینتل می‌باشد. بسیاری از برنامه‌ریزان EPROMها از جمله Hi-Lo شرکت سیپرس، از این قالب‌بندی پشتیبانی می‌کنند. کیت ارتقاء می‌تواند به جای قالب‌بندی rom. از این قالب‌بندی استفاده کند. قالب‌بندی هگزاینتل از کاراکترهای هگزاسکی و اطلاعات آدرس دهی استفاده می‌کند که در اینجا داده‌هایی که در یک خط فایل hex.* موجود است را می‌بینید.

    test.hex یک فایل لیستی است که توسط مترجم ایجاد می‌گردد. این فایل هر خط کد اسمبلی و توضیحات را نشان می‌دهد. در ادامه آنها، کدهای برنامه معادل و آدرسی که باید در آنجا ذخیره شوند نمایش داده می‌شود. وقتی که از برنامه‌های نمایشی استفاده می‌کنیم. این فایل لیستی، مفید است. مثلاً اگر می‌خواهید که در یک نقطه اجرای برنامه را ثابت کنید، می‌توانید از این فایل لیستی برای پیدا کردن آدرس وابسته به آن خط استفاده کنید.

    ستون سمت چپ، آدرس در حافظه برنامه را مشخص می‌کند. این آدرس وقتی که خط، فقط شامل توضیح یا برچسب است تغییر نمی‌کند. دو ستون بعدی بایت‌های ذخیره شده در هر آدرس می‌باشد. مثلاً، در محل CD03، مقدار Ah 2 کدی برای iowr و h 14 نشان دهنده رجیستری است که می‌خواهیم روی آن نوشته شود. ستون بعدی تعداد سیکل کلاک است که دستور استفاده می‌کند (5). ستونهای سمت راست نیز شامل کدهای اسمبلی و توضیحات می‌باشند.

  • فهرست:

    ندارد.


    منبع:

    ندارد.

تاريخچه ويژوال بيسيک حدودسي و پنج سال قبل در کالج دارتموث زباني پا به عرصه وجود گذاشته برنامه نويسي را از تسلط حرفهايها خارج کرد و به مبتديان هم امکان داد تا وارد دنياي شيرين برنامه نويسي شوند ؛ اين زبان بيسيک نام گرفت. زبان بيسيک از ساير زبانها

امروزه با توجه به فراواني ويروس هاي کامپيوتري از يک طرف و صدمات حاصل از انتشار آنها از سويي ديگر شناخت و نحوه مبارزه با آنها بسيار حائز اهميت مي باشد . در اين مقاله آشنايي با نحوه عملکرد ويروسهاي کامپيوتري بيان شده است امروزه با توجه به تعدد ويروس

نانوتکنولوژی چیست؟ نانوتکنولوژی تولید کارآمد مواد و دستگاهها و سیستمها با کنترل ماده در مقیاس طولی نانومتر، و بهره برداری از خواص و پدیده های نوظهوری است که در مقیاس نانو توسعه یافته اند. یک نانومتر چقدر است؟ یک نانومتر یک میلیاردم متر (9-m 10) است. این مقدار حدوداً چهار برابر قطر یک اتم است. مکعبی با ابعاد 5/2 نانومتر ممکن است حدود 1000 اتم را شامل شود. کوچکترین IC های امروزی ...

اصولاَ ساختار و مشخصات داخلي CPU و همچنين ثبات‌ها، قابليت‌هاي هر کامپيوتري، در کاتالوگ سيستم کامپيوتري مربوطه وجود دارد. در کاتلوگ مذکور ليست تمام دستورات، فرمت‌هاي مختلف دستورها، کد اجرايي و جزئيات هر دستور نوشته شده است بررسي و تجزيه و تحليل دستور

سيستم عامل چيست؟ سيستم عامل قسمت مهم هر سيستم کامپيوتري است يک سيستم کامپيوتري بصورت کلان مي تواند به چهار جزء تقسيم شود: سخت افزار، سيستم عامل،‌ برنامه هاي کاربردي و کاربرها. سخت افزار که شامل واحد پردازش مرکزي (CPU)، حافظه، دستگاه هاي ورودي و خروج

در اين قسمت چشم اندازي بر ويندوز 2000 خواهيم داشت و براي اختصار ما ويندوز 2000 را با عنوان W2K ياد مي کنيم. تاريخچه: داستان با يک سيستم عامل خيلي متفاوت شروع مي شود که بوسيله با ميکروسافت براي کامپيوترهاي شخصي توسعه يافته مرسوم به يا . ورژن اوليه آن

پاسکال بلز پاسکال رياضيدان، فيلسوف و فيزيکدان فرانسوي 19 ژوئن 1623 در کلرمون واقع در مرکز فرانسه – 19 اوت 1662 در پاريس، به دنيا آمد. کسي که او را «پاک ترين موجود جهان» ناميده اند. پدرش رياست اداره ماليات کلرمون را به عهده داشت. خواهرش ژيلبرت زن

یک نانومتر چقدر است؟ یک نانومتر یک میلیاردم متر (10-9 m) است. این مقدار حدودا چهار برابر قطر یک اتم است. مکعبی با ابعاد 2.5 نانومتر ممکن است حدود 1000 اتم را شامل شود. کوچکترین آی سیهای امروزی با ابعادی در حدود 250 نانومتر در هر لایه به ارتفاع یک اتم ، حدود یک میلیون اتم را در بردارند. در مقایسه یک جسم نانومتری با اندازه‌ای حدود 10 نانومتر ، هزار برابر کوچکتر از قطر یک موی انسان ...

نانوتکنولوژی نانو تکنولوژی با استفاده از ساختارهای ملکولی پیچیده مانند سلول انسان و 100 برابر محکم تر از فولاد, آغازگر یک تحول صنعتی خواهد بود. به گزارش بخش خبر شبکه فن آوری اطلاعات ایران، به نقل ازجام جم آنلاین، این تکنولوژی جدید, از طریق دستکاری اتم ها, محصولات جدید وروش ساخت آنها را تغییر می دهد, به طوری که مواد حاصل, کوچکتر, محکم و سبک باشند. تاکنون تنها محصولات اندکی بر این ...

تاريخچه Linux در سال 1991، يکي از دانشجويان دانشگاه هلسينکي به نام Linus Torvalds که از سيستم عامل موجود ناراضي بود به فکر افتاد که از سيستم عامل براي کارهاي خود استفاده کند. Unix يک سيستم عامل قدرتمند محسوب مي شد، ولي قيمت ان گران بود.بنابر اين To

ثبت سفارش
تعداد
عنوان محصول