ASIC programming language

1

ASIC is a compiler and integrated development environment for a subset of the BASIC programming language. It was released for MS-DOS and compatible systems as shareware. Written by Dave Visti of 80/20 Software, it was one of the few BASIC compilers legally available for download from BBSes. ASIC allows compiling to an EXE or COM file. A COM file for Hello world program is 360 bytes. ASIC has little or no support for logical operators, control structures, and floating-point arithmetic. These shortcomings resulted in the tongue-in-cheek motto, "ASIC: It's almost BASIC!"

Features

ASIC is strongly impoverished in comparison with its contemporary BASICs. The features of ASIC are selected to make a program be easily and directly compiled into machine language. Thus, many language constructs of ASIC are equivalent to constructs of assembly language.

Program elements

Neither indetifiers, nor keywords are case-sensitive. Any statements, if specified, must precede all other statements except statements or blank lines. All statements must be placed at the beginning of the program, before all other statement types, except , statements, or blank lines).

Expressions

ASIC does not have the exponentiation operator. ASIC does not have boolean operators (, , etc.).

Arrays

The size of array specified in the statement must be a literal constant. A single allows to declare only one array.

Input and Output

's arguments must be a literal or variable. does not allow to use combined expressions as its arguments, nor does it allow to use strings concatenated with or. If a command ends with or , then the next command will resume in the position where this one left off, just as though its argument were appended to the argument of the current command. The statement prints integer values six characters wide. They are aligned to the right (no trailing spaces).

Graphics

Control Structures

A boolean condition may be only a comparison of numbers or strings, but not a comparison of combined expressions. A literal cannot be the left operand of comparison (e.g. can be, not ).

Decisions

After, there may be a sequence of statements delimited by or. An example: Contrary to other BASICs, statements cannot be put between and the end of the line. An if-statement can realize the conditional jump. In this case, after there may be a label.

Looping

In, after there may be only a number - literal or variable - but not a combined expression. The clause does not exist in ASIC.

Branching

In a statement, the label must be followed by a colon.

Subroutines

In a statement, the label must be followed by a colon.

BAS2ASI

This utility, serving to convert GW-BASIC programs to ASIC syntax, in the version 5.0 does not support some GW-BASIC features. Examples: in the for loop is not converted. The program is converted into The exponentiation operator is not converted. The program is converted into

This article is derived from Wikipedia and licensed under CC BY-SA 4.0. View the original article.

Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc.
Bliptext is not affiliated with or endorsed by Wikipedia or the Wikimedia Foundation.

Edit article