Кіріспе

ASIC – BASIC бағдарламалау тілінің бір бөлігі үшін жасалған компилятор және интеграцияланған даму ортасы. Ол MS DOS және оған үйлесімді жүйелер үшін үлестірілетін бағдарлама ретінде шығарылды. 80/20 Software компаниясының Dave Visti есімді бағдарламашысы жазған, ол BBS жүйелерінен заңды түрде жүктеуге болатын сирек BASIC компиляторларының бірі болды. ASIC EXE немесе COM файлына компиляциялауға мүмкіндік береді. "Hello, world!" бағдарламасы үшін жасалған COM файлының көлемі 360 байтты құрайды, сондай-ақ қозғалатын үзінді нүктелі арифметиканы қолдайды. Бұл кемшіліктер нәтижесінде, оның әзілдеген ұраны – "ASIC: Бұл BASIC-ке ұқсайды, бірақ толық емес!" болды.

Ерекшеліктері

ASIC қазіргі BASIC-пен салыстырғанда айтарлықтай кем мүмкіндіктерге ие. ASIC мүмкіндіктері бағдарламаны машина тіліне оңай және тікелей компиляциялау үшін таңдалады. Сондықтан, ASIC-тің көптеген тілдік құрылымдары тікелей ассемблер тілінің құрылымдарымен сәйкес келеді.

Бағдарлама элементтері

Анықтамалар да, кілт сөздер де әріптердің үлкен не кішкентай болуына сезімтал емес. Егер DIM операторлары берілген болса, олар REM операторлары немесе бос жолдардан басқа, барлық басқа операторлардан бұрын келуі керек. Барлық DATA операторлары DIM, REM операторлары немесе бос жолдарды қоспағанда, бағдарламаның басында, барлық басқа оператор түрлерінен бұрын орналастырылуы тиіс.

Сөз тіркестері

ASIC-те ^ дәрежелеу операторы жоқ. ASIC-те логикалық операторлар жоқ (ЖӘНЕ, ИЛИ, ЕМЕС және т.б.).

Массивтер

DIM нұсқауында көрсетілген массивтің мөлшері тура тұрақты сан болуы керек. Бір DIM тек бір массивті жариялауға ғана мүмкіндік береді.

Кірісі мен шығысы

PRINT аргументтері әріптік немесе айнымалы болуы керек. PRINT құрама өрнектерді аргумент ретінде қабылдамайды, сондай-ақ ; немесе + операторлары арқылы тізбектелген жолдарды да қабылдамайды. Егер PRINT командасы ; немесе , символымен аяқталса, келесі PRINT командасы осы команда тоқтаған жерден жалғасады, аргументі ағымдағы PRINT командасының аргументіне қосылғандай. PRINT операторы бүтін сандарды алты таңбалық кеңістікте шығарады. Олар оң жаққа қарай тізіліп, артында бос орын қалдырылмайды. LOCATE жол, баған – мәтін курсорын (баған, жол) позициясына жылдырады, мұнда 0 ≤ баған және 0 ≤ жол. (0, 0) позициясы – сол жақ жоғарғы бұрыш.

Графика

PSET (қатар, баған), түс (баған, қатар) орнындағы түс түсті пиксельді қосады, мұнда 0 ≤ баған және 0 ≤ қатар. (0, 0) орны – сол жақ жоғарғы бұрыш.

Басқару құрылымдары

Бульдік шарт тек сандардың немесе жолдардың салыстыруы болуы мүмкін, бірақ күрделі өрнектердің салыстыруы емес. Әріптік тұрақты салыстырудың сол жақ операторы бола алмайды (мысалы, X = 2 болуы мүмкін, ал 2 = X болмайды).

Бұрау

FOR-да TO-дан кейін тек сан тұрақтысы немесе айнымалы болуы мүмкін, бірақ күрделі өрнек болмауы керек. STEP операторы ASIC-те қарастырылмаған.

Салалық

GOTO операторында белгіден кейін қос нүкте болуы керек.

Ішкі бағдарламалар

GOSUB операторында белгіден кейін қос нүкте болуы керек.