Honeywell ARGUS
اے آر جی یو ایس، آٹومیٹک روٹین جنریٹنگ اینڈ اپڈیٹنگ سسٹم کا مخفف، ایک اسمبلی زبان تھی جسے ہنی ویل نے 1950 کی دہائی کے آخر میں اپنے ہنی ویل 800 اور 1800 کمپیوٹرز کے لیے وضع کیا تھا۔ دیگر اسمبلی زبانوں کی طرح، اے آر جی یو ایس کی ہر لائن کو ایک کارڈ پر کاپی کیا گیا تھا اور میموری میں ایک لفظ سے منسلک کیا گیا تھا، سوائے اس کے کہ ایک اے آر جی یو ایس کمانڈ، ریزرو، مخصوص پوزیشن میں الفاظ کی کسی بھی مخصوص تعداد کو محفوظ کر سکتی ہے۔ ریزرو کمانڈ بھی مخصوص الفاظ میں ابتدائی ڈیٹا کو تجویز نہ کرنے میں غیر معمولی تھی۔ چند مستثنیات کے ساتھ مشین زبان کے الفاظ کو اسی ترتیب میں کوڈ کیا گیا تھا جس میں اے آر جی یو ایس لائنیں تھیں۔ ہنی ویل 800 میموری ہنی ویل 800 اور 1800 میں ایک اہم میموری اور ایک کنٹرول میموری تھی، دونوں میں فیرائٹ کور کا استعمال کیا گیا تھا۔ گاہکوں کی ضروریات کے مطابق مرکزی میموری 4 اور 16 بینکوں کے درمیان تھی۔ ہر بینک میں 48 بٹس کے 2048 الفاظ تھے۔ انفرادی تنصیب میں بینکوں کی اصل تعداد 4 کی ضرب ہونی چاہیے۔ کنٹرول میموری میں 16 بٹس کے 256 رجسٹر تھے۔ کسی بھی وقت مشین نظریاتی طور پر ایک آپریٹنگ سسٹم اور 7 ایپلیکیشن پروگرام چلا سکتی ہے، ہر ایک میں 32 رجسٹروں کا خصوصی استعمال ہوتا ہے۔ ایک ایسا پروگرام جس میں 2048 سے زیادہ الفاظ (ڈیٹا اور ہدایات مشترکہ) کی ضرورت ہوتی ہے اسے 2048 الفاظ یا اس سے کم کے حصوں میں تقسیم کرنا پڑتا تھا۔ ہر حصے میں مرکزی میموری کے ایک بینک کا خصوصی استعمال ہوگا۔ ایک حصے سے دوسرے حصے میں کنٹرول منتقل کرنے کے لیے خصوصی ہدایات تھیں۔ اے آر جی یو ایس کمانڈ کی ترتیب اے آر جی یو ایس کمانڈ کی ہر لائن میں مندرجہ ذیل چھ فیلڈز تھے: لوکیشن ایک اختیاری اے آر جی یو ایس نام ہے جسے میموری میں اس لفظ کو تفویض کیا جاتا ہے۔ جب ہر لفظ کا پتہ میموری میں تفویض کیا جاتا ہے، تو لائن کا اے آر جی یو ایس نام اس کے متعلقہ لفظ کی پوزیشن سے منسلک ہوتا ہے۔ اے آر جی یو ایس کی دوسری لائنیں اس نام کا حوالہ دے سکتی ہیں اور ان کے الفاظ کو صحیح میموری ایڈریس تفویض کیا جائے گا۔ پروگرام کے اندر، ہر نام منفرد ہونا ضروری تھا۔ یہ فیلڈ R سے شروع ہو سکتا ہے۔ اگر ایسا ہے تو باقی کارڈ صرف ریمارکس ہیں۔ یہ فیلڈ X، یا X، ایڈریس نام سے شروع ہو سکتا ہے۔ اگر ایسا ہے تو یہ لائن اور کوئی دوسری X، لائنیں ان لائنوں سے دور رکھی جائیں گی جو اتنی نشان زد نہیں ہیں۔ اس کے بعد انہیں X، + n یا ایڈریس فیلڈ میں ایڈریس نام سے مخاطب کیا جا سکتا ہے۔ یہ فیلڈ ایم، ماسک نام سے شروع ہو سکتا ہے۔ اگر ایسا ہے تو لائن ماسک آپریشن کی وضاحت کرتی ہے: مشین لینگویج کمانڈ کا اے آر جی یو ایس نام یا صرف اے آر جی یو ایس کمانڈ۔ اس کے بعد ضرورت پڑنے پر ماسک کا پتہ لگایا جا سکتا ہے۔ چند کمانڈوں میں اضافی معلومات ہوتی تھیں۔ A، B اور C پتے: مشین کوڈ میں ترجمہ کیا جائے (نیچے دیکھیں)۔ A اور B پتے عام طور پر دو ان پٹ الفاظ تھے اور C ایڈریس منزل تھی۔ آئی ڈی: عام طور پر کارڈ پنچ مشین کے ذریعے کارڈ پر ایک سیریل نمبر لگایا جاتا ہے۔ کسی بھی ایسے کارڈ کا سہارا لیتے تھے جسے گرایا جا سکتا ہو۔ مشین لینگویج کمانڈز کا ترتیب ہر مشین لینگویج کمانڈ میں 48 بٹس کا ایک لفظ استعمال کیا جاتا ہے۔ اسے 12 بٹس کے 4 حصوں میں تقسیم کیا گیا تھا۔ پہلے 12 بٹس نے کمانڈ کے لیے کسی بھی ماسک کے آفسیٹ ایڈریس سمیت ذیلی معلومات کے ساتھ آپریشن کی وضاحت کی۔ تین دیگر حصے اے، بی اور سی پتے تھے۔ اگر ماسک کی وضاحت کی گئی تھی تو کمانڈ کا حتمی نتیجہ منزل تک پہنچنے سے پہلے اس ماسک سے گزر جائے گا۔ مثال کے طور پر، اگر ماسک کا بٹ 17 1 تھا تو نتیجہ منزل کے بٹ 17 پر جائے گا۔ اگر ماسک کا بٹ 17 0 ہوتا تو منزل کے بٹ 17 پر کچھ اور جاتا۔ کمانڈ کے لحاظ سے یہ 0 ہو سکتا ہے یا یہ ان پٹ لفظ کا غیر تبدیل شدہ بٹ 17 ہو سکتا ہے۔ ایک حصے میں 16 ماسک تک کی اجازت تھی اور انہیں مسلسل الفاظ میں ہونا پڑتا تھا، جس کا آغاز ایک ایسے پتے سے ہوتا تھا جس کے آخری چار بٹس تمام 0 تھے۔ ان سب کے پاس ارگس کے مقام کے نام تھے۔ ماسک رجسٹر نامی ایک خصوصی رجسٹر میں بنیادی پتہ ہوتا تھا۔ کمانڈ فیلڈ میں نامزد ماسک کا آفسیٹ ایڈریس رکھنے کے لیے 4 بٹس تھے۔ ایڈریسنگ میموری کے طریقے زیادہ تر کمانڈوں کے لیے اے، بی اور سی ایڈریس سیکشنز کو میموری میں حقیقی مقامات کی نشاندہی کرنے کے لیے استعمال کیا جاتا تھا۔ خطاب کرنے کے چھ طریقے تھے۔ دو شاذ و نادر ہی استعمال ہوتے تھے۔ بقیہ تھے: براہ راست، براہ راست خصوصی رجسٹر، بالواسطہ ایڈریسنگ اور انڈیکسڈ۔ براہ راست ایڈریسنگ مرکزی میموری ایڈریس براہ راست کمانڈ کے ذریعے متعین کیا جاتا ہے۔ مشینی زبان میں 12 بٹس میں سے ایک براہ راست موڈ کی نشاندہی کرتا ہے، دوسرے 11 صحیح ایڈریس کی وضاحت کرتے ہیں۔ 11 بٹس 0 سے 2047 تک کے نمبروں کی نمائندگی کر سکتے ہیں لیکن اس سے بڑا کچھ نہیں۔ تاہم یہ ایڈریسنگ کی سب سے موثر قسم ہے۔ یہ مخمصے کی وجہ یہ ہے کہ بینک میں صرف 2048 الفاظ ہوتے ہیں اور ایک حصہ صرف ایک بینک تک محدود ہوتا ہے۔ آرگس کوڈ کی ایک لائن میں اسے لکھنے کے دو طریقے ہیں: 1. ایک نام، جو پہلے لوکیشن کالم میں بیان کیا گیا تھا۔ اس میں ایک عدد (اعشاریہ) شامل کیا جا سکتا ہے، مثلا۔ : بفر 0+59 2۔ موجودہ لائن سے باہر کئی لائنیں (الفاظ) کا مقام، جیسے۔ C، 2 کا مطلب ہے اس سے آگے کی دو لکیر۔ بالواسطہ ایڈریسنگ 12 بٹس میں ایڈریسنگ کا طریقہ اور کنٹرول میموری میں رجسٹر کا پتہ شناخت کیا جاتا ہے۔ اس کے علاوہ 0 اور 32 کے درمیان اضافے کی وضاحت کی گئی ہے۔ مرکزی میموری ایڈریس کنٹرول میموری میں رجسٹر میں ہے۔ پروسیسر پہلے رجسٹر سے مرکزی میموری ایڈریس حاصل کرے گا، پھر اس مرکزی میموری ایڈریس پر لفظ کے لیے کال کرے گا۔ آخر میں یہ رجسٹر کی قیمت میں مخصوص رقم سے اضافہ (اضافہ) کرے گا۔ رجسٹر سے 16 بٹ ایڈریس میں 5 بٹس کا استعمال کرتے ہوئے 0 سے 31 تک کا بینک ایڈریس اور 11 بٹس کا استعمال کرتے ہوئے اس بینک میں ایک لفظ ہوتا ہے۔ اضافہ صرف پتے اے اور بی کے لیے تجویز کیا گیا تھا۔ اے آر جی یو ایس: این میں، آر 0,3 کا مطلب ہے رجسٹر آر 0 کا استعمال کریں اور پھر اسے 3 سے بڑھا دیں۔ براہ راست خصوصی رجسٹر ایک رجسٹر کو براہ راست اسی انداز میں خطاب کیا جاتا ہے جس طرح مرکزی میموری میں ایک لفظ ہوتا ہے۔ آرگس: زیڈ میں، R0,3 کا مطلب ہے R0 کو براہ راست رجسٹر کرنے کے لیے پڑھنا یا لکھنا اور پھر اسے 3 سے بڑھانا۔ لکھتے وقت اضافہ کی سفارش نہیں کی جاتی ہے۔ انڈیکسڈ ایڈریسنگ یہ صرف 8 رجسٹروں پر لاگو ہوتا ہے، جنہیں انڈیکس رجسٹر کہتے ہیں۔ انڈیکس رجسٹر کی وضاحت کرنے میں 3 بٹس لگتے ہیں اور 0 سے 127 کے آفسیٹ کی وضاحت کرنے میں مزید 7 بٹس لگتے ہیں۔ لہذا آفسیٹ کو مکمل لمبائی والے مرکزی میموری ایڈریس میں شامل کیا جاتا ہے۔ یہ ایک طاقتور ہتھیار ہے۔ یہ ملٹی ورڈ ٹیکسٹ یا ریکارڈ پر کارروائی کرنے کے لیے مددگار ہے۔ ٹیپ بفرز کو عام طور پر اس طرح سے خطاب کیا جاتا ہے۔ آرگس میں: X0,35 یا 0,35 کا مطلب ہے انڈیکس رجسٹر 0 کا استعمال کریں، اس نمبر کو 35 (اعشاریہ) تک بڑھا دیں اور مین میموری میں اس مقام سے پڑھیں یا لکھیں۔ X0 میں قدر تبدیل نہ کریں۔ غیر فعال ایڈریس اے آر جی یو ایس میں ایڈریس فیلڈ ڈیش (-) تھا۔ اس کا مطلب یہ تھا کہ فیلڈ کو پروسیسر نظر انداز کر دے گا، اس طرح کمانڈ کے معمول کے عمل کے حصے کو کالعدم کر دے گا۔ رجسٹر جیسا کہ ذکر کیا گیا ہے، پروگرام کو 32 رجسٹروں تک رسائی حاصل تھی۔ 8 کے خصوصی افعال تھے، 16 رجسٹر (R0 سے R15) عام مقصد کے تھے اور 8 (X0 سے X7) انڈیکس رجسٹر تھے۔ انڈیکس ایڈریسنگ صرف انڈیکس رجسٹروں کے لیے ممکن تھی۔ براہ راست اور بالواسطہ ایڈریسنگ عام مقصد اور انڈیکس رجسٹر دونوں پر لاگو ہوتے تھے۔ وہ شاید دوسرے رجسٹروں کے ساتھ بھی کام کریں گے لیکن یہ برا عمل ہوگا۔ خصوصی رجسٹر یہ تھے: ایس سی (سیکوینس کاؤنٹر) ایس ایچ (سیکوینس ہسٹری) سی ایس سی (سیکوینس کاؤنٹر) سی ایس ایچ (سیکوینس ہسٹری) ایم ایس کے (ماسک رجسٹر) اے یو 1 اور اے یو 2 انہیں کمپیوٹر نے پروگرام کو انجام دینے کے لیے استعمال کیا تھا۔ آپریشن میں، سیکوینس کاؤنٹر میں ہمیشہ اس کمانڈ کا مکمل پتہ ہوتا تھا جو چل رہا تھا۔ عام طور پر کمانڈز کو لوکیشن آرڈر میں انجام دیا جاتا تھا۔ سیکوینس ہسٹری میں سیکوینس کاؤنٹر کی آخری قیمت موجود تھی۔ اس قیمت کو سبروٹین پر کودنے کے فورا بعد ذخیرہ کرنا پڑتا تھا۔ ورنہ واپس آنا ناممکن ہوگا۔ کوسیکوینس کاؤنٹر اور ہسٹری نے اپنے آرگس لوکیشن کے آغاز میں کسی بھی کمانڈ کے لیے وہی افعال انجام دیے جن میں X تھا۔ ایم ایس کے رجسٹر میں پہلے ماسک کا مکمل مقام تھا (نیچے دیکھیں)۔ اے یو 1 اور اے یو 2 کو اندرونی طور پر کچھ کمانڈوں، خاص طور پر ٹی این کے ذریعے استعمال کیا جاتا تھا۔ انہیں پروگراموں کے ذریعے بھی استعمال کیا جا سکتا ہے۔ تاہم، اس بات کا خطرہ تھا کہ اندرونی آپریشن مداخلت کر سکتا ہے لہذا یہ دانشمندانہ انتخاب نہیں تھا۔ کمانڈز ہر اے آر جی یو ایس لائن میموری میں ایک لفظ کی وضاحت کرتی ہے۔ عام آپریشن میں پروسیسر ہر کمانڈ کو ایڈریس آرڈر میں انجام دیتا ہے۔ کچھ کمانڈ دوسرے پتے پر جے یو ایم پی کا آرڈر دے سکتے ہیں (اسی بینک میں براہ راست ایڈریسنگ کے ذریعے)۔ ریاضیاتی کمانڈ ڈبلیو اے، بی اے اور ڈی اے، مختلف طریقوں سے، سبھی پتے اے اور بی سے نمبر حاصل کرتے ہیں، انہیں ایک ساتھ جوڑتے ہیں اور نتیجہ کو پتے سی میں ڈالتے ہیں۔ بی ایس اور ڈی ایس دونوں کمانڈ ایڈریس اے میں موجود نمبر سے پتے بی میں موجود نمبر کو گھٹاتے ہیں، نتیجہ کو پتے سی میں رکھتے ہیں۔ ڈبلیو اے (ورڈ ایڈ) دو ان پٹ نمبروں کو بائنری نمبروں کے طور پر مانتا ہے جس میں کوئی نشان نہیں ہوتا ہے۔ یہ اکثر کسی معروف پتے میں اضافہ شامل کرنے کے لیے استعمال ہوتا تھا۔ بی اے اور بی ایس (بائنری ایڈ اور بائنری سبٹریکٹ) دو ان پٹ نمبروں کو دستخط شدہ بائنری سمجھتے ہیں۔ ڈی اے اور ڈی ایس (اعشاریہ اضافہ اور اعشاریہ گھٹاؤ) دو ان پٹ نمبروں کو دستخط شدہ اعشاریہ کے طور پر مانتے ہیں۔ بائیں طرف کے چار بٹس نشان کی وضاحت کرتے ہیں۔ اگر وہ سب صفر ہیں تو نشان مثبت ہے۔ ورنہ یہ منفی ہے۔ کمانڈ ڈی ایم ایڈریس بی میں نمبر کو ایڈریس اے میں نمبر سے ضرب دیتا ہے، جس سے نتیجہ کے بائیں نصف حصے کو ایڈریس سی میں رکھا جاتا ہے۔ باقی نچلے درجے کے ہندسوں کو ایل او پی، لو آؤٹ پٹ رجسٹر میں چھوڑ دیا جاتا ہے۔ انہیں وہاں سے ٹی ایکس یا ٹی ایس کمانڈ کے ذریعے مرکزی میموری ایڈریس میں منتقل کیا جا سکتا ہے۔ ڈی ایم کو فلوٹنگ پوائنٹ اڈاپٹر کی مکمل حمایت حاصل ہے۔ اس کی عدم موجودگی میں تخروپن کی ضرورت ہوتی ہے۔ ڈیٹا ٹرانسفر اور پروگرام کنٹرول ٹی ایکس ٹرانسفر ایڈریس اے سے ایڈریس سی میں۔ ایڈریس بی کو غیر فعال ہونا چاہیے (ایڈریسنگ کے طریقے دیکھیں) ٹی ایس ایڈریس اے سے ایڈریس بی میں ٹرانسفر کریں پھر سی سی ایڈریس پر کمانڈ میں ترتیب سے باہر جے یو ایم پی کریں۔ سی ایک براہ راست ایڈریس ہونا چاہیے۔ اختیاری طور پر A اور B غیر فعال ہو سکتے ہیں اور کمانڈ خالص چھلانگ بن جاتی ہے۔ یہ اس مشین کے سب سے قریب ہے جو گوٹو کمانڈ تک پہنچتی ہے۔ ایم ٹی ایڈریس اے سے ایڈریس سی میں کئی بار منتقل کریں۔ ایڈریس فیلڈ B میں اعشاریہ نمبر کے طور پر اوقات کی تعداد متعین کی گئی ہے۔ یہ نمبر صحیح پتہ نہیں ہے۔ اسے بائنری میں تبدیل کیا جاتا ہے اور مشین لینگویج کمانڈ کے آپریشن سیکشن میں رکھا جاتا ہے۔ اس لیے قیمت بڑی نہیں ہو سکتی۔ ایڈریس سی ایک یا زیادہ کے اضافے کے ساتھ بالواسطہ ہونا چاہیے تاکہ ہر انفرادی منتقلی ایک مختلف لفظ پر چل سکے۔ یہ کمانڈ میرے ایپلیکیشن پروگرامنگ کے تجربے میں شاذ و نادر ہی استعمال ہوئی تھی۔ تاہم یہ آپریٹنگ سسٹمز اور مرتب کرنے والوں میں زیادہ مفید ثابت ہو سکتا ہے۔ ٹی این ایڈریس اے سے ایڈریس سی میں منتقل کریں۔ پھر اے + 1 سے سی + 1 میں منتقل کریں۔ ایڈریس بی میں بتائے گئے اوقات کی تعداد کے لیے مجموعی طور پر جاری رکھیں۔ جہاں تک ایم ٹی کا تعلق ہے، یہ ایک اعشاریہ نمبر ہے جو مشین کمانڈ کے آپریشن سیکشن میں بائنری میں ختم ہوتا ہے۔ یہ کمانڈ اکثر ایپلی کیشنز میں استعمال ہوتی تھی، خاص طور پر متن کے علاقوں کو خالی کرنے کے لیے۔ اس کمانڈ نے ایڈریس انکریمنٹس کو منظم کرنے کے لیے رجسٹرس اے یو 1 اور اے یو 2 کا استعمال کیا۔ این اے پتے اے اور بی کا موازنہ کریں۔ اگر برابر ہے تو معمول کے مطابق جاری رکھیں۔ اگر سی ایل اے سے خطاب کرنے کے لیے غیر مساوی جے یو ایم پی ہے تو پتے اے اور بی کا موازنہ کریں۔ اگر A (غیر دستخط شدہ بائنری کے طور پر) B سے کم یا اس کے برابر ہے تو معمول کے مطابق جاری رکھیں۔ بصورت دیگر جے یو ایم پی سے سی۔ کاؤنٹر والے لوپ کے لیے، ایل اے این اے سے زیادہ محفوظ ہے۔ اگر منطق گمراہ ہو جائے تو این اے لوپ بھاگ سکتا ہے۔ پی آر آگے بڑھیں۔ یہ ایک "کچھ نہ کریں" کا حکم تھا جس کے باوجود کچھ وقت لگے گا۔ تینوں پتے غیر فعال ہوں گے۔ اسے لوپ میں آپریٹر کو یاد دلانے سے پہلے کچھ کارروائی کرنے کا انتظار کرنے کے لیے استعمال کیا جا سکتا ہے۔ مستقل اور ابتدائی قدر کی تعریف یہ اے آر جی یو ایس کمانڈ تھے جن کا ترجمہ میموری میں ایڈریس کے بائنری میں ابتدائی قدر میں کیا جانا تھا۔ اصل قیمت ایڈریس اے میں جائے گی، ایڈریس بی اور سی میں جاری رہے گی، جب تک کہ ضروری ہو۔ ان میں سے زیادہ تر لائنیں مستقل کے طور پر استعمال کے لیے تھیں اور ان میں فعال کمانڈوں کے ذریعے حوالہ کے لیے لوکیشن کوڈ ہوتا۔ او سی ٹی مکے والے حرف یا نمبر کا ترجمہ تھری بٹ آکٹل کوڈ میں کیا جاتا ہے۔ تو 0، 000 بن جاتا ہے، 1، 001 بن جاتا ہے، 2، 010 بن جاتا ہے اور 7، 111 بن جاتا ہے۔ HEX مکے والے حرف یا نمبر کا ترجمہ چار بٹ ہیکساڈیسیمل کوڈ میں کیا جاتا ہے۔ 0 0000 ہو جاتا ہے، 1 0001 ہو جاتا ہے، 9 1001 ہو جاتا ہے۔ پھر B سے G اعشاریہ 10 سے 15 کی نشاندہی کرتا ہے، جو بائنری میں 1010 سے 1111 ہے۔ ہنی ویل ہیکساڈیسیمل کوڈ B سے G استعمال کیا جاتا ہے جہاں IBM نے A سے F استعمال کیا۔ DEC مکے والے حرف یا نمبر کا ترجمہ چار بٹ اعشاریہ کوڈ میں کیا جاتا ہے۔ یہ ہیکساڈیسیمل کی طرح ہے سوائے اس کے کہ صرف 0 سے 9 درست ہیں۔ اے ایل ایف مکے والے حرف یا نمبر کا ترجمہ ہنی ویل کے اپنے بائنری کوڈ کے مطابق حروف تہجی نمبروں، حروف اور علامتوں کے لیے کیا جاتا ہے۔ ایم، ایکس، ٹیکسٹ پلس ایکس کی علیحدہ اندراجات، ہر ایڈریس فیلڈ میں ٹیکسٹ۔ یہاں، x O، H، D، یا A ہو سکتا ہے جس سے لفظ کے ہر 12 بٹ سیکشن کو اوپر دیے گئے طریقوں میں سے کسی ایک کا استعمال کرتے ہوئے انکوڈ کیا جا سکتا ہے۔ او سی ٹی، ایچ ای ایکس اور ڈی ای سی کے لیے، نمبر کی علامت کو ظاہر کرنے کے لیے بائیں طرف کے 4 بٹس استعمال کیے جاتے ہیں۔ ماسک اور سوئچ کمانڈ ایک ماسک مستقل تھا جس میں ایم، ماسک نام کی لوکیشن انٹری تھی۔ اے آر جی یو ایس میں تمام ماسک کو ایک ساتھ رکھنا اچھا عمل تھا۔ کسی بھی صورت میں آرگس انہیں لگاتار الفاظ میں ایک ساتھ رکھے گا۔ ماسک کی زیادہ سے زیادہ تعداد 15 تھی۔ ماسک کو کسی بھی کمانڈ کے عمل میں ترمیم کرنے کے لیے استعمال کیا جا سکتا ہے جو کسی لفظ کی قدر کو تبدیل کر سکتا ہے، مثال کے طور پر: TX، ماسک نام ماسک "ماسک نام" کو TX کمانڈ پر لاگو کرے گا۔ ماسکنگ ایک سوئچ ورڈ کمانڈ کے لیے ضروری تھا لیکن دیگر کمانڈوں کے لیے بہت قیمتی نہیں تھا۔ کچھ تنصیبات میں صرف سوئچ ورڈ کے لیے استعمال کرنے کا معیار تھا۔ پہلے ماسک کا پورا پتہ ایم ایس کے رجسٹر میں رکھا جائے گا اور انفرادی ماسک کا آفسیٹ مشین لینگویج کمانڈ کے کمانڈ سیکشن میں رکھا جائے گا جس کے لیے اسے متعین کیا گیا تھا۔ نتیجتا، ایک پروگرام کی ضرورت تھی اور اس میں ماسک کا صرف ایک سیٹ تھا اور انہیں کسی بھی حصے سے استعمال کیا جا سکتا تھا۔ لفظ میں کچھ بٹس کو دوسری بٹ پوزیشنوں پر منتقل کرنے کے لیے سوئچ ورڈ کمانڈز استعمال کیے جاتے تھے۔ دو سوئچ ورڈ کمانڈز تھے اور وہ بہت ملتے جلتے تھے۔ سوئچ ورڈ اور ایکسٹریکٹ میں اے آر جی یو ایس کمانڈ تھی: ایس ڈبلیو ای، ماسک نام، اے ایڈریس ماخذ تھا اور سی ایڈریس منزل تھی۔ بی ایڈریس فیلڈ سوئچ کی مقدار کے لیے تھا: x، n، d۔ x B، D یا A تھا جو بائنری، اعشاریہ یا حرفی کی نمائندگی کرتا ہے، یعنی۔ بالترتیب 1، 4 یا 6 بٹس کی اکائیاں۔ d بائیں یا دائیں کے لیے L یا R تھا۔ آپریشن میں: لفظ ایڈریس اے سے حاصل کیا گیا تھا بٹس کو یونٹ کے مخصوص بٹس کی تعداد اور سائز کے لحاظ سے بائیں یا دائیں منتقل کیا گیا تھا جو "گرے" تھے اور سرے کو مخالف سرے پر واپس ڈال دیا گیا تھا۔ منتقل شدہ لفظ کو ماسک بٹ سے بٹ کے ذریعے منتقل کیا گیا تھا۔ اگر ماسک بٹ 1 تھا تو منتقل شدہ بٹ کو کاپی کیا جائے گا۔ ورنہ ایک 0 بٹ پاس ہو جائے گا۔ ترمیم شدہ لفظ ایڈریس سی میں رکھا گیا تھا دوسری سوئچ ورڈ کمانڈ اسی نحو کے ساتھ سوئچ ورڈ اور سپر امپوز، ایس ڈبلیو ایس تھی۔ ماسک کے مرحلے میں عمل مختلف تھا۔ اگر ماسک بٹ 0 تھا تو منتقل شدہ بٹ کے بجائے غیر منتقل شدہ آؤٹ پٹ ورڈ میں رکھا گیا تھا۔ 1 کے ماسک بٹ کے لیے ایکشن وہی تھا جو ایس ڈبلیو ای کے لیے تھا۔ مثال ایڈریس اے 6 بٹس کے 8 حروف پر مشتمل ہے: ABCDEFGH ماسک ONECHAR اس کے دائیں طرف 1 پر مشتمل ہے-سب سے زیادہ 6 بٹس اور 0 دوسری جگہوں پر۔ کمانڈ ہے: ایس ڈبلیو ای، او این ای سی ایچ اے اے، 4، آر سی پھر ایڈریس سی پر مشتمل ہوگا: 0000000 ڈی اگر کمانڈ ہے: ایس ڈبلیو ایس، او این ای سی ایچ اے اے، 4، آر سی تو ایڈریس سی پر مشتمل ہوگا: اے بی سی ڈی ای ایف جی ڈی مشین زبان میں تمام شفٹوں کو بائنری رائٹ کے طور پر پیش کیا گیا تھا۔ ایکس، این، ڈی فارمیٹ کے تمام اے آر جی یو ایس کوڈز کو بائنری رائٹ تک کم کیا جا سکتا ہے۔ میکرو اور سبروٹائنز ایک میکرو کو ایل $، میکرو نام سے پکارا جائے گا۔ یہ اسمبلر سے اس وقت میکرو "میکرو نام" کا اے آر جی یو ایس متن داخل کرنے کی درخواست کرے گا۔ یہ اسمبلی کے ابتدائی مرحلے کے دوران کیا گیا تھا اس سے پہلے کہ اے آر جی یو ایس کو مشین کوڈ میں ترجمہ کیا جائے۔ معیاری لائبریری (اس کی اپنی ٹیپ پر رکھی گئی) میں کافی میکرو تھے اور صارفین مزید اضافہ کر سکتے تھے۔ میکرو جی ای ٹی اور پی یو ٹی ان پٹ ٹیپ بفر سے کوئی آئٹم حاصل کرتے ہیں یا کسی آئٹم کو آؤٹ پٹ ٹیپ بفر میں ڈالتے ہیں، ریکارڈ کو پڑھتے یا لکھتے ہیں۔ سبروٹین کی دو قسمیں تھیں۔ ایک مکمل طور پر آرگس میں لکھا گیا تھا۔ یہاں ایک مثال ہے، سبروٹین سوبا کا استعمال کرتے ہوئے: دوسری قسم کی سبروٹین میکرو ریپر کے ساتھ مشین زبان میں فراہم کی گئی تھی۔ اسے عام طور پر ہنی ویل کے عملے نے لکھا تھا۔ میکرو نے سبروٹین کو کال کرنے کے لیے GOSUB کمانڈ کا استعمال کیا۔ فلوٹنگ پوائنٹ کمانڈز ہنی ویل 1800 میں سائنسی کمپیوٹنگ کے لیے ایک اختیاری فلوٹنگ پوائنٹ اڈاپٹر تھا۔ اس کے لیے کمانڈوں کا ایک مجموعہ تھا۔ یہ کمانڈ تخروپن کی شکل میں بھی دستیاب تھے اگر ہارڈ ویئر میں اڈاپٹر شامل نہیں تھا لیکن باقاعدہ استعمال کے لیے اس کی سفارش نہیں کی گئی تھی۔ اے آر جی یو ایس فلوٹنگ پوائنٹ کمانڈز یکساں تھے اس بات سے قطع نظر کہ آیا کوئی اڈاپٹر موجود تھا۔ اس کی عدم موجودگی میں، اے آر جی یو ایس حقیقی فلوٹنگ پوائنٹ آپریشن کی مشین زبان کا تخروپن فراہم کرے گا۔ مشین کی سطح پر پردیی ان پٹ/آؤٹ پٹ کنٹرول ان پٹ اور آؤٹ پٹ ڈیوائس کے پتے دو آکٹل ہندسوں 0-7 تھے۔ اے آر جی یو ایس کی سطح پر یہ دو حروف اے-جی تھے۔ پہلے ہندسوں نے کنٹرولر کی شناخت کی، دوسرے ہندسوں نے اس کنٹرولر پر موجود ڈیوائس نمبر کی شناخت کی۔ ٹیپ پروسیسنگ کے لیے، ٹیپ پر موجود ڈیٹا کی ایک اکائی کو ہنی ویل دستی میں ریکارڈ کہا جاتا تھا۔ آئی بی ایم نے کال کی، اور اب بھی کال کرتا ہے، یہ ایک بلاک ہے۔ ریکارڈ کی ذیلی تقسیم کو آئٹم کہا جاتا تھا۔ آئی بی ایم نے اسے ایک ریکارڈ قرار دیا۔ آئی بی ایم کی اصطلاحات امریکی معیار بن گئیں۔ کمانڈز: کمانڈ آر ڈبلیو، اے اے ٹیپ یونٹ اے اے، آکٹل 00 پر ٹیپ کو ریونڈ کرے گی۔ کمانڈ آر ایف، اے اے ٹیپ یونٹ اے اے، آکٹل 00 پر اگلا ریکارڈ پڑھے گا۔ کمانڈ آر بی، اے اے ڈیٹا فراہم کیے بغیر ٹیپ یونٹ اے اے، آکٹل 00 پر پچھلے ریکارڈ کو پڑھ لے گی۔ موجودہ ٹیپ میں ترمیم کرنے کے لیے، آپ پہلا ریکارڈ تلاش کرنے کے لیے آر ایف کا استعمال کر سکتے ہیں جو آپ نہیں چاہتے تھے، پھر آر بی اس سے پہلے کی جگہ تک پہنچ سکتا ہے، پھر ڈبلیو ایف اس پر اور اس کے بعد لکھ سکتا ہے۔ کمانڈ ڈبلیو ایف، اے بی ٹیپ یونٹ اے بی، آکٹل 01 پر اگلا ریکارڈ لکھے گا۔ کمانڈ آر ایف، جی اے کارڈ ریڈر، ڈیوائس جی اے، آکٹل 70 پر اگلے کارڈ کو پڑھے گا۔ ایڈریس اے اس پڑھنے یا لکھنے کے عمل کے لیے بفر میں پہلا لفظ ہوگا۔ ہر ڈیوائس کے لیے دو بفر استعمال کرنا معمول تھا تاکہ پڑھنا یا لکھنا پروسیسنگ کے متوازی چل سکے۔ اسے ڈبل بفرنگ کہا جاتا ہے۔ بفر کا سائز "ریکارڈز" (بلاکس) کے سائز میں ایک محدود عنصر تھا کیونکہ بنیادی میموری محدود تھی۔ ٹیپ پر ریکارڈ لکھنے کی تیاری کرتے وقت، ہر آئٹم کو ایک مقررہ کوڈ کے ساتھ اینڈ آف آئٹم ورڈ کے ذریعے ختم کیا جاتا تھا۔ ہر ریکارڈ کو ایرر چیکنگ کے لیے آرتھو ورڈ کے ذریعے ختم کیا جاتا تھا جس کے بعد اینڈ آف ریکارڈ ورڈ ہوتا تھا۔ آؤٹ پٹ بفر کو آئٹمز سے بھرنے کے بعد کمپیوٹ آرتھو (سی سی) کمانڈ کا استعمال آرتھو لفظ کا حساب لگانے اور اینڈ آف ریکارڈ لفظ فراہم کرنے کے لیے کیا گیا۔ کمپیوٹ آرتھو کمانڈ کے لیے ایڈریس A اور B نے پہلے اور آخری لفظ کی پوزیشنوں کو نشان زد کیا۔ اس کے بعد، ریکارڈ ڈبلیو ایف کمانڈ کے ذریعے لکھا جائے گا۔ آخر میں کنٹرول مرکزی پروگرام کو واپس کر دیا جائے گا۔ عام درخواست کے کام کے لیے شاید آر ڈبلیو کے علاوہ تمام پردیی کمانڈوں کو ذیلی معمول میں رکھا جائے گا۔ پروگرام ایڈمنسٹریشن کمانڈز پروگراموں کے انتظامیہ سے نمٹنے کے لیے اے آر جی یو ایس کمانڈز تھے۔ کسی پروگرام کو جمع کرنے کے لیے درج ذیل کی ضرورت تھی: مطلوبہ تمام تبدیلیوں کے لیے اے آر جی یو ایس کوڈ پر مشتمل کارڈز کا ایک ڈیک۔ انسٹالیشن میں موجود تمام اے آر جی یو ایس پروگراموں پر مشتمل ایک ان پٹ ٹیپ۔ تمام نئے اے آر جی یو ایس پروگراموں اور پرانے پروگراموں کے تمام ترامیم پر مشتمل ایک آؤٹ پٹ سکریچ ٹیپ۔ ایک ان پٹ ٹیپ جس میں انسٹالیشن کے تمام مشین لینگویج پروگرام ہوتے ہیں۔ تمام مشینی زبان کے پروگراموں پر مشتمل ایک ان پٹ ٹیپ-غیر تبدیل شدہ، نیا یا دوبارہ جمع کیا گیا۔ میکرو کی لائبریری پر مشتمل ایک ان پٹ ٹیپ۔ ان میکرو کو اسمبلی کے دوران اور مشین کوڈ میں ترجمہ سے پہلے اے آر جی یو ایس کوڈ میں شامل کیا جائے گا۔ کارڈ کی تصاویر کو ترتیب دینے کے لیے ایک یا زیادہ سکریچ ٹیپ۔ بنائے جانے یا تبدیل کیے جانے والے ہر پروگرام کے لیے بہت کم انتظامی کمانڈوں کی ضرورت تھی۔ U، NEWPROG پروگنام اس کے بعد آنے والے کارڈ ایک مکمل، نئے پروگرام کے لیے ہوتے ہیں جسے پروگنام کہتے ہیں۔ U، REASSMB پروگنام اس کے بعد آنے والے کارڈ موجودہ پروگرام کے پروگنام میں ترمیم ہیں۔ U، NEWSEG پروگنام سگنام اس کے بعد آنے والے کارڈ ایک مکمل، نیا طبقہ ہے جسے (نئے یا موجودہ) پروگرام کا سگنام کہا جاتا ہے جسے پروگنام کہا جاتا ہے۔ U، SEGMENT پروگنام سگنام اس کے بعد آنے والے کارڈ پروگرام کے پروگنام کے سیگمنٹ سگنام میں ترمیم ہوتے ہیں۔ U، ENDSEG یہ اس حصے (یا اس کے ترمیمات) کا اختتام ہے۔ U، ENDPROG یہ پروگرام کا اختتام ہے (یا اس میں ترمیم)۔ پروگرامنگ زبانوں کی تاریخ (کانفرنس) حوالہ جات بیرونی روابط ایسچر اوپلر اور میرا گرے، (1961)، ملٹی پروگرامڈ الجبرائی مرتب کا ڈیزائن (صرف سبسکرپشن) خودکار معمول کی تخلیق اور اپ ڈیٹنگ سسٹم بھی دیکھیں۔ ایچ او پی ایل سے: پروگرامنگ زبانوں کی ایک انٹرایکٹو فہرست۔ اسمبلی زبانیں ہنی ویل عددی پروگرامنگ زبانیں