اسٹیک / اسٹیک پوائنٹر کیا ہے: اقسام اور اس کی درخواستیں

مسائل کو ختم کرنے کے لئے ہمارے آلے کو آزمائیں





اسٹیک لکیری ڈیٹا ڈھانچہ کے علاوہ کچھ نہیں جہاں اندراج اور حذف صرف ایک سرے پر ہوتا ہے۔ اندراج آپریشن میں ایک خاص نام پش کے نام سے جانا جاتا ہے اور حذف کرنے کا عمل پی او پی کے نام سے بھی جانا جاتا ہے۔ پش اور پی او پی دو بنیادی کاروائیاں ہیں جو صرف ایک خاص اسٹیک میں انجام دی جاسکتی ہیں۔ یہ میموری مقامات کا ایک گروپ ہے اور میموری والے مقامات یا تو میموری پڑھنے یا تحریری میموری سے متعلق ہیں۔ یہ پروگرام کے نفاذ کے دوران بائنری معلومات کو ذخیرہ کرنے کے لئے استعمال کیا جاتا ہے ، جب ہم کسی بھی پروگرام کو انجام دے رہے ہیں تو اس پروگرام کے مندرجات کو اسٹیک میں محفوظ کرنے جارہے ہیں۔ یہ پیروی کرتا ہے آخری میں فرسٹ آؤٹ (LIFO) اور یہ صرف ڈیٹا کو اسٹور کرنے اور بازیافت کرنے کے لئے استعمال ہوتا ہے لیکن ڈیٹا کو اسٹور کرنے کے لئے استعمال نہیں ہوتا ہے۔ اسٹیک / اسٹیک پوائنٹر کی مختصر وضاحت ذیل میں زیربحث ہے۔

اسٹیک / اسٹیک پوائنٹر کیا ہے؟

تعریف: اسٹیک ایک اسٹوریج ڈیوائس ہے ، جو LIFO (آخری بار فرسٹ آؤٹ) کے انداز میں معلومات یا ڈیٹا کو اسٹور کرنے کے لئے استعمال ہوتا ہے۔ جب بھی ہم ڈیٹا کو LIFO انداز میں داخل کرتے ہیں تو ، عنصر جس کو پہلے حذف کرنا ہوتا ہے وہ آخری داخل کرنے والا عنصر ہوتا ہے ، لہذا آخری داخل کردہ عنصر پہلے باہر لے جایا جاتا ہے۔ یہ ایڈریس رجسٹر کے اندر میموری اکائی ہے جسے اسٹیک پوائنٹر (ایس پی) کہتے ہیں۔ اسٹیک پوائنٹر ہمیشہ اسٹیک میں اوپری عنصر کی نشاندہی کرتا ہے اس کا مطلب ہے کہ اعداد و شمار کو کس مقام پر ڈالنا ہے۔




اسٹیک کی اقسام

وہاں اسٹیکس کی دو اقسام ہیں وہ رجسٹر اسٹیک اور میموری اسٹیک ہیں۔

رجسٹر اسٹیک

رجسٹر اسٹیک بھی میموری یونٹ میں موجود ایک میموری ڈیوائس ہے ، لیکن یہ صرف تھوڑی مقدار میں ڈیٹا سنبھالتا ہے۔ رجسٹر اسٹیک میں اسٹیک کی گہرائی ہمیشہ ہی محدود ہوتی ہے کیونکہ میموری کے مقابلہ میں رجسٹر اسٹیک کا سائز بہت چھوٹا ہے۔



رجسٹر اسٹیک میں آپریشن دبائیں

مرحلہ نمبر 1: اسٹیک پوائنٹر میں 1 اضافہ ہوتا ہے۔

ایس پی ← ایس پی + 1


مرحلہ 2: اسٹیک میں ڈیٹا درج کریں۔

1000 [SP] T CT

جہاں DR ڈیٹا رجسٹر ہے

سٹی 3: چیک کریں کہ اسٹیک بھرا ہوا ہے یا نہیں

اگر (sp = 0) تو (پورا ← 1)

مرحلہ 4: نشان خالی نہیں

خالی ← 0

رجسٹر اسٹیک میں پاپ آپریشن

مرحلہ نمبر 1: اسٹیک سے ڈیٹا پڑھیں۔

DR ← M [SP]

مرحلہ 2: کمی اسٹیک پوائنٹ

ایس پی ← ایس پی 1

