زبان برنامه نویسی ASIC
ASIC version 5.0 Version 5.0 | |
نویسنده(های) اصلی | Dave Visti |
---|---|
توسعهدهنده(ها) | 80/20 Software[۱] |
انتشار ابتدایی | before 1993[۲] |
انتشار نهایی | 5.00
۱۹۹۴ |
مخزن |
|
نوشتهشده توسط | x86 assembly, Turbo C |
موتور |
|
سیستمعامل | MS-DOS |
گونه | BASIC |
پروانه | Shareware |
وبگاه |
ASIC یک کامپایلر و محیط توسعه یکپارچه برای زیر مجموعه ای از زبان برنامه نویسی بیسیک است. این نرم افزار برای MS-DOS و سیستم های سازگار به عنوان Shareware منتشر شد. توسط Dave Visti با نرم افزار 80/20 نوشته شده، یکی از معدود کامپایلرهای BASIC بود که به طور قانونی برای دانلود از BBSes در دسترس بود. ASIC اجازه کامپایل یک فایل EXE یا COM را می دهد. یک فایل COM برای برنامه Hello world تعداد 360 بایت دارد.
ASIC پشتیبانی کمی از عملگرهای منطقی ، ساختارهای کنترلی,[۳]، و محاسبات ممیز شناور دارد. این کاستیها منجر به شعار زبان در گونه، "ASIC: تقریباً اساسی است!" [۴][۵]
امکانات[ویرایش]
ASIC در مقایسه با BASIC های معاصر خود به شدت فقیر است. ویژگیهای ASIC به گونهای انتخاب شدهاند که یک برنامه به راحتی و مستقیماً به زبان ماشین کامپایل شود. بنابراین، بسیاری از ساختارهای زبان ASIC معادل ساختارهای زبان اسمبلی هستند.
ASIC عملگر قدرت ^
ندارد.
ASIC عملگرهای بولی (AND
, OR
, NOT
و ...) ندارد..
آرگومان های PRINT
باید تحت اللفظی یا متغیر باشند. PRINT
اجازه استفاده از عبارات ترکیبی را به عنوان آرگومان های خود نمی دهد و همچنین اجازه استفاده از رشته های الحاق شده با ;
یا +
.
اگر دستور PRINT
با ; یا , باشد، دستور PRINT
بعدی در موقعیتی که این دستور متوقف شده، از سر گرفته می شود، درست مثل اینکه آرگومان آن به آرگومان دستور PRINT
قبلی اضافه شده است.
LOCATE (row,column)
مکان نما متن را به موقعیت (column
, row
)، که در آن 0 ≤ column
و 0 ≤ row
است، حرکت می دهد. موقعیت (0، 0) گوشه بالا سمت چپ است.
PSET (row,column),color
- پیکسل
color
رنگ را در موقعیت (column
،row
)، که در آن 0 ≤column
و 0 ≤row
. موقعیت (0، 0) گوشه بالا سمت چپ است.
تصمیمات[ویرایش]
یک شرط بولی در IF
ممکن است فقط مقایسه اعداد یا رشته ها باشد، اما مقایسه عبارات ترکیبی نیست.
پس از THEN
، ممکن است دنباله ای از عبارت ها با ELSE
یا ENDIF
محدود شده باشد. یک مثال:
IF X < 0 THEN
PRINT "Negative"
ELSE
PRINT "Non-negative"
ENDIF
برخلاف سایر BASIC ها، دستورات را نمی توان بین THEN
و انتهای خط قرار داد.
یک IF
شرطی اگر می تواند پرش شرطی را انجام دهد. در این مورد، پس از THEN
ممکن است یک برچسب Label وجود داشته باشد.
حلقه زدن[ویرایش]
در FOR
، بعد از TO
ممکن است فقط یک عدد - دقیق یا متغیر - وجود داشته باشد اما یک عبارت ترکیبی نمی توانذ باشد. STEP
در ASIC وجود ندارد.
شاخه زدن یا انشعاب[ویرایش]
در یک عبارت GOTO
، برچسب باید با یک دو نقطه دنبال شود.
زیر برنامه ها[ویرایش]
در یک عبارت GOSUB
، برچسب باید با (دو نقطه) : استفاده شود.
BAS2ASI[ویرایش]
این ابزار برای تبدیل برنامه های GW-BASIC به شکل ASIC نسخه 5.0 است که از برخی ویژگی های GW-BASIC پشتیبانی نمی کند. مثال ها:
STEP
در حلقه for تبدیل نمی شود.
برنامه
10 FOR i=10 TO 1 STEP -1
20 PRINT i
30 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
عملگر توان ^
تبدیل نشده است.
برنامه
10 a=2
20 b=a^10
30 PRINT b
تبدیل می شود به
REM 10 a=2
L10:
A@ = 2
REM 20 b=a^10
2: Syntax error
REM 30 PRINT b REM 30 PRINT b 3: Syntax error
منابع[ویرایش]
- ↑ IBRARY: Library for the ASIC compiler. Current Version: 3.1...David A. Visti, Catalog - Updated :February 1, 1996, Charon Software
- ↑ ASIC 4.0 - Download
- ↑ در ASIC 3.01 (1991)، کتابچه راهنمای FOR...NEXT, WHILE...WEND و IF...ENDIF را فهرست می کند، اما هیچ عبارات سوئیچ، و هیچ توابع یا رویه ای با پارامتر ها یا متغیرهای محلی یا لوکال وجود ندارد، و همچنین فقط GOSUBدر زیر برنامه ها در دسترس نیست. برنامه های نمونه به جای WHILE از Goto استفاده می کنند.
- ↑ ASIC کار دیوید ویستی است و کامپایلر او کد "تقریبا بیسیک" را می گیرد و آن را به یک فایل اجرایی بسیار کوچک کامپایل می کند. بایگانیشده در نوامبر ۴, ۲۰۱۵ توسط Wayback Machine, بخش برنامه نویس ها: TIPI: یک زبان برنامه نویسی کوچک برای Small Comp، نوشته کنت پترسون
- ↑ ASIC, مکان مجیک کد با AC Hunter (برنامه کامپیوتری) (بر روی دیسک) (ارزیابی)، توسط جورج کمپبل، محاسبه شده! شماره 126 / فوریه 1991 / صفحه 86
لینک های خارجی[ویرایش]
- ASIC 5.00 + کتابخانه ها + لینکر
- رده: وظایف ASIC در ASIC در rosettacode.org پیاده سازی شده است
This article "زبان برنامه نویسی ASIC" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:زبان برنامه نویسی ASIC. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.