آدرس فیزیکی در پردازنده 80 86

the_king

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

با استفاده از ادرس افست در سوال بالا گزینه "ب" اتفاق میفته ؟
در پردازنده 8086 سگمنت و آفست که هر کدوم 16 بیتی هستند، کنار هم یک آدرس 20 بیتی میسازند، اینطوری که سگمنت 4 بیت بالاتر از آفست قرار میگیره و با هم جمع می شوند. 4 بیت در مبنای 16 معادل یک رقم ئه. یعنی موقع جمع کردن شون انگار سمت راست سگمنت یک 0 نامرئی اضافه کرده اید.
مثلا اگر سگمنت 0X1234 باشه و آفست 0X8765 ، آدرس 20 بیتی میشه :
کد:
0X1234 : 0X8765
= 1234
 + 8765
= 1AAA5
در گزینه الف، جمع سگمنت CS و آفست IP میشه آدرس 0X143E که آدرس متفاوتی است.
در گزینه ب، جمع سگمنت CS و آفست SP میشه آدرس 0X125FE که درسته ولی CS سگمنت کد ئه و SP آفست پشته و سگمنت و آفست ربطی بهم ندارند.
در گزینه ج، جمع سگمنت ES و آفست BP میشه آدرس 0X10051 که آدرس متفاوتی است و ES سگمنت داده است و BP آفست پشته و ربطی بهم ندارند.
در گزینه د، جمع سگمنت DS و آفست SI میشه آدرس 0X125FE که درسته و DS سگمنت داده و SI هم آفست داده است و بهم مربوط اند.
پس گزینه د درسته.
 

جدیدترین ارسال ها

بالا