LOADALL
لوڈیل انٹیل 80286 اور انٹیل 80386 پروسیسرز کی دو مختلف، غیر دستاویزی مشین ہدایات کا عام نام ہے، جو اندرونی پروسیسر کی حالت کے ان علاقوں تک رسائی کی اجازت دیتا ہے جو عام طور پر آئی اے-32 اے پی آئی کے دائرہ کار سے باہر ہوتے ہیں، جیسے ڈسکرپٹر کیش رجسٹر۔ 286 پروسیسرز کے لیے لوڈ 0Fh 05h کو انکوڈ کیا گیا ہے، جبکہ 386 پروسیسرز کے لیے لوڈ 0Fh 07h ہے۔ دونوں متغیرات-جیسا کہ نام سے ظاہر ہوتا ہے-تمام سی پی یو اندرونی رجسٹروں کو ایک آپریشن میں لوڈ کریں۔ لوڈال میں سیگمنٹ رجسٹروں (سلیکٹر) کے مرئی حصے کو ان کے متعلقہ کیش شدہ حصے سے آزادانہ طور پر ترتیب دینے کی منفرد صلاحیت تھی، جس سے پروگرامر کو سی پی یو کو ایسی حالتوں میں لانے کی اجازت ملتی تھی جس کی اجازت سرکاری پروگرامنگ ماڈل کے ذریعہ نہیں تھی۔ استعمال ان تکنیکوں کی افادیت کی ایک مثال کے طور پر، لوڈال سی پی یو کو ترتیب دے سکتا ہے تاکہ اسے غیر حقیقی موڈ میں تبدیل کیے بغیر حقیقی موڈ سے تمام میموری تک رسائی کی اجازت دی جا سکے (جس کے لیے محفوظ موڈ میں تبدیل ہونے، میموری تک رسائی اور آخر میں حقیقی موڈ میں واپس جانے کی ضرورت ہوتی ہے)۔ پروگرام جیسے کہ RAMDRIVE.SYS (1985)، SMARTDRV.SYS (1986) کے پری-XMS ورژن کے ساتھ ساتھ HIMEM.SYS (2.03، 1988-08-04 ؛ 2.04، 1988-08-17) MS-DOS میں ڈرائیورز، یونیفارم سافٹ ویئر سسٹمز کا دی ایکسٹینڈر (1985) اور لوٹس کے لیے دی کنیکٹر (1985) 1-2-3، اباو ڈسک (1986) (اباو سافٹ ویئر کا ایک لیمولیٹر (سابقہ ٹیلی ویئر ویسٹ عرف لاس اینجلس سیکیورٹیز گروپ) جس نے ہارڈ ڈسک کی جگہ یا توسیعی میموری کو توسیعی میموری میں تبدیل کیا)، اور OS/2.1 اور 1.1 نے 286 LOADALL ہدایات کا استعمال کیا۔ DOS 3.3 اور 4.0 نے 102 بائٹ کا بفر 0070:0100 h پر محفوظ کیا (جو عام طور پر DOS BIOS ڈیٹا کے زیر قبضہ تھا) تاکہ اسے لوڈال کے لیے محفوظ اور بحال کرنے کی ضرورت نہ پڑے۔ مائیکروسافٹ کا EMM386.EXE خصوصی مقدمات اس کے غلط اوپی کوڈ ہینڈلر میں 286 اور 386 لوڈال ہدایات دونوں ہیں۔ ونڈوز/386 2.10 میں ورچوئل مشین مانیٹر کوڈ کی جانچ سے پتہ چلتا ہے کہ یہ 286 اور اس سے بھی کم معروف 386 ورژن دونوں کا استعمال کرتا ہے۔ مائیکروسافٹ کے HIMEM.SYS ورژن 2.06 نے بھی 286 سسٹمز پر توسیعی میموری سے جلدی سے کاپی کرنے کے لیے لوڈال کا استعمال کیا۔ لوڈال کا ایک اور دلچسپ استعمال، جو کتاب دی ڈیزائن آف او ایس/2 میں دیا گیا ہے، سابق ریئل موڈ پروگراموں کو 16 بٹ پروٹیکٹڈ موڈ میں چلانے کی اجازت دینا ہوتا، جیسا کہ 1985 سے ڈیجیٹل ریسرچ کے کنکرنٹ ڈی او ایس 286 کے ساتھ ساتھ 1986 سے فلیکس او ایس 286 اور آئی بی ایم 4680 او ایس کے ذریعے استعمال کیا جاتا ہے۔ جی ڈی ٹی اور ایل ڈی ٹی میں موجود تمام ڈسکرپٹر کیشز کو "موجود نہیں" کے طور پر نشان زد کرنے سے آپریٹنگ سسٹم کو سیگمنٹ-رجسٹر ریلوڈز کو ٹریپ کرنے کے ساتھ ساتھ ریئل موڈ-مخصوص "سیگمنٹ ریاضی" انجام دینے کی کوششوں اور سیگمنٹ ڈسکرپٹرز (لوڈال دوبارہ) کو اپ ڈیٹ کرکے مطلوبہ رویے کی تقلید کرنے میں مدد ملے گی۔ تاہم، 80286 کے لیے یہ "8086 ایمولیشن موڈ" عملی ہونے کے لیے بہت سست تھا۔ اس کے علاوہ، ای-2 کے قدم اٹھانے سے پہلے کچھ ابتدائی انٹیل 80286 پروسیسرز میں غلطی کی وجہ سے اس خیال کو زیادہ تر مسترد کرنا پڑا۔ نتیجے کے طور پر، او ایس/2 1. x-اور ونڈوز کو "اسٹینڈرڈ" موڈ میں بھی-ڈی او ایس پروگراموں کو ریئل موڈ میں چلانا پڑا۔ اس کے باوجود، خیال ختم نہیں ہوا تھا ؛ اس کی وجہ سے انٹیل نے 80386 کا ورچوئل 8086 موڈ متعارف کرایا، جس سے آخر کار "ڈی او ایس باکسز" کو نسبتا موثر اور دستاویزی انداز میں نافذ کرنے کی اجازت ملی۔ چونکہ لوڈال نے پروسیسر رجسٹروں میں لوڈ کیے گئے ڈیٹا کی صداقت پر کوئی جانچ نہیں کی، اس لیے پروسیسر کی ایسی حالت کو لوڈ کرنا ممکن تھا جسے عام طور پر درج نہیں کیا جا سکتا تھا، جیسے کہ 386 کلاس سی پی یو پر پیجنگ (پی جی = 1) کے ساتھ ریئل موڈ (پی ای = 0) کا استعمال کرنا۔ ان سرکٹ ایمولیٹر (ICE) ایک ٹول ہے جو نچلی سطح کی ڈیبگنگ کے لیے استعمال ہوتا ہے۔ انٹیل 80386 پر، مقام B6 پر غیر دستاویزی پن کا دعوی کرنے سے مائکرو پروسیسر پر عمل درآمد رک جاتا ہے اور ICE موڈ میں داخل ہوتا ہے۔ مائکرو پروسیسر اپنی پوری حالت کو عام سسٹم میموری سے الگ تھلگ میموری کے علاقے میں محفوظ کرتا ہے۔ اس علاقے کی ترتیب لوڈال ہدایات کے لیے موزوں ہے، اور یہ ہدایات ICE کوڈ کے ذریعے معمول کے عمل پر واپس آنے کے لیے استعمال کی جاتی ہیں۔ بعد کے پروسیسرز میں، یہ سسٹم مینجمنٹ موڈ (ایس ایم ایم) میں تیار ہوا۔ ایس ایم ایم میں، آر ایس ایم ہدایت کا استعمال میموری ایریا سے مکمل سی پی یو اسٹیٹ کو لوڈ کرنے کے لیے کیا جاتا ہے۔ اس میموری ایریا کی ترتیب لوڈال انسٹرکشن کے ذریعہ استعمال ہونے والی ترتیب سے ملتی جلتی ہے۔ 386 طرز کی لوڈال ہدایات کو 486 پر بھی انجام دیا جا سکتا ہے، لیکن صرف ایس ایم ایم موڈ میں۔ بعد کے پروسیسرز میں، ایک مختلف انکوڈنگ کے ساتھ، آر ایس ایم ہدایات نے اپنا کردار ادا کیا۔ مائیکروسافٹ کا کوڈ ویو 3 اور بورلینڈ کا ٹربو ڈیبگر 2 درست طریقے سے 286 اور 386 لوڈال ہدایات کو ڈی کوڈ کرتا ہے۔ چونکہ دو لوڈال ہدایات کو کبھی دستاویزی شکل نہیں دی گئی تھی اور بعد کے پروسیسرز پر موجود نہیں ہیں، اس لیے اوپی کوڈز کو اے ایم ڈی 64 فن تعمیر میں دوبارہ استعمال کیا گیا۔ 286 لوڈال انسٹرکشن کے لیے اوپی کوڈ، 0F05، AMD64 انسٹرکشن سسکل بن گیا ؛ 386 لوڈال انسٹرکشن، 0F07، سسریٹ انسٹرکشن بن گیا۔ یہ تعریفیں انٹیل سی پی یو پر بھی اے ایم ڈی 64 کے انٹیل 64 کے نفاذ کے ساتھ نافذ کی گئیں۔ 80286 اوپ کوڈ 0F05۔ ہدایت 0x 00800-0 x00866 پتے سے ڈیٹا پڑھتی ہے، جو بھی اس حصے کا مواد رجسٹر کرتا ہے۔ 80286 لوڈال انسٹرکشن کو پروٹیکٹڈ بیک سے ریئل موڈ میں تبدیل کرنے کے لیے استعمال نہیں کیا جا سکتا (یہ ایم ایس ڈبلیو میں پی ای بٹ کو صاف نہیں کر سکتا)۔ تاہم، لوڈال ہدایات کا استعمال مکمل طور پر محفوظ موڈ میں تبدیل ہونے کی ضرورت سے بچ سکتا ہے۔ 80386 اوپ کوڈ 0F07۔ ہدایت ای ایس: ای ڈی آئی ایڈریس سے ڈیٹا لوڈ کرتی ہے۔ یہ اصل میں ای ایس کا استعمال کرتا ہے، نہ کہ ای ایس ڈسکرپٹر کا۔ یہ بھی دیکھیں کہ ہم وقت DOS 286 FlexOS 286 IBM 4680 OS حوالہ جات مزید پڑھنا (XXVI + 738 + IV صفحات، 3.5 "-فلاپی) ایرراٹا: X86 ہدایات