ASIC programming language
اے ایس آئی سی بنیادی پروگرامنگ زبان کے ذیلی سیٹ کے لیے ایک مرتب اور مربوط ترقیاتی ماحول ہے۔ اسے شیئر ویئر کے طور پر ایم ایس-ڈاس اور ہم آہنگ سسٹمز کے لیے جاری کیا گیا تھا۔ 80/20 سافٹ ویئر کے ڈیو وستی کے لکھے ہوئے، یہ ان چند بنیادی مرتبوں میں سے ایک تھا جو بی بی ایس سے ڈاؤن لوڈ کرنے کے لیے قانونی طور پر دستیاب تھے۔ ASIC EXE یا COM فائل میں مرتب کرنے کی اجازت دیتا ہے۔ ہیلو ورلڈ پروگرام کے لیے ایک کام فائل 360 بائٹس ہے۔ اے ایس آئی سی کے پاس منطقی آپریٹرز، کنٹرول ڈھانچے، اور فلوٹنگ پوائنٹ ریاضی کے لیے بہت کم یا کوئی سپورٹ نہیں ہے۔ ان خامیوں کے نتیجے میں زبان میں گال کا نعرہ، "ASIC: یہ تقریبا بنیادی ہے!" خصوصیات اے ایس آئی سی اپنے عصری بیسک کے مقابلے میں بہت زیادہ غریب ہے۔ اے ایس آئی سی کی خصوصیات کا انتخاب کسی پروگرام کو آسانی سے اور براہ راست مشینی زبان میں مرتب کرنے کے لیے کیا جاتا ہے۔ اس طرح، اے ایس آئی سی کی بہت سی زبان کی تعمیرات اسمبلی زبان کی تعمیرات کے مساوی ہیں۔ پروگرام کے عناصر نہ تو شناخت کنندگان ہیں اور نہ ہی مطلوبہ الفاظ کیس حساس ہیں۔ کسی بھی ڈی آئی ایم کے بیانات، اگر مخصوص ہیں، تو انہیں آر ای ایم کے بیانات یا خالی لائنوں کے علاوہ دیگر تمام بیانات سے پہلے ہونا چاہیے۔ تمام ڈیٹا بیانات کو پروگرام کے آغاز میں، بیان کی دیگر تمام اقسام سے پہلے، سوائے ڈی آئی ایم، آر ای ایم بیانات، یا خالی لائنوں کے) رکھا جانا چاہیے۔ اظہارات ASIC میں ایکسپوینٹیشن آپریٹر نہیں ہے۔ اے ایس آئی سی کے پاس بولین آپریٹر (AND، OR، NOT وغیرہ) نہیں ہیں۔ ڈی آئی ایم بیان میں بیان کردہ صف کا سائز لیٹرل مستقل ہونا چاہیے۔ ایک واحد ڈی آئی ایم صرف ایک صف کا اعلان کرنے کی اجازت دیتا ہے۔ ان پٹ اور آؤٹ پٹ پرنٹ کے دلائل لفظی یا متغیر ہونے چاہئیں۔ پرنٹ مشترکہ تاثرات کو اپنے دلائل کے طور پر استعمال کرنے کی اجازت نہیں دیتا، اور نہ ہی یہ ؛ یا + کے ساتھ مربوط تاروں کو استعمال کرنے کی اجازت دیتا ہے۔ اگر پرنٹ کمانڈ ؛ یا کے ساتھ ختم ہوتی ہے، تو اگلی پرنٹ کمانڈ اس پوزیشن پر دوبارہ شروع ہوگی جہاں اس نے چھوڑا تھا، گویا اس کی دلیل موجودہ پرنٹ کمانڈ کی دلیل کے ساتھ منسلک کی گئی تھی۔ پرنٹ بیان انٹیجر ویلیوز چھ حروف چوڑے پرنٹ کرتا ہے۔ وہ دائیں طرف سیدھے ہوئے ہیں (کوئی ٹریلنگ خالی جگہیں نہیں)۔ لوکیٹ قطار، کالم ٹیکسٹ کرسر کو اس پوزیشن (کالم، قطار) پر منتقل کرتا ہے، جہاں 0 ≤ کالم اور 0 ≤ قطار ہے۔ پوزیشن (0، 0) اوپری بائیں کونے میں ہے۔ گرافکس پی ایس ای ٹی (قطار، کالم)، رنگ رنگ کے پکسل کو پوزیشن (کالم، قطار) پر آن کرتا ہے، جہاں 0 ≤ کالم اور 0 ≤ قطار ہے۔ پوزیشن (0، 0) اوپری بائیں کونے میں ہے۔ کنٹرول ڈھانچے ایک بولین حالت صرف اعداد یا تاروں کا موازنہ ہو سکتی ہے، لیکن مشترکہ تاثرات کا موازنہ نہیں۔ لیٹرل موازنہ کا لیفٹ آپریڈ نہیں ہو سکتا (مثال کے طور پر۔ X = 2 ہو سکتا ہے، 2 = X نہیں)۔ فیصلے اس کے بعد، ELSE یا ENDIF کے ذریعے محدود کردہ بیانات کا ایک سلسلہ ہو سکتا ہے۔ ایک مثال: اگر X <0 پھر پرنٹ "منفی" ELSE پرنٹ "غیر منفی" اینڈف دیگر بنیادی باتوں کے برعکس، بیانات کو پھر اور لائن کے آخر کے درمیان نہیں رکھا جا سکتا۔ ایک اگر بیان مشروط چھلانگ کا احساس کر سکتا ہے۔ اس صورت میں، اس کے بعد ایک لیبل ہو سکتا ہے۔ لوپنگ ان فار، ٹو کے بعد صرف ایک عدد ہو سکتا ہے-لفظی یا متغیر-لیکن مشترکہ اظہار نہیں۔ ASIC میں STEP شق موجود نہیں ہے۔ گوٹو کے بیان میں، لیبل کے بعد بڑی آنت ہونی چاہیے۔ سبروٹینز جی او ایس یو بی کے بیان میں، لیبل کے بعد بڑی آنت ہونی چاہیے۔ BAS2ASI یہ یوٹیلیٹی، جو ورژن 5 میں GW-BASIC پروگراموں کو ASIC نحو میں تبدیل کرنے کی خدمت کرتی ہے، کچھ GW-BASIC خصوصیات کی حمایت نہیں کرتی ہے۔ مثال: فار لوپ میں STEP تبدیل نہیں کیا گیا ہے۔ پروگرام 10 فار i = 10 ٹو 1 مرحلہ-1 20 پرنٹ i 30 اگلا i کو REM 10 فار i = 10 ٹو 1 قدم-1 فار I @= 10 ٹو 1 ASIC0 @=-1-1 I @= I @+ ASIC0 @REM 20 پرنٹ i پرنٹ I @REM 30 اگلا i REM 30 اگلا i 3: نحو کی غلطی ایکسپوینٹیشن آپریٹر کو تبدیل نہیں کیا گیا ہے۔ پروگرام 10 a = 2 20 b = a ^ 10 30 پرنٹ b کو REM 10 a = 2 L10 میں تبدیل کیا گیا ہے: A @= 2 REM 20 b = a ^ 10 2: نحو کی غلطی REM 30 پرنٹ b REM 30 پرنٹ b 3: نحو کی غلطی حوالہ جات بیرونی لنکس ASIC 5.00 + لائبریریاں + لنکر زمرہ: ASIC ٹاسکس کو ASIC میں rosettacode.org بنیادی پروگرامنگ زبان کے خاندان پر نافذ کیا گیا ہے۔