سٹی 3: چیک کریں کہ اسٹیک خالی ہے یا نہیں

اگر sp = 0 تو خالی ← 1

64 بٹ رجسٹر اسٹیک کی اسٹیک آرگنائزیشن کو ذیل کے اعداد و شمار میں دکھایا گیا ہے۔

اسٹیک آرگنائزیشن رجسٹر کریں

اسٹیک آرگنائزیشن رجسٹر کریں

میموری اسٹیک

میموری اسٹیک میں ، اسٹیک کی گہرائی لچکدار ہے۔ یہ میموری ڈیٹا کی ایک بڑی رقم پر قبضہ کرتا ہے ، جبکہ رجسٹر اسٹیک میں میموری کے صرف ایک محدود تعداد محفوظ ہوجائے گی۔

میموری اسٹیک میں پش آپریشن

مرحلہ نمبر 1: ایس پی ← ایس پی 1

مرحلہ 2: 1000 [SP] T CT

میموری اسٹیک میں پاپ آپریشن

مرحلہ نمبر 1: DR ← M [SP]

مرحلہ 2: ایس پی ← ایس پی 1

رجسٹر یونٹ کا موازنہ کریں ، میموری یونٹ ڈیٹا کی ایک بڑی مقدار کو اسٹور کرتا ہے۔ میموری اسٹیک کے اعداد و شمار کو ذیل کے اعداد و شمار میں دکھایا گیا ہے۔

میموری اسٹیک

میموری اسٹیک

کل میموری یونٹ کو تین حصوں میں تقسیم کیا گیا ہے ، پہلے میموری یونٹ میں پروگرام (ہدایات کے علاوہ کچھ نہیں) ہوتا ہے ، دوسرا حصہ ڈیٹا (آپریڈس) اور تیسرا حصہ اسٹیک ہوتا ہے۔ پروگرام کی ہدایات ہمیشہ پروگرام کاؤنٹر (پی سی) میں اسٹور کرتی ہیں ، ڈیٹا رجسٹروں کی شناخت ایڈریس رجسٹر (اے آر) کے ذریعہ ہوتی ہے۔ پتہ 3000 سے 4001 تک اسٹیک کے لئے استعمال کیا جاتا ہے اور پہلا آئٹم یا عنصر 4001 پر اسٹور کیا جاتا ہے۔

8085 مائکرو پروسیسر میں اسٹیک / اسٹیک پوائنٹر

8085 کا پروگرامر منظر مائکرو پروسیسر عام مقصد کے اندراجات اور پر مشتمل ہے خصوصی مقصد کے اندراجات . عام مقاصد کے اندراجات اے ، بی ، سی ، ڈی ، ای ، ایچ ، ایل ہیں اور خصوصی مقصد کے اندراجات ایس پی (اسٹیک پوائنٹر) اور پی سی (پروگرام کاؤنٹر) ہیں۔ پروگرامر کا نظارہ 8085 مائکرو پروسیسر کے نیچے دیئے گئے اعدادوشمار میں دکھایا گیا ہے۔

8085 کا پروگرامر دیکھیں

8085 کا پروگرامر دیکھیں

اسٹیک پوائنٹر ایک 16 بٹ رجسٹر میں میموری ایڈریس پر مشتمل ہے ، فرض کریں اسٹیک پوائنٹر (ایس پی) کے مندرجات ایف سی 78 ایچ ہیں ، پھر مائکرو پروسیسر 8085 اس کی ترجمانی کرتا ہے۔ میموری کے مقامات پر FC78H سے FFFH تک اور FC77H سے 0000H تک مفید معلومات ہوتی ہیں میموری کے مقام پر مفید معلومات نہیں ہوتی ہیں۔ اسٹیک پوائنٹر کی تشریح مندرجہ ذیل اعداد و شمار میں دکھائی گئی ہے۔

اسٹیک پوائنٹر کی ترجمانی

اسٹیک پوائنٹر کی ترجمانی

اسٹیک / اسٹیک پوائنٹر کے بنیادی آپریشنز

اسٹیک کے دو کام ہیں وہ ہیں: پش آپریشن اور پی او پی آپریشن۔

پش آپریشن

