Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Microsoft BASIC
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Altair BASIC and early microcomputers== [[File:Altair 8800 and Model 33 ASR Teletype.jpg|thumb|A kit-build Altair 8800 computer with the popular Model 33 ASR (Automatic Send and Receive) Teletype as terminal, paper tape reader, and paper tape punch|upright=1.2|alt=]] The [[Altair BASIC]] [[BASIC interpreter|interpreter]] was developed by Microsoft founders [[Paul Allen]] and [[Bill Gates]] using a self-written [[Intel 8080]] emulator running on a [[PDP-10]] [[minicomputer]].<ref name=Fridson99>Martin S. Fridson, ''How to be a billionaire: proven strategies from the titans of wealth'', John Wiley and Sons, 1999 {{ISBN|0-471-33202-X}} pages 116-120</ref> The MS dialect is patterned on [[Digital Equipment Corporation]]'s [[BASIC-PLUS]] on the [[PDP-10]], which Gates had used in [[Secondary school|high school]].<ref>{{cite book |title=Gates |first=Stephen |last=Manes |page=61 |publisher=Doubleday |date=1993 |isbn=9780385420754 |url=https://books.google.com/books?id=KBtPAAAAMAAJ}}</ref> The first versions supported integer math only, but [[Monte Davidoff]] convinced them that [[floating-point arithmetic]] was possible, and wrote a library which became the [[Microsoft Binary Format]]. Microsoft BASIC family of 8-bit interpreters ([[Altair BASIC]], [[TRS-80 BASIC]], etc), features and commands inspired by DEC's [[PDP-10]] [[BASIC-PLUS]] include: the single byte tokens for keywords, % for integers, $ for strings, 4-byte floating points [[Microsoft Binary Format]], : statement separator, # for file handles, random file access (FIELD, GET, PUT, LSET, RSET), and more. Microsoft's BASIC builtin line editor, the EDIT command, was inspired by the [[TOPS-10]] EDIT text editor's Alter subcommand.<ref name=Fridson99>Martin S. Fridson, ''How to be a billionaire: proven strategies from the titans of wealth'', John Wiley and Sons, 1999 {{ISBN|0-471-33202-X}} pages 116-120</ref> Altair BASIC was delivered on [[punched tape|paper tape]] and in its original version took 4 [[kilobyte|KB]] of memory. The following functions and statements were available: <code>LIST</code>, <code>NEW</code>, <code>PRINT</code>, <code>INPUT</code>, <code>IF...THEN</code>, <code>FOR...NEXT</code>, <code>SQR</code>, <code>RND</code>, <code>SIN</code>, <code>LET</code>, <code>USR</code>, <code>DATA</code>, <code>READ</code>, <code>REM</code>, <code>CLEAR</code>, <code>STOP</code>, <code>TAB</code>, <code>RESTORE</code>, <code>ABS</code>, <code>END</code>, <code>INT</code>, <code>RETURN</code>, <code>STEP</code>, <code>GOTO</code>, and <code>[[GOSUB]]</code>. There were no string variables in 4K BASIC and single-precision 32-bit floating point was the only numeric type supported. Variable names consisted of one letter (AβZ) or one letter followed by one digit (0β9), thus allowing up to 286 numeric variables. For machines with more memory, the 8 KB version added 31 additional statements and support for string variables and their related operations like MID$ and [[string concatenation]]. String variables were denoted with a $ suffix, which remained in later versions of the language. Later on, Microsoft released the 12K Extended BASIC, which included double precision 64-bit variables, <code>IF</code>...<code>THEN</code>...<code>ELSE</code> structures, user defined functions, more advanced program editing commands, and descriptive error messages as opposed to error numbers. Numeric variables now had three basic types, % denoted 16-bit integers, # denoted 64-bit doubles, and ! denoted 32-bit singles, but this was the default format so the ! is rarely seen in programs. The extended 8 KB version was then generalized into BASIC-80 (8080/85, [[Zilog Z80|Z80]]), and ported into BASIC-68 ([[Motorola 6800|6800]]), BASIC-69 ([[Motorola 6809|6809]]), and [[MOS Technology 6502|6502]]-BASIC. The 6502 had somewhat less dense [[assembly language|assembler code]] and expanded in size to just under 8K for the single precision version, or 9K for a version using an intermediate 40-bit floating point format in place of the original 32-bit version. This new 40-bit format became the most common as it was used on most 6502-based machines of the era. It was also ported to the 16-bit BASIC-86 ([[Intel 8086|8086/88]]). The final major release of BASIC-80 was version 5.x, which appeared in 1981 and added support for 40-character variable names, <code>WHILE</code>...<code>WEND</code> loops, dynamic string allocation, and several other features. BASIC 5.x removed the ability to crunch program lines. The core command set and syntax are the same in all implementations of Microsoft BASIC and, generally speaking, a program can be run on any version if it does not use hardware-specific features or double precision numbers (not supported in some implementations).
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)