زبان برنامه‌نویسی مدارهای مجتمع با کاربرد خاص کیست؟ توضیح بده.
زبان برنامه‌نویسی مدارهای مجتمع با کاربرد خاص یا به اختصار زبان برنامه‌نویسی ای‌سیک ، یک کامپایلر و محیط توسعه یکپارچه برای زیر مجموعه ای از زبان برنامه‌نویسی بیسیک است. این نرم‌افزار برای MS-DOS و سیستم‌های سازگار به عنوان نرم‌افزار مشروط منتشر شد. توسط Dave Visti با نرم‌افزار ۸۰/۲۰ نوشته شده، یکی از معدود کامپایلرهای BASIC بود که به‌طور قانونی برای دانلود از بی‌بی‌اس در دسترس بود. ASIC اجازه کامپایل یک فایل EXE یا COM را می‌دهد. یک فایل COM برای برنامه Hello world تعداد ۳۶۰ بایت دارد.ASIC یا همون زبان برنامه‌نویسی مدارهای مجتمع با کاربرد خاص، پشتیبانی کمی از عملگرهای منطقی، ساختارهای کنترلی، و محاسبات ممیز شناور دارد. این کمبودها منجر به شعاری شوخ طبعانه شد که، "ASIC: تقریباً مثل بیسیک است!"امکانات.زبان برنامه‌نویسی مدارهای مجتمع با کاربرد خاص (ASIC) در مقایسه با کد دستور العمل نمادین همه منظوره مبتدیان (BASIC)های هم نسل خودش ضعف‌های زیادی دارد (به شدت ضعف دارد).ویژگی‌های ASIC به گونه‌ای انتخاب شده‌اند که یک برنامه به راحتی و مستقیماً به زبان ماشین کامپایل شود؛ بنابراین، بسیاری از ساختارهای زبان ASIC معادل ساختارهای زبان اسمبلی هستند.اصطلاحات.ASIC عملگر توان codice_1 ندارد.ASIC عملگرهای بولی (codice_2 ، codice_3 ، codice_4 و …) ندارد.ورودی و خروجی.آرگومان‌های codice_5 باید متغیر یا دقیق باشند.codice_5 به کاربر اجازه استفاده از عبارات ترکیبی به عنوان آرگومان‌های خود نمی‌دهد و همچنین اجازه استفاده از رشته‌های پیوند شده با codice_7 یا codice_8 را هم نمی‌دهد.اگر دستور codice_5 با codice_7 یا codice_11 نوشته شده باشد، دستور codice_5 بعدی در موقعیتی که این دستور متوقف شده، ادامه می‌دهد، درست مثل اینکه آرگومان آن به آرگومان دستور codice_5 قبلی اضافه شده‌است.codice_14 :مکان نما متن را به موقعیت (codice_15 ، codice_16)، که در آن ۰ ≤ codice_15 و ۰ ≤ codice_16 است، حرکت می‌دهد. موقعیت (۰، ۰) گوشه بالا سمت چپ می‌باشد.گرافیک.codice_19روشن کردن پیکسل رنگی در موقعیت (codice_15 ، codice_16)، که در آن ۰ ≤ codice_15 و ۰ ≤ codice_16 . موقعیت (۰، ۰) گوشه بالا سمت چپ می‌باشد.تصمیم‌ها.یک شرط بولی در codice_24 ممکن است فقط مقایسه اعداد یا رشته‌ها را انجام دهد (فقط شامل این پارامترها باشد)، اما مقایسه ای از عبارت‌های ترکیبی نیست.پس از codice_25، ممکن است دنباله ای از عبارت‌ها با codice_26 یا codice_27 محدود شده باشد. مثال:IF X &lt; 0 THEN PRINT "Negative"ELSE PRINT "Non-negative"ENDIFبرخلاف سایر BASICها، دستورها را نمی‌توان بین codice_25 و انتهای خط قرار داد.یک IF شرطی اگر می‌تواند پرش شرطی را انجام دهد. در این مورد، پس از codice_25 ممکن است یک برچسب Label وجود داشته باشد.حلقه زدن.در codice_30 ، بعد از codice_31 ممکن است فقط یک عدد - دقیق یا متغیر - وجود داشته باشد اما یک عبارت ترکیبی نمی تواند باشد. codice_32 در ASIC وجود ندارد.شاخه زدن یا انشعاب.در یک عبارت codice_33 ، برچسب یا (label) باید با یک (دو نقطه) : دنبال شود.زیر برنامه ها.در یک عبارت codice_34 ، برچسب یا (label) باید با (دو نقطه) : استفاده شود.BAS2ASI.این ابزار برای تبدیل برنامه های GW-BASIC به شکل ASIC نسخه 5.0 است که البته برخی ویژگی های GW-BASIC را پشتیبانی نمی کند. مثال ها:STEP در حلقه for تبدیل نشده است.برنامه10 FOR i=10 TO 1 STEP -1 20 PRINT i30 NEXT iتبدیل به REM 10 FOR i=10 TO 1 STEP -1 FOR I@ = 10 TO 1 ASIC0@ = -1 -1 I@ = I@ + ASIC0@ REM 20 PRINT i PRINT I@ REM 30 NEXT i REM 30 NEXT i 3: Syntax error عملگر توان codice_1 تبدیل نشده است.و برنامه10 a=220 b=a^1030 PRINT bتبدیل می شود به REM 10 a=2L10: A@ = 2 REM 20 b=a^10 2: Syntax error REM 30 PRINT b REM 30 PRINT b 3: Syntax error