پش کا مطلب ہے کسی عنصر کو اسٹیک میں ڈالنا یا ڈالنا۔ پش آپریشن ہمیشہ اسٹیک پوائنٹر میں اضافہ کرتا ہے اور پی او پی آپریشن ہمیشہ اسٹیک پوائنٹر کو گھٹا دیتا ہے۔ پش آپریشن کے معاملے میں ، ہمیں یہ چیک کرنا ہوگا کہ آیا وہاں کوئی خالی جگہ موجود ہے یا نہیں۔ اگر خالی جگہ دستیاب ہے تو ، ہم پش آپریشن پر جاسکتے ہیں ، اگر خالی جگہ دستیاب نہیں ہے تو غلطی کا میسج آتا ہے جو اوور فلو ہے۔ بالترتیب پش آپریشن کی صورت میں اوور فلو کی جانچ پڑتال کرنا ہے۔ پش اور پاپ کا بنیادی آپریشن مندرجہ ذیل اعداد و شمار میں دکھایا گیا ہے۔

PUSH اور POP کا بنیادی آپریشن

PUSH اور POP کا بنیادی آپریشن

پیکر (ا) اسٹیک ہے۔ اگر آپ عنصر کو اسٹیک میں داخل کرنے والے عنصر کو دبانا چاہتے ہیں تو ، آپ کو (ے ، ا) دھکا لگانا پڑے گا ، جہاں ’س‘ اسٹیک کے سوا کچھ نہیں ہے۔ اسٹیک میں ، ہم ‘ایک’ عنصر ڈال رہے ہیں اور یہ آپریشن اعداد و شمار (بی) میں دکھایا گیا ہے۔ اعداد و شمار ()) ملاحظہ کریں ، فرض کریں کہ اسٹیک میں تین عنصر شامل ہیں ، الف ، سی ، اور اسٹیک عنصر سے پُر ہے۔

اگر آپ پش (ے ، ڈی) کا استعمال کرتے ہوئے چوتھا عنصر ‘ڈی’ داخل کرنا چاہتے ہیں ، لیکن عنصر داخل کرنے کے لئے کوئی جگہ دستیاب نہیں ہے تو اس سے یہ ظاہر ہوتا ہے کہ اسٹیک اوور فلو ہے۔ اوور فلو اصطلاحات استعمال کی جاتی ہیں جب اسٹیک بھرا ہوا ہے اور دھکا آپریشن کا الگورتھم نیچے دکھایا گیا ہے۔

(اسٹیک [] ، اوپر ، زیادہ سے زیادہ اسٹیک ، آئٹم) کو دبائیں

اگر (سب سے اوپر == میک اسٹیک -1)

{

پرنٹ 'اوور فلو'

}

اور

{

ٹاپ = ٹاپ + 1

اسٹیک [ٹاپ] = آئٹم

}

ختم

پی او پی آپریشن

پی او پی کا مطلب ہے اسٹیک کے اوپری حصے پر عنصر کو حذف کرنا۔ پاپ آپریشن کے معاملے میں ، ہمیں جانچ پڑتال کرنی ہوگی کہ شروع میں یہ اسٹیک خالی ہے یا نہیں۔ اگر یہ اسٹیک ابتدا میں خالی ہے تو پھر انڈر فلو کی صورتحال ہوتی ہے۔ فرض کریں کہ اسٹیک خالی ہے پھر بھی آپ اسٹیک میں عناصر کو پاپ کرنا چاہتے ہیں لیکن اسٹیک میں کوئی عناصر موجود نہیں ہیں اس کے بعد یہ اسٹیک انڈر فلو کی طرف جاتا ہے۔

پاپ آپریشن کی صورت میں بالترتیب انڈر فلو چیک کرنا ہے۔ پاپ آپریشن میں جو بھی ٹاپ عنصر اسٹیک میں موجود ہوتا ہے جسے پاپپ یا ڈیلیٹ کردیا جانا چاہئے ، لہذا یہ بتانے کی ضرورت نہیں ہے کہ کون سا عنصر پاپ ہوگا ، پہلے سے طے شدہ طور پر اوپری عنصر پاپ ہوجائے گا۔ پاپ آپریشن کا الگورتھم نیچے دکھایا گیا ہے۔

پاپ (اسٹیک [] ، سب سے اوپر ، آئٹم)

اگر (سب سے اوپر == - 1)

{

'انڈر فلو' پرنٹ کریں

}

اور

{

آئٹم = اسٹیک [ٹاپ]

ٹاپ = ٹاپ -1

}

مثال

عناصر کو ترتیب میں A ، B ، C ، D ، E کے طور پر داخل کیا جاتا ہے ، یہ پانچ عناصر کے اسٹیک کی نمائندگی کرتا ہے۔ اعداد و شمار (اے) میں ، ہم اسٹیک پر 'A' عنصر کو دبانا چاہتے ہیں پھر اوپر صفر ہوجاتا ہے (ٹاپ = 0) ، اسی طرح سب سے اوپر = 1 جب 'بی' عنصر کو دھکا دیا جاتا ہے ، ٹاپ = 2 جب 'سی' عنصر ہوتا ہے جب 'D' عنصر کو دھکا دیا جاتا ہے تو ، اوپر = 3 ، اور جب 'E' عنصر کو دھکا دیا جاتا ہے تو ، اوپر = 3 دھکا جاتا ہے۔

لہذا جو کچھ بھی عناصر میں نے لیا ہے وہ اسٹیک میں رکھا گیا ہے ، اب اسٹیک بھرا ہوا ہے۔ اگر آپ کسی اور عنصر کو آگے بڑھانا چاہتے ہیں تو اسٹیک میں کوئی جگہ نہیں ہے ، لہذا یہ اتنے بہاؤ کی نشاندہی کرتا ہے۔ اب اسٹیک بھرا ہوا ہے اگر آپ عنصر کو 'E' عنصر کو پاپ کرنا چاہتے ہیں تو پہلے اسے حذف کرنا ہوگا۔ پش آپریشن مندرجہ ذیل اعداد و شمار میں دکھایا گیا ہے۔

آپریشن پش

آپریشن پش

ہمیں اسٹیک میں موجود عناصر کو حذف کرنے کے لئے پاپ آپریشن کا استعمال کرنا ہے۔ تو صرف پاپ کا ذکر کریں () پاپ میں دلائل نہ لکھیں کیونکہ بطور ڈیفالٹ یہ ٹاپ عنصر کو حذف کرتا ہے۔ پہلا ‘E’ عنصر اگلے ‘D’ عنصر کو حذف کردیا جاتا ہے… .. ’A‘۔ جب اعلی عنصر حذف ہو رہے ہیں تو پھر اعلی قیمت کم ہوجاتی ہے۔ جب سب سے اوپر = -1 اسٹیک زیر بہاؤ کی نشاندہی کرتا ہے۔ پاپ آپریشن مندرجہ ذیل اعداد و شمار میں دکھایا گیا ہے۔

پی او پی آپریشن

پی او پی آپریشن

تو یہ اس کی وضاحت ہے کہ کس طرح عناصر کو پش اور پاپ آپریشن کے ذریعہ اسٹیک میں داخل اور حذف کردیا جاتا ہے۔

درخواستیں

اسٹیک / اسٹیک پوائنٹر کی ایپلی کیشنز ہیں

  • سٹرنگ الٹ
  • متوازن قوسین
  • انڈو / فنگر
  • چالو کرنے کے ریکارڈ کیلئے سسٹم اسٹیک
  • انفکس ، پریفکس ، پوسٹ فکس ، اظہار

عمومی سوالنامہ

1) بازو میں اسٹیک پوائنٹر کیا ہے؟

اسٹیم پوائنٹر رجسٹر (R13) بطور پوائنٹر بطور اشارہ متحرک اسٹیک میں استعمال کیا جاتا ہے۔

2). اسٹیک پوائنٹر 16 بٹ کیوں ہے؟

اسٹیک پوائنٹر (ایس پی) اور پروگرام کاؤنٹر (پی سی) پچھلی جگہ کو اسٹور کرنے کے لئے استعمال ہوتا ہے اور میموری لوکیشن ایڈریس 16 بٹس ہے ، لہذا اسٹیک پوائنٹر (ایس پی) بھی 16 بٹ کا ہے۔

3)۔ اسٹیک پوائنٹر کا کیا کردار ہے؟

اسٹیک پوائنٹر (ایس پی) کا کردار اسٹیک میں عنصر کے اوپری حصے کی نشاندہی کرنا ہے۔

4)۔ 8085 میں کون سا اسٹیک استعمال ہوتا ہے؟

8085 میں استعمال کیا جانے والا اسٹیک لاسٹ ان فرسٹ آؤٹ (LIFO) ہے۔

5)۔ کیا اسٹیک پوائنٹر رجسٹر ہے؟

ہاں ، اسٹیک پوائنٹر (ایس پی) ایک ایڈریس رجسٹر ہے جو اسٹیک میں عنصر کے اوپری حصے کی نشاندہی کرتا ہے۔

اس مضمون میں کیا ہے