علی اخباری

خاطرات، تجربیات و عقاید

علی اخباری

خاطرات، تجربیات و عقاید

علی اخباری

وب نوشته های علی اخباری

۳ مطلب با کلمه‌ی کلیدی «اسمبلی» ثبت شده است

  • ۰
  • ۰

هر سیستم کامپیوتری بسته به معماری خود دارای دسته‌های مختلفی از ثباتها می‌باشد در سیستم‌های مبتنی بر 8086 این ثباتها عبارتنداز:

1.ثبات‌های عمومی  2.ثبات سگمنت    3.ثبات اندیس      4.ثبات وضعیت و کنترل

ثبات‌های عمومی:

AX : 

BX :

CX :

DX :

 

ثبات‌های سگمنت:

 

برای کاربرد حافظه در سیستم‌ها تقسیم‌بندی خاصی بنام سگمنت صورت می‌گیرد که قطعه‌هایی از حافظه(RAM) را برای اجرای مثلا نگه‌داری کدها یا نگه‌داری متغییرهای تعریف شده و... رزرو می‌کنیم. آدرس شروع این قطعه‌ها اولا بر 16 تقسیم پذیر است. ثانیا نقاط شروع این قطعه کدها باید در ثبات‌های سگمنت قرارگیرند تا در مواقع آدرس‌دهی به سرعت در دسترس باشند.

تعریف آدرس افست: آدرس یک متغییر نسبت به آدرس شروع سگمنت داده را، آدرس افست می‌گوییم.

مثلا برای بدست ‌آوردن آدرس یک داده تعریف ‌شده در سگمنت ‌داده باید محتوای ذخیره شده در سگمنت داده را با آدرس افست داده جمع کنیم تا آدرس واقعی متغییر در حافظه بدست آید.

ثبات‌های اندیس:

  1. BP  : حاوی افست مربوط به پشته است و اگر پارامتری از طریق پشته فراخوانی شود از طریق آن فراخوانی می‌شود.
  2.  SP : افست بالای پشته را نشان می‌دهد.
  3. SI 4. DI : در عملیات با رشته‌ها SI رشته مبدا، و DI رشته مقصد را نشان می‌دهد.

در ابتدای برنامه پس از تعریف سگمنت‌ها باید آن‌ها را به ثبات آن سگمنت مرتبط کنیم. برای این منظور از راهنمای ASSUME به صورت زیر زیر استفاده می‌شود:

Assume   cs : سگمنت کد , ds : سگمنت داده , es :سگمنت اضافی , ss : سگمنت پشته

 

   وقتی دستور ASSUME سگمنت‌هارا با ثبات‌های سگمنت مربوط کرد، اسمبلر می‌تواند آدرس‌های آفست عناصر موجود در سگمنت کد، سگمنت داده‌ها و سگمنت پشته راتعیین می‌کند. به عنوان مثال، وقتی stacksg به ثبات ss نسبت داده می‌شود، پردازنده از آدرس موجود در ss برای تعیین آدرس پشته استفاده می‌کند.

برای دانلود راهنمای کامل ثبات ها در سیستم های کامپیوتری کلیک کنید

  • علی اخباری
  • ۰
  • ۰
  • علی اخباری
  • ۰
  • ۰

برای دانلود پروژه پیاده سازی ماشین حساب با اسمبلی اینجا را کلیک کنید.

 

شرح پروژه

قابل توجه دانشجویان درس مبانی کامپیوتر و برنامه نویسی

 

موضوع : برنامه  ماشین حساب برای اعداد بزرگ

اعمال ماشین حساب مورد نظر شامل جمع و تفریق و ضرب در اندازه های زیر است.

دراین ماشین حساب اندازه اعداد تا حداکثر 25 رقم صحیح و 4 رقم اعشاراست.

در ذخیره اعداد اعشاری حالت نماد علمی لازم نیست بلکه بصورت ساده استفاده شود.

راهنمایی : برای این منظور آرایه 30 درایه ای بگیرید و 4 خانه برای اعشار و 25 خانه برای قسمت صحیح و یک خانه برای علامت آن درنظر بگیرید و هر رقم را دریک خانه قرار دهید و اگر عدد قسمت اعشار نداشت، قسمت اعشار را صفر قرار دهید. در ضمن تعداد ارقام عدد را نیز باید نگهداری کنید.

برای جواب عمل ریاضی آرایه ای با طول حداکثر 40 خانه که 35 خانه برای قسمت صحیح و 4 قسمت اعشاری و یک خانه برای علامت عدد در نظر بگیرید

در قسمت ضرب طول دو عدد را بررسی کنید و در صورت بزرگ بودن آن پیغام خطا تولید کنید

هیچ گرافیکی در خروجی لازم نیست. (شبیه ماشین حساب های موبایل های ساده)

نمونه ای برای خروجی :

+12345678901234567890.0123

+

+98765432109876543210.0321

---------------------------------------

111111111011111111100.0444

  • علی اخباری