تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 2 از 4 اولاول 1234 آخرآخر
نمايش نتايج 11 به 20 از 32

نام تاپيک: آموزش Assembly

  1. #11
    داره خودمونی میشه Blacklord's Avatar
    تاريخ عضويت
    May 2006
    محل سكونت
    اصفهان
    پست ها
    136

    پيش فرض

    سومین عکس براتون لود میشه؟ بعد از واحد کنترل؟
    Last edited by Blacklord; 14-02-2008 at 11:29.

  2. #12
    پروفشنال mohsen_sir's Avatar
    تاريخ عضويت
    Sep 2007
    پست ها
    822

    پيش فرض

    آره ضمناً بازم ممنون

  3. #13
    پروفشنال mohsen_sir's Avatar
    تاريخ عضويت
    Sep 2007
    پست ها
    822

    پيش فرض

    سوالت خيلي سخته مخصوصا بره ما تازه كارا
    ولي فكنم rd يه چيزي بره خوندن , wr يه چيزي بره نوشتن باشه

  4. #14
    داره خودمونی میشه Blacklord's Avatar
    تاريخ عضويت
    May 2006
    محل سكونت
    اصفهان
    پست ها
    136

    پيش فرض

    درسته، rd پردازنده رو در حالت خواندن قرار میده و wr در حالت نوشتن. و سوال دوم، عمل تفریق در پردازنده چطور انجام میشه؟؟

  5. #15
    داره خودمونی میشه Blacklord's Avatar
    تاريخ عضويت
    May 2006
    محل سكونت
    اصفهان
    پست ها
    136

    پيش فرض

    یه تلاشی بکنید! پست نمیدمها!!!!

  6. #16
    پروفشنال martin_superhuman's Avatar
    تاريخ عضويت
    Dec 2006
    محل سكونت
    بهبهان
    پست ها
    604

    پيش فرض

    درسته، rd پردازنده رو در حالت خواندن قرار میده و wr در حالت نوشتن. و سوال دوم، عمل تفریق در پردازنده چطور انجام میشه؟؟
    از عدد منفی مکمل دو گرفته میشه و با عدد بالایی جمع میشه.این هم به این دلیله که اگه بخوایم از تفریق عادی استفاده کنیم نیاز به یک مدار جداگانه است.این عمل تفریق با استفاده از مکمل با توجه به این که عدد بزرگ بالا باشه یا پایین هم قواعدی داره که زحمت توضیحش هم با شما.

  7. #17
    اگه نباشه جاش خالی می مونه mst_ab's Avatar
    تاريخ عضويت
    Oct 2007
    محل سكونت
    مشهد
    پست ها
    326

    پيش فرض

    آقا چی شد بقیش!!
    خواب موندی عزیز!!

  8. #18
    داره خودمونی میشه SJDVampire's Avatar
    تاريخ عضويت
    Jun 2007
    پست ها
    44

    1

    سلام
    راستش من چند وقتیه دنبال اسمبلی هستم ولی چیز خوبی پیدا نکردم ولی با دیدن این تاپیک خیلی خوشحال شدم و خیلی هم دوست دارم یاد بگیرم خیلی خیلی ممنون.
    دوست من شما زیاد ناراحت نشو شاید بعضی از دوستان به دلیل بی حوصلگی پست نمیدن ولی مطمئن باش کارات برای خیلی ها ارزشمند و قابل تقدیره
    از قدیم گفتن کاری که شروع کردی رو هیچ وقت نیمه کاره نذار.
    راستی من یه سوال دارم اگه میشه لطف کنین جواب بدین : راستش من خیلی دوست دارم رو سیستم های موبایل کار کنم ،میشه بگید چجوری باید بفهمم که cpu موایل مورد نظرم چیه و چه نوع اسمبلی لازم دارم؟
    یه چیز دیگه :اگه میشه یکم راجع به disassembler هم توضیح بدین.
    خیلی ممنونم.

  9. #19
    داره خودمونی میشه Blacklord's Avatar
    تاريخ عضويت
    May 2006
    محل سكونت
    اصفهان
    پست ها
    136

    پيش فرض

    سلام
    راستش من چند وقتیه دنبال اسمبلی هستم ولی چیز خوبی پیدا نکردم ولی با دیدن این تاپیک خیلی خوشحال شدم و خیلی هم دوست دارم یاد بگیرم خیلی خیلی ممنون.
    ...
    دوست من شما زیاد ناراحت نشو شاید بعضی از دوستان به دلیل بی حوصلگی پست نمیدن ولی مطمئن باش کارات برای خیلی ها ارزشمند و قابل تقدیره
    ...
    یه چیز دیگه :اگه میشه یکم راجع به disassembler هم توضیح بدین.
    خیلی ممنونم.
    خواهش میکنم قربان، من کار خاصی نکردم، خوشحال میشم اگه کارم به درد کسی بخوره.
    در مورد disassemblers تو صفحه ی اول : کاربرد اسمبلی یه کم توضیح دادم، اگه به دردتون بخوره..
    میتونید برید
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    سرچ کنید ببینید چی هست...

    آقا چی شد بقیش!!
    خواب موندی عزیز!!
    نه قربان، بنده بیدارم، منتظر بودم ببینم شما کی بیدار میشید!!!
    شرمنده من 24 واحد گرفتم این ترم نمیتونم زود به زود آپدیت کنم.

  10. #20
    داره خودمونی میشه Blacklord's Avatar
    تاريخ عضويت
    May 2006
    محل سكونت
    اصفهان
    پست ها
    136

    11 مبحث پنجم: پردازنده های اینتل: قسمت اول:

    پردازنده های اینتل:
    قبلا گفتم هر cpu اسمبلی مخصوص خودش رو داره. دلیلش هم اینه که وقتی شما اسمبلی مینویسید دارید مستقیما با یک سری امکانات cpu کار میکنید. مثلا در cpu حافظه هایی هست به نام ثبات (Register) ، پس لازمه اطلاعاتی راجع به اون cpu داشته باشید.
    کامپیوترای شخصی که ما داریم حتی AMD ، از معماری Intel استفاده میکنند. هر چی جلوتر رفت ، فقط همون چیزی که بود رو گسترش دادند. پردازنده ای که من اسمبلیشو میگم 8086 هستش، تفاوتش با کامپیوتر شما اینه که معماری کامپیوتر شما 32بیتی یا 64بیتی هستش، ولی معماری 8086 ، 16بیتیه. اسمبلی 8086 روی کامپیوتر شما هم جواب میده ، برای استفاده از امکانات جدید پردازندتون اول برنامه باید تعریف کنید که برنامه رو مثلا برای 80386(Pentium) مینویسید تا دستورات مربوطه فعال بشند.

    معماری داخلی 8086:


    ثبات های 8086:

    الف) ثباتهاي همه منظوره:
    ثباتهاي همه منظوره DX و CX ، BX و AX ثباتهاي همه منظوره هستند كه براي مقاصد مختلف قابل استفاده هستند . ويژگي منحصر به فرد اين ثبات ها قابليت استفاده از آنها به صورت 8 بيتي و 16 بيتي است . مثلاً ثبات 16 بيتي AX شامل يك بخش AH ( هشت بيت بالایی ) و يك بخش AL ( هشت بيت پایینی ) است كه مي توان به هر بخش با نام آن مراجعه كرد.


    در زير با اين ثباتها به صورت مختصر آشنا مي شويم:

    ثبات AX یا Accumulator :
    ثبات انباره اصلي است و در دستورالعملهاي ورودي /خروجي و محاسباتي مورد استفاده قرار مي گيرد.

    ثبات BX یا Base :
    اين ثبات به عنوان يك انديس براي توسعه آدرس دهي و مراجعات جدولي به حافظه به كار مي رود. كاربرد ديگر آن در انجام محاسبات است.

    ثبات CX یا Counter :

    از اين ثبات معمولاً براي شمارش دفعات تكرار يك حلقه و نيز در محاسبات استفاده مي شود.

    ثبات DX یا Data :
    از اين ثبات در عمليات ورودي /خروجي به عنوان آدرس پورت و نيز در عملياتهاي ضرب و تقسيم با اعداد بزرگ استفاده مي شود.

    ب) ثبات پرچم:
    در هر پردازنده يك ثبات به نام پرچم وجود دارد كه بيتهاي آن ، وضعيت پردازنده بعد از انجام يك عمل را نشان مي دهند. بيتهاي ثبات پرچم 16 بیتی 8086 را در زیر میبینید:

    بيتهاي خالي در 8086 تعريف نشده اند. در زير شرح مختصر بيتهاي تعريف شده را مي بينيد.

    بیت C یا Carry:
    بيت رقم نقلي است . چنانچه يك عمل محاسباتي ، توليد رقم نقلي كند (مثلاً جمع دو عدد بدون علامت كه توليد سرريز كند ) اين بيت يك مي شود . به علاوه اين بيت حاوي رقم نقلي در عمليات منطقي شيفت نيز مي باشد.

    بیت D یا Direction :

    بيت جهت است و توسط برنامه نويس براي كنترل جهت اعمال رشته اي مانند مقايسه يا انتقال رشته مقداردهي مي شود.

    بیت P یا Parity :

    بيت توازن است و براي كنترل صحت اطلاعات 8 بيت پاييني نتيجه يك عمل از طريق توازن فرد به كار مي رود.

    بیت A یا Auxiliary Carry :
    بيت رقم نقلي كمكي است و چنانچه در محاسبات 8 بيتي رقم نقلي در بيت سوم ايجاد شود، برابر يك مي شود. از اين بيت در اعمال رياضي BCD استفاده مي شود.

    بیت Z یا Zero :
    بيت نشانگر نتيجه صفر است . چنانچه نتيجه يك عمل محاسباتي يا منطقي صفر باشد، اين بيت برابر يك مي شود.

    بیت S یا Sign :
    بيت علامت و منعكس كننده بيت علامت نتيجه آخرين عمل پردازنده است و از آن معمولاً براي تعيين علامت نتيجه استفاده مي شود.

    بیت T یا Trap :
    بيت اجراي قدم به قدم است . چنانچه اين بيت توسط برنامه نويس يك شده باشد، پردازنده بعد از اجراي هر دستور دچار وقفه خاصي مي شود كه نتيجه آ ن اجراي قطعه برنامه خاصي است كه توسط برنامه نويس در مكان خاصي از حافظه نوشته شده و شامل دستوراتي براي نمايش محتويات ثباتهاي داخلي و حافظه است.پس از استفاده كاربر از نتيج ه اي ن كار، با صدور فرماني اجراي برنامه ادامه مي يابد. از اين بيت براي اشكال زدايي برنامه ها به كار مي رود.
    بیت I یا Interrupt :
    بيت وقفه است و چنانچه توسط برنامه نويس صفر شده باشد، پردازنده به وقفه ها پاسخ نمي دهد.

    بیت O یا Overflow :
    بيت سرريز است و در صورت ايجاد سرريز در اعمال محاسباتي علامتدار، يك مي شود.

    ج) ثباتهاي آدرس دهي:
    مجموع ثباتهاي سگمنت (SS, DS, CS و ES ) و ثباتهاي اشاره گر (IP, SP, BP) و ثباتهاي انديس (SI و DI) كه همگي 16 بيتي هستند، براي آدرس دهي حافظه به كار مي روند.



    پيش از مرور عملكرد آنها، نحوه مراجعه به حافظه در پردازنده 8086 را بررسي مي كنيم.

    سگمنتهاي حافظه:
    هر برنامه چند بخش داره که در حافظه ذخیره میشه. براي مر اجعه به حافظه در 8086 (و پردازنده هاي بعدي اينتل)، حافظه به صورت قطعه هايي در نظر گر فته مي شود كه سگمنت ناميده مي شوند . اندازه يك سگمنت حافظه حداكثر 64 كيلوبايت است.

    چهار نوع سگمنت حافظه وجود دارد كه آنها را در ذيل بررسي مي كنيم:

    سگمنت كد (Code Segment):
    دستورالعملهاي زبان ماشين كه بايد توسط پردازنده اجرا شوند در ناحيه اي از حافظه به نام سگمنت كد ذخيره مي شوند؛ يعني اولين دستور اجرايي در ابتداي اين سگمنت قرار مي گيرد . اگر كد برنامه بيش از 64 كيلوبايت باشد، بايد چند سگمنت كد در حافظه تعريف شود.

    سگمنت داده (Data Segment):
    داده هاي مورد نياز برنامه در اين سگمنت قرار مي گيرند. يك برنامه مي تواند چند سگمنت داده داشته باشد.

    سگمنت پشته (Stack Segment):
    اطلاعاتي كه بايد پيش از فراخواني زيربرنام ه ه ا در حافظه ذخيره شود تا بعد از بازگشت به برنامه اصلي بازيابي شود، در اين سگمنت ذخيره مي شود.

    سگمنت اضافي (Extra Segment):
    اين سگمنت در اعمال رشته اي مورد استفاده قرار مي گيرد.

    ثباتهاي سگمنت:
    براي مراجعه به محتويات يك سگمنت بايد آدرس آغاز آن سگمنت را بدانيم . ثباتهاي 16 بيتي سگمنت براي همين منظور به كار مي روند:
    ثبات CS آدرس ابتداي سگمنت كد، ثبات DS آدرس ابتداي سگمنت داده، ثبات SS آدرس ابتداي سگمنت پشته و ثبات ES آدرس ابتداي سگمنت اضافي را در خود نگه مي دارند.
    توجه به يك نكته ضروري است:
    چون گذرگاه آدرس 8086، 20 بيتي است، قاعدتاً بايد آدرس آغاز سگمنت ها كه مكانهايي در حافظه هستند نيز 20 بيتي باشد؛ پس چگونه آدرس آغاز يك سگمنت كه 20 بيتي است در ثبات 16 بيتي سگمنت ذخيره مي شود ؟!
    آدرس آغاز يك سگمنت در حافظه كه آدرسي 20 بيتي است، بايد هميشه آدرسي بخشپذير بر 16 باشد؛ مثل ، 2A320H ، F23E0H ، 00000H یا ... به همين دليل هميشه 4 بيت پاييني آدرس آغاز سگمنت صفر است و نيازي به ذخيره ندارد . مثلاً وقتي گفته مي شود آدرس آغاز سگمنت كد كه در CS ذخيره مي شود، 2B3FH است، در واقع منظور آدرس 20 بيتي 2B3F0H است. بنابراين براي دستيابي به آدرس واقعي سگمنت، بايد آن را 4 بيت به سمت چپ شيفت دهیم.



    ثباتهاي اشاره گر و انديس:

    ثباتهاي 16 بيتي اشاره گر و انديس حاوي فاصله دستورات و داد ه ها از مبدأ سگمنت هستند كه اصطلاحاً آفست ناميده مي شود. منظور از آفست، فاصله آدرس داده يا دستورالعمل از ابتداي سگمنت آن است.

    پرسش) با توجه به 16 بيتي بودن ثباتهاي آفست، نشان دهيد كه حداكثر اندازه يك سگمنت 64 كيلوبايت است.

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •