INT 13H
آئی این ٹی 13 ایچ بی آئی او ایس انٹرپٹ کال 13 ہیکس کے لیے شارٹ ہینڈ ہے، جو ایکس 86 پر مبنی (آئی بی ایم پی سی-نزول) کمپیوٹر سسٹم میں 20 واں انٹرپٹ ویکٹر ہے۔ بی آئی او ایس عام طور پر اس ویکٹر پر ایک ریئل موڈ انٹرپٹ ہینڈلر ترتیب دیتا ہے جو سلنڈر ہیڈ سیکٹر (سی ایچ ایس) ایڈریسنگ کا استعمال کرتے ہوئے سیکٹر پر مبنی ہارڈ ڈسک اور فلاپی ڈسک پڑھنے اور لکھنے کی خدمات فراہم کرتا ہے۔ جدید پی سی بائیوسز میں آئی این ٹی 13 ایچ ایکسٹینشن افعال بھی شامل ہیں، جو 1992 میں آئی بی ایم اور مائیکروسافٹ کے ذریعہ شروع کیے گئے تھے، جو 64 بٹ ایل بی اے ایڈریسنگ کا استعمال کرتے ہوئے وہی ڈسک تک رسائی کی خدمات فراہم کرتے ہیں۔ معمولی اضافے کے ساتھ، ان کو فینکس ٹیکنالوجیز اور دیگر کے ذریعہ ای ڈی ڈی (بہتر ڈسک ڈرائیو) بائیوس ایکسٹینشنز کے طور پر نیم معیاری بنایا گیا تھا۔ آئی این ٹی ایک x86 انسٹرکشن ہے جو سافٹ ویئر انٹرپٹ کو متحرک کرتی ہے، اور 13 ہیکس انٹرپٹ نمبر ہے (بطور ہیکساڈیسیمل ویلیو) جسے کال کیا جا رہا ہے۔ جدید کمپیوٹرز بائیوس آئی این ٹی 13 ایچ اور یو ای ایف آئی دونوں فعالیت کے ساتھ آتے ہیں جو وہی خدمات اور بہت کچھ فراہم کرتے ہیں، یو ای ایف آئی کلاس 3 کے استثناء کے ساتھ جو سی ایس ایم کو مکمل طور پر ہٹا دیتا ہے اس طرح آئی این ٹی 13 ایچ اور دیگر رکاوٹوں کا فقدان ہے۔ عام طور پر، یو ای ایف آئی ڈرائیور سی ایچ ایس ایڈریسنگ کے بجائے ایل بی اے ایڈریسنگ استعمال کرتے ہیں۔ جائزہ ریئل موڈ آپریٹنگ سسٹم کے تحت، جیسے کہ DOS، INT 13h کو کال کرنا نچلی سطح کی ڈسک خدمات کے لیے کمپیوٹر کے ROM-BIOS کوڈ میں کود جائے گا، جو پروگرام کے لیے فزیکل سیکٹر پر مبنی ڈسک پڑھنے یا لکھنے کی کارروائیاں انجام دے گا۔ ڈی او ایس میں، یہ ہارڈ ڈسک اور فلاپی ڈسک کے لیے بلٹ ان بلاک ڈیوائس ڈرائیوروں کے لیے نچلے درجے کے انٹرفیس کے طور پر کام کرتا ہے۔ یہ آئی این ٹی 25 ایچ اور آئی این ٹی 26 ایچ کو ڈی او ایس کرنل میں ایف اے ٹی فائل سسٹم ڈرائیور کو منطقی شعبوں کے لیے مطلق ڈسک پڑھنے/لکھنے کے افعال فراہم کرنے کی اجازت دیتا ہے، جو ڈی او ایس اے پی آئی (آئی این ٹی 21 ایچ) افعال کے ذریعے فائل سے متعلق درخواستوں کو سنبھالتا ہے۔ محفوظ موڈ آپریٹنگ سسٹمز کے تحت، جیسے مائیکروسافٹ ونڈوز این ٹی مشتقات (مثال کے طور پر۔ این ٹی 4، 2000، ایکس پی، اور سرور 2003) اور ڈوسیمو کے ساتھ لینکس، او ایس کال کو روکتا ہے اور اسے آپریٹنگ سسٹم کی مقامی ڈسک I/O میکانزم میں منتقل کرتا ہے۔ 32 بٹ ڈسک ایکسیس کا استعمال کرتے وقت ونڈوز 9 ایکس اور ونڈوز فار ورک گروپس 3.11 بھی بی آئی او ایس کے معمولات کو نظرانداز کرتے ہیں۔ نچلی سطح کی ڈسک تک رسائی انجام دینے کے علاوہ، آئی این ٹی 13 ایچ کالز اور متعلقہ بی آئی او ایس ڈیٹا ڈھانچے سسٹم سے منسلک ڈسک (یا دیگر ڈی اے ایس ڈی ڈیوائسز) کی اقسام اور صلاحیتوں کے بارے میں بھی معلومات فراہم کرتے ہیں۔ جب ایک محفوظ موڈ او ایس بوٹ ہوتا ہے، تو یہ بی آئی او ایس سے اس معلومات کو ڈسک ہارڈ ویئر کی گنتی کے لیے استعمال کر سکتا ہے تاکہ وہ (او ایس) مناسب ڈسک آئی/او ڈرائیوروں کو لوڈ اور ترتیب دے سکے۔ اصل بی آئی او ایس ریئل موڈ آئی این ٹی 13 ایچ انٹرفیس تقریبا 8 جی بی تک کے سائز کی ڈرائیوز کو سپورٹ کرتا ہے جسے عام طور پر فزیکل سی ایچ ایس ایڈریسنگ کہا جاتا ہے۔ یہ حد آئی بی ایم پی سی/ایکس ٹی ڈسک ہارڈ ویئر کے ہارڈ ویئر انٹرفیس سے نکلتی ہے۔ بی آئی او ایس نے آئی این ٹی 13 ایچ کال میں دیے گئے سلنڈر ہیڈ سیکٹر (سی ایچ ایس) ایڈریس کا استعمال کیا، اور اسے براہ راست ہارڈ ویئر انٹرفیس میں منتقل کر دیا۔ ایک کم حد، تقریبا 504 ایم بی، سی ایچ ایس ایڈریسنگ حدود کے امتزاج سے عائد کی گئی تھی جو بی آئی او ایس کے ذریعہ استعمال ہوتی ہیں اور جو اے ٹی اے ہارڈ ڈسک کے ذریعہ استعمال ہوتی ہیں، جو مختلف ہیں۔ جب بی آئی او ایس اور اے ٹی اے دونوں کی سی ایچ ایس ایڈریسنگ حدود کو ملایا جاتا ہے (یعنی۔ جب انہیں بیک وقت لاگو کیا جاتا ہے)، 512 بائٹ والے شعبوں کی تعداد جن پر توجہ دی جا سکتی ہے کل تقریبا 504 ایم بی کی نمائندگی کرتی ہے۔ 504 ایم بی کی حد پر سی ایچ ایس ترجمہ کا استعمال کرتے ہوئے قابو پایا گیا، ایک ایسی تکنیک جس کے ذریعے بی آئی او ایس آئی این ٹی 13 ایچ انٹرفیس پر ایک فرضی سی ایچ ایس جیومیٹری کی تقلید کرے گا، جبکہ اپنے مقامی منطقی سی ایچ ایس جیومیٹری کا استعمال کرتے ہوئے اے ٹی اے ڈرائیو کے ساتھ بات چیت کرے گا۔ (جب تک 504 ایم بی رکاوٹ سے رابطہ کیا جا رہا تھا، اے ٹی اے ڈسکوں نے بہت پہلے ہی بیرونی اے ٹی اے انٹرفیس پر اپنے حقیقی فزیکل جیومیٹری پیرامیٹرز کو پیش کرنا بند کر دیا تھا۔) ترجمہ اب بھی سی ایچ ایس ایڈریسنگ کا استعمال کرتے ہوئے بی آئی او ایس کو 8064 ایم بی تک کے سائز والی اے ٹی اے ڈسک کو مؤثر طریقے سے ایڈریس کرنے کی اجازت دیتا ہے، جو صرف بی آئی او ایس سی ایچ ایس انٹرفیس کی مقامی صلاحیت ہے۔ (اے ٹی اے انٹرفیس میں مقامی سی ایچ ایس ایڈریسنگ کی گنجائش بہت زیادہ ہے، لہذا ایک بار جب بی آئی او ایس اور اے ٹی اے کی سی ایچ ایس حدود کی "مداخلت" کو ایڈریسنگ کے ذریعے حل کیا گیا، تو بی آئی او ایس کی صرف چھوٹی حد اہم تھی۔) سی ایچ ایس ترجمہ کو بعض اوقات منطقی سی ایچ ایس ایڈریسنگ کہا جاتا ہے، لیکن یہ دراصل ایک غلط نام ہے کیونکہ اس بی آئی او ایس کی ترقی کے وقت تک، اے ٹی اے سی ایچ ایس ایڈریس پہلے سے ہی منطقی تھے، جسمانی نہیں۔ 8064 ایم بی کی حد آئی این ٹی 13 ایچ انٹرفیس میں استعمال ہونے والے رجسٹر ویلیو پر مبنی کالنگ کنونشن کے امتزاج اور پسماندہ مطابقت کو برقرار رکھنے کے مقصد سے شروع ہوتی ہے-یہ حکم دیتے ہوئے کہ آئی این ٹی 13 ایچ کو منتقل کیے گئے سی ایچ ایس پتوں کی شکل یا سائز کو کسی ایک فیلڈ میں مزید بٹس شامل کرنے کے لیے تبدیل نہیں کیا جا سکتا، جیسے۔ سلنڈر نمبر فیلڈ۔ یہ حد 1024 سلنڈروں، 256 سروں، 63 سیکٹروں، اور 512 بائٹ بلاکس کا استعمال کرتی ہے، جس سے ایڈریسنگ (102425663) کے بالکل 7.875 جی آئی بی کی اجازت ملتی ہے۔ مختصر طور پر بہت سے بائیوس تھے جنہوں نے اس انٹرفیس کے مطابقت پذیر ورژن پیش کیے-مثال کے طور پر، ایوارڈ ایٹ بائیوس اور اے ایم آئی 386 ایس ایکس بائیوس کو سلنڈر نمبر کے بٹس 10 اور 11 کو رجسٹر ڈی ایچ کے بٹس 6 اور 7 میں رکھ کر 4096 سلنڈروں کو سنبھالنے کے لیے بڑھایا گیا ہے۔ ایم ایس-ڈاس کے تمام ورژن (بشمول ایم ایس-ڈاس 7 اور ونڈوز 95) میں ایک بگ ہوتا ہے جو 256 سروں والی ڈسک ڈرائیوز کو بوٹ کرنے سے روکتا ہے (رجسٹر ویلیو 0 ایکس ایف ایف)، اس لیے بہت سے جدید بائیوس زیادہ سے زیادہ 255 (0 ایکس ایف ای) سروں والی سی ایچ ایس ٹرانسلیشن میپنگ فراہم کرتے ہیں، اس طرح ایڈریس کے قابل کل جگہ کو بالکل 8032.5 ایم آئی بی (تقریبا 7.844 جی آئی بی) تک کم کر دیتے ہیں۔ اس سے بھی بڑی ڈسکوں کے ایڈریسنگ کی حمایت کرنے کے لیے، آئی این ٹی 13 ایچ ایکسٹینشنز کے نام سے جانا جانے والا ایک انٹرفیس آئی بی ایم اور مائیکروسافٹ نے متعارف کرایا تھا، پھر بعد میں فینکس ٹیکنالوجیز نے بائیوس بہتر ڈسک ڈرائیو سروسز (ای ڈی ڈی) کے حصے کے طور پر دوبارہ شائع کیا اور تھوڑا بڑھایا۔ یہ آئی این ٹی 13 ایچ سروس کے اندر نئے افعال کی وضاحت کرتا ہے، جن میں فنکشن نمبر 40h سے زیادہ ہوتے ہیں، جو 64 بٹ منطقی بلاک ایڈریسنگ (ایل بی اے) کا استعمال کرتے ہیں، جو 8 زی بی تک ایڈریس کرنے کی اجازت دیتا ہے۔ (ایک اے ٹی اے ڈرائیو 28 بٹ یا 48 بٹ ایل بی اے کو بھی سپورٹ کر سکتی ہے جو 512 بائٹ سیکٹر/بلاک سائز کو فرض کرتے ہوئے بالترتیب 128 جی آئی بی یا 128 پی آئی بی تک کی اجازت دیتی ہے)۔ یہ ایک "پیکٹ" انٹرفیس ہے، کیونکہ یہ اصل آئی این ٹی 13 ایچ انٹرفیس کے رجسٹر پر مبنی کالنگ کنونشن کے بجائے معلومات کے پیکٹ کے لیے پوائنٹر کا استعمال کرتا ہے۔ یہ پیکٹ ایک بہت ہی آسان ڈیٹا ڈھانچہ ہے جس میں انٹرفیس ورژن، ڈیٹا سائز اور ایل بی اے شامل ہیں۔ سافٹ ویئر بیک ورڈ مطابقت کے لیے، توسیعی افعال کو اصل سی ایچ ایس افعال کے ساتھ نافذ کیا جاتا ہے، اور دونوں سیٹوں سے افعال پر کالز کو آپس میں ملایا جا سکتا ہے، یہاں تک کہ ایک ہی ڈرائیو کے لیے بھی، اس انتباہ کے ساتھ کہ سی ایچ ایس افعال ڈسک کے پہلے 8064 ایم بی سے آگے نہیں پہنچ سکتے۔ کچھ کیش ڈرائیور اپنے بفر کو فلش کرتے ہیں جب یہ پتہ چلتا ہے کہ ڈی او ایس کو براہ راست ایپلی کیشنز سے آئی این ٹی 13 ایچ جاری کرکے نظرانداز کیا گیا ہے۔ آئی این ٹی 13 ایچ کے ذریعے پڑھے جانے والے ڈمی کو نامعلوم کیشز کے لیے کیش فلشنگ کو مجبور کرنے کے کئی طریقوں میں سے ایک کے طور پر استعمال کیا جا سکتا ہے (مثال کے طور پر۔ دوبارہ شروع کرنے سے پہلے)۔ تقریبا 1990-1991 کے ٹریش ورڈ غیر منسلک بفرز سے اے ایم آئی بائیوس۔ کچھ ڈی او ایس اور ٹرمینیٹ اینڈ اسٹے ریذیڈنٹ پروگرام فعال کرنے اور رجسٹر کرنے میں رکاوٹ ڈالتے ہیں لہذا پی سی ڈی او ایس اور ایم ایس-ڈی او ایس اس کی روک تھام کے لیے اپنے فلٹر انسٹال کرتے ہیں۔ خدمات کی فہرست اگر دوسرا کالم خالی ہے تو فنکشن فلاپی اور ہارڈ ڈسک دونوں کے لیے استعمال کیا جا سکتا ہے۔ ایف ڈی: صرف فلاپی ڈسک کے لیے۔ ایچ ڈی: صرف ہارڈ ڈسک کے لیے۔ پی ایس/2: صرف پی ایس/2 سسٹم پر ہارڈ ڈسک کے لیے۔ EXT: ایکسٹینشنز کا حصہ جو 1990 کی دہائی میں 8 جی بی سے زیادہ ہارڈ ڈرائیوز کو سپورٹ کرنے کے لیے لکھا گیا تھا۔ : ری سیٹ ڈسک سسٹم: فلاپی ڈرائیو کے لیے آخری ڈرائیو آپریشن بٹ 7 = 0، فکسڈ ڈرائیو کے لیے بٹ 7 = 1 کی حیثیت حاصل کریں: ریڈ سیکٹرز فرام ڈرائیو ریمارکس رجسٹر سی ایکس میں سلنڈر نمبر (10 بٹس، ممکنہ اقدار 0 سے 1023 ہیں) اور سیکٹر نمبر (6 بٹس، ممکنہ اقدار 1 سے 63 ہیں) دونوں شامل ہیں۔ سلنڈر اور سیکٹر بٹس کو نیچے نمبر دیا گیا ہے: CX =-------------- سلنڈر: 76543210 98 سیکٹر: 543210 ترجمہ کی مثالیں: CX: = (سلنڈر اور 255) Shl 8) یا (سلنڈر اور 768) Shr 2) یا سیکٹر ؛ سلنڈر: = ((CX اور $FF00) Shr 8) یا ((CX اور $C0) Shl 2) سیکٹر: = CX اور 63 ؛ بفر کے ایڈریسنگ کو اس بات کی ضمانت دینی چاہیے کہ مکمل بفر دیئے گئے حصے کے اندر ہے، یعنی۔ (بی ایکس + سائز _ آف _ بفر) <= 10000h۔ ورنہ کچھ بی آئی او ایس یا ہارڈ ویئر ورژن کے ساتھ رکاوٹ ناکام ہو سکتی ہے۔ مثال کے طور پر فرض کریں کہ آپ 16 سیکٹرز (= 2000h بائٹس) پڑھنا چاہتے ہیں اور آپ کا بفر میموری ایڈریس 4FF00h سے شروع ہوتا ہے۔ میموری کی تقسیم کو استعمال کرتے ہوئے، رجسٹر ویلیوز کا حساب لگانے کے مختلف طریقے ہیں، مثال کے طور پر۔ : ES = سیگمنٹ = 4F00h BX = آفسیٹ = 0F00h سم = میموری ایڈریس = 4FF00h ایک اچھا انتخاب ہوگا کیونکہ 0F00h + 2000h = 2F00h <= 10000h ES = سیگمنٹ = 4000h BX = آفسیٹ = FF00h سم = میموری ایڈریس = 4FF00h ایک اچھا انتخاب نہیں ہوگا کیونکہ FF00h + 2000h = 11F00h> 10000h فنکشن 02h انٹرپٹ 13h صرف آپ کی ہارڈ ڈرائیو کے پہلے 16,450,560 سیکٹروں کے سیکٹروں کو پڑھ سکتا ہے، 8 جی بی کی حد سے باہر کے سیکٹروں کو پڑھنے کے لیے آپ کو فنکشن 42h ایکسٹینشنز استعمال کرنا چاہیے۔ ایک اور متبادل DOS انٹرپٹ 25h ہو سکتا ہے جو پارٹیشن کے اندر سیکٹرز کو پڑھتا ہے۔ کوڈ مثال [ORG 7c00h] ؛ کوڈ 7c00h xor کلہاڑی، کلہاڑی سے شروع ہوتا ہے ؛ یقینی بنائیں کہ ds کو 0 موو ds، کلہاڑی cld پر سیٹ کیا گیا ہے ؛ اقدار ڈالنا شروع کریں: موو آہ، 2h ؛ انٹی 13h فنکشن 2 موو ال، 63 ؛ ہم 63 سیکٹرز کو پڑھنا چاہتے ہیں موو ch، 0 ؛ سلنڈر نمبر 0 موو کل، 2 سے ؛ سیکٹر نمبر 2-دوسرا سیکٹر (1 سے شروع ہوتا ہے، 0 سے نہیں) موو ڈی ایچ، 0 ؛ ہیڈ نمبر 0 xor bx، bx موو ایس، بی ایکس ؛ ایس کو 0 موو بی ایکس، 7e00h ہونا چاہیے ؛ اصل ایڈریس 7c00h انٹ 13h جے ایم پی 7e00h سے 512 بائٹس ؛ اگلے پر کودنا۔ نوٹ کریں کہ ہم نے ڈی ایل (ڈرائیو) کو کیسے تبدیل نہیں کیا۔ اس کی وجہ یہ ہے کہ جب کمپیوٹر پہلی بار لوڈ ہوتا ہے، تو ڈی ایل کو اس ڈرائیو کے نمبر پر سیٹ کیا جاتا ہے جسے بوٹ کیا گیا تھا، لہذا یہ فرض کرتے ہوئے کہ ہم اس ڈرائیو سے پڑھنا چاہتے ہیں جس سے ہم نے بوٹ کیا تھا، ڈی ایل کو تبدیل کرنے کی ضرورت نہیں ہے۔ : ڈرائیو کرنے کے لیے سیکٹر لکھیں: ڈرائیو سے سیکٹرز کی تصدیق کریں: فارمیٹ ٹریک: فارمیٹ ٹریک سیٹ برا سیکٹر فلیگ: فارمیٹ ڈرائیو ٹریک سے شروع ہوتا ہے: ڈرائیو پیرامیٹرز ریمارکس پڑھیں فنکشن 08h کی منطقی اقدار فنکشن 48h کی فزیکل سی ایچ ایس اقدار سے مختلف ہو سکتی ہیں/ہونی چاہئیں۔ نتیجہ رجسٹر سی ایکس میں سلنڈر اور سیکٹر/ٹریک ویلیو دونوں شامل ہیں، فنکشن 02h کا تبصرہ دیکھیں۔ اس فنکشن اور فنکشن 02h (اوپر دیکھیں) کے درمیان فرق صرف یہ ہے کہ فنکشن 0AH صرف 512 کے بجائے فی سیکٹر 516 بائٹس پڑھتا ہے۔ آخری 4 بائٹس میں ایرر کریکشن کوڈ (ای سی سی) ہوتا ہے، جو سیکٹر ڈیٹا کا ایک چیکسم ہے۔ : چیک ایکسٹینشنز پریزنٹ: ایکسٹینڈڈ ریڈ سیکٹرز فرام ڈرائیو جیسا کہ پہلے ہی آئی این ٹی 13 ایچ اے ایچ = 02 ایچ کے ساتھ بیان کیا گیا ہے، اس بات کو یقینی بنانے کے لیے خیال رکھنا چاہیے کہ مکمل بفر دیئے گئے حصے کے اندر ہے، یعنی۔ (بی ایکس + سائز _ آف _ بفر) <= 10000h: ایکسٹینڈڈ رائٹ سیکٹرز ٹو ڈرائیو: ایکسٹینڈڈ ریڈ ڈرائیو پیرامیٹرز ریمارک فنکشن 48h کی فزیکل سی ایچ ایس ویلیوز فنکشن 08h کی منطقی ویلیوز سے مختلف ہو سکتی ہیں/ہونی چاہئیں۔ آئی این ٹی 13 ایچ اے ایچ = 4 بی ایچ: ڈرائیو ایمولیشن ٹائپ حاصل کریں یہ بھی دیکھیں آئی این ٹی 10 ایچ بائیوس انٹرپٹ کال سلنڈر ہیڈ سیکٹر آئی این ٹی (x86 انسٹرکشن) ڈی پی ایم آئی (ڈی او ایس پروٹیکٹڈ موڈ انٹرفیس) رالف براؤن کی انٹرپٹ لسٹ بائیوس انہانسڈ ڈسک ڈرائیو اسپیسیفیکیشن حوالہ جات بیرونی لنکس بائیوس انٹرپٹ 13 ایچ ایکسٹینشنز رالف براؤن کی جامع انٹرپٹ لسٹ نارٹن گائیڈ کے بارے میں آئی این ٹی 13 ایچ، آہ = 00 ایچ۔ 1 اے ایچ آئی بی ایم پی سی مطابقت پذیر بائیوس انٹرپٹس