SBASIC

From Wikipedia, the free encyclopedia
Jump to: navigation, search
This article is about the Kaypro Basic. For the more recent Basic that uses the filename "sbasic", see SmallBASIC.

SBASIC (for Structured Basic) was a "structured" BASIC variant, distributed with Kaypro CP/M systems.[1] It was made by Topaz Programming is distributed by Micro-Ap (San Ramon, CA).[2]

SBasic was compatible with the syntax of Basic, a programming language commonly used in the 1970s through the 1980s, as well as Fortran77. However, the language relaxed many of the requirements of Basic and had more flexibility than Fortran. For instance, line numbers were optional, and permitted non-numeric characters. In addition, SBasic offered developers structured programming concepts, including recursion and nesting. Many PL-1 programs could be compiled with little modification, though SBasic did not offer an extensive function library.

Among the more advanced features was the ability to "base" a variable or array, making the memory location dynamic and modifiable during execution. SBasic programs had the ability to access memory areas reserved for the operating system unless prohibited from doing so by the operating system itself. (Note: KayPro distributed CP/M as the operating system which had no such prohibitions.) This enabled direct utilization and modification of DMA and other memory areas. This feature also permitted a program to modify itself at run-time. This capability also allowed modifying the instruction pointer, so a program could effectively link other executable modules that were read during execution as data.

Unlike Basic interpreters that stored "p-code" that was parsed by an execution module, SBasic was a two-pass compiler, ultimately producing .com files that were executable. The language was written in a subset of itself and compiled using a .com kernel, then stored on diskette (or hard drive on the last KayPro model). The source was distributed with some KayPro models. This encouraged open-source-like modification of the language, with some early pre-Internet user groups exchanging physical diskettes by regular mail.

Not to be confused with the namesake SBasic (S for Spectral Basic) Programming Language for the commercial Spectral UV-Visible software.[3][4]

References[edit]

  1. ^ http://fixunix.com/cp-m/400-sbasic.html
  2. ^ Miller, A.R. (April 1981), "SBasic: A Structured, Compiling Language for CP/M", Interface Age (Cerritos, California: McPheters, Wolfe & Jones) 6 (4): 92–96, 0-71486-02631 04, retrieved 21 May 2009 
  3. ^ UV-Visible spectrophotometer - Spectral Software, retrieved 21 May 2009 
  4. ^ Paul, Liberatore, Simplifying Routine Analyses using Spectral SBasic Programming Language—Chlorophyll Analysis, GBC Scientific Application Notes—UV-Visible