SC/MP Gets Tiny-BASIC

Total Page:16

File Type:pdf, Size:1020Kb

SC/MP Gets Tiny-BASIC GETTING INTO MICROPROCESSORS Software/Firmware developments-1 SC/MP gets Tiny-BASIC If you've tended to scorn microcomputer systems because of the need like FORTRAN and BASIC have mainly to program in machine or assembly language, think again. National been available only on larger corn- Semiconductor is releasing shortly a Tiny-BASIC interpreter for its puters. In the last couple of years, however, SC/ MP systems. It will be sold resident in 4k-bytes of PROM, on a a number of people working with various PC card.- Plug in the card, and you can have programs running in Tiny- microcomputer systems have come up BASIC within the hour! with interpreters capable of fitting into small systems, and which provide a lim- by JAMIESON ROWE ited sub-set of the full original BASIC lan- guage. Naturally enough the language Although microcomputers haven't which again is also a computer program. provided by these interpreters has been around for very long as yet, already But unlike a compiler, an interpreter quickly become known as "Tiny- many of the people using them have doesn't produce a separate object code BASIC". begun to show interest in the possibility version of your program. Instead it must Now National Semiconductor has of programming in one of the problem- be put in the machine alongside your announced that a Tiny-BASIC interpreter orientated or "higher" languages like program, which it interprets into will very shortly become available for its FORTRAN or BASIC. No doubt these machine language and executes all at the SC/MP microprocessor systems. thoughts tend to be generated most same time. National's Australian subsidiary, NS Elec- often when one is slogging through a Which approach is used depends tronics, expects to have it available by program written in hexadecimal code! mainly on whether you have a compiler late January. It will be sold as a product Of course in order to be able to run or an interpreter program available, package which comprises the interpreter programs written in a problem- although an interpreter tends to be a little itself resident in 4k of PROM on a plug-in orientated language, one needs to have more convenient because it allows faster PC card, a 2k static RAM card for the them translated into language which the program development. user's source program, and a user's computer can understand. At present this The problem with either approach is manual. The complete package should must be done in one of two ways. that both compilers and interpreters tend sell for around $305 plus tax, where One is to use a compiler, which is itself to be rather long. They are rather tricky applicable. Those who already have a computer program. When fed into the and tedious to write, and when written SC/MP systems with at least 2k of RAM machine, the compiler will take your they need quite a deal of computer may also be able to buy just the "source code" program as written, and memory. The latter is especially true with interpreter and the manual, if they wish, produce from it an "object code" interpreters, which are loaded into by quoting the serial number of their equivalent in machine language. It is this memory along with the source existing RAM board. version which you then feed into the program. National has called its version of Tiny- machine to get your program running. Because of the requirement for a fairly BASIC "N I BL", which stands for National The other way is td use an interpreter, large memory, until recently languages Industrial BASIC Language. This is meant to emphasise that they see its applica- tions not only in educational and hobby computing, but also and perhaps more importantly in industrial control situa- tions. .Like most other Tiny-BASIC interpreters, NIBL is not fast. A program written in NIBL executes somewhere This is the pre- between 1000 and 2000 times more release version of slowly than an equivalent program writ- N1BL, which was in ten in machine or assembly language. But only 3k bytes of this can still be fast enough for most PROM. The final human interfaces, and for slow real-time version is in 4k control applications. bytes, with the PCB And the point is that NIBL lets you having eight of the write programs and get them running PROMs instead of very much more easily and quickly. It six. also provides "instant" error messages during program execution, to help you in debugging. And it lets you execute sin- gle instructions in real-time conversa- tional mode, if you wish. Naturally enough, NIBL doesn't provide all of the facilities of full BASIC— after all, it has to fit into only 4k bytes of memory. But it does provide a very 90 ELECTRONICS Australia, December, 1976 GETTING INTO MICROPROCESSORS 10 PRINT "HI, I WORK OUT FACTORIALS." 10 PRINT "HI! I WILL THINK OF A NUMBER BETWEEN 0 AND 255." 20 PRINT "WHAT NUMBER WOULD YOU LIKE"; 20 PRINT "WHEN I HAVE, TRY TO GUESS ITS VALUE. CI WILL HELP)" 30 INPUT N 30 LET B=1 40 LET F=1 40 LET A=OB 50 IF N<=1 THEN GO TO 90 50 PRINT "OK, I HAVE A NUMBER" 60 PRINT "WHAT IS YOUR GUESS"; 50 LET F=F*N 70 INPUT C 70 LET N=N-. 1 80 IF C=A THEN GOTO 140 80 GO TO 50 90 IF C>A THEN GOTO 120 90 PRINT "ITS FACTORIAL I S", F 100 PRINT "TOO SMALL. NEXT GUESS"; 91 PRINT "DO YOU WANT TO WORK OUT ANOTHER C 1=YESa 0=N0) "; 110 GO TO 70 92 INPUT A 120 PRINT "TOO BIG. NEXT GUESS"; 93 IF A=1 THEN GO TO 20 130 GO TO 70 100 END 140 PRINT "YOU GUESSED IT!!! LET'S PLAY AGAIN." 150 LET B=B+1 RUN 160 GO TO 40 NI, I WORK OUT FACTORIALS. 170 END WHAT NUMBER WOULD YOU LIKE? 6 ITS FACTORIAL I S 720 >RUN HI! I WILL THINK OF A NUMBER BETWEEN 0 AND 255. DO YOU WANT TO WORK OUT ANOTHER C 1=YESs 0=N 0)? 1 WHEN I HAVE, TRY TO GUESS ITS VALUE.. CI WILL HELP) WHAT NUMBER WOULD YOU LIKE? 7 OK, I HAVE A NUMBER ITS FACTORIAL I S 5040 WHAT IS YOUR GUESS? 200 DO YOU WANT TO WORK OUT ANOTHER C 1=YES, 0=N0)? 0 TOO BIG. NEXT "GUESS? 180 TOO SMALL. NEXT GUESS? 196 YOU GUESSED IT!!! LET'S PLAY AGAIN. Here are the two simple Tiny-BASIC programs which the OK, I HAVE A NUMBER author wrote to try out the pre-release version of NIBL. One WHAT IS YOUR GUESS? 128 TOO BIG. NEXT GUESS? 64 works out factorials, the other is a number game. TOO BIG. NEXT GUESS? 32 TOO BIG. NEXT GUESS? 0 TOO SMALL. NEXT GUESS? 16 useful subset. Here's a summary of what YOU GUESSED IT!!! LET'S PLAY AGAIN. you get: OK, I HAVE A NUMBER WHAT IS YOUR GUESS? 128 Valid statement forms include INPUT TOO BIG. NEXT GUESS? 0 (for numbers only), LET, GO TO, GO TOO SMALL. NEXT GUESS? 64 TOO BIG. NEXT GUESS? 32 . SUB and RETURN, IF THEN, and PRINT. TOO SMALL. NEXT GUESS? 45 There is also a CALL statement, to allow TOO SMALL. NEXT GUESS? 56 TOO BIG. NEXT GUESS? 60 calling machine-language subroutines. TOO BIG. NEXT GUESS? 50 The latter facility is very valuable, of TOO SMALL. NEXT GUESS? 54 course, because it will allow NIBL to be YOU GUESSED IT!!! LET'S PLAY AGAIN. OK, I HAVE A NUMBER expanded. WHAT IS YOUR GUESS? The final version of NIBL may also have ! 7 AT 70 the ability to interpret DO . UNTIL sta- tements, if PROM space permits. "@" sign. When placed immediately keyboard. It prompts the user for a num- Program control statements provided preceding a variable this causes the varia- ber, prints out the answer and then asks are LIST, RUN, END, and CLEAR. The first ble to be interpreted as a decimal if the user wishes to work out another. of these may be used to list either the address in SC/MP memory space. If A is A negative reply causes it to halt. whole program, or alternatively a single a variable with value 256, the statement Incidentally, this little program soon line. An inbuilt editor allows lines to be LET B= @A gives variable B the value comes up against the inability of NIBL to replaced, and also additional lines added equal to the data byte in decimal cope with numbers greater than 32,767. as required. All that is necessary for cor- memory location 256. In fact the largest number it can find the rect execution is that lines are numbered What is NIBL like in practice? Well, at factorial for is 7; 8 causes overflow. consecutively between 1 and 32, 767. the time of writing the final version was The longer program is a simple num- If statement lines begin with a number, not yet available in Australia, but thanks ber guessing game. As the pre-release NIBL stores them away as a program for to NS Electronics I was able to try an version of NIBL didn't have the RND deferred execution. If a statement is not earlier pre-release version. This was in function, I had to use the indirect opera- numbered, NIBL executes it immediately only 3k of PROMs, and didn't have some tor to generate pseudo-random numbers upon entry (following the user terminat- of the features which will be in the full by fetching instruction bytes from NIBL's ing the line with a carriage return).
Recommended publications
  • Programmierung Unter GNU/Linux Für Einsteiger
    Programmierung unter GNU/Linux fur¨ Einsteiger Edgar 'Fast Edi' Hoffmann Community FreieSoftwareOG [email protected] 7. September 2016 Programmierung (von griechisch pr´ogramma Vorschrift\) bezeichnet die T¨atigkeit, " Computerprogramme zu erstellen. Dies umfasst vor Allem die Umsetzung (Implementierung) des Softwareentwurfs in Quellcode sowie { je nach Programmiersprache { das Ubersetzen¨ des Quellcodes in die Maschinensprache, meist unter Verwendung eines Compilers. Programmierung Begriffserkl¨arung 2 / 35 Dies umfasst vor Allem die Umsetzung (Implementierung) des Softwareentwurfs in Quellcode sowie { je nach Programmiersprache { das Ubersetzen¨ des Quellcodes in die Maschinensprache, meist unter Verwendung eines Compilers. Programmierung Begriffserkl¨arung Programmierung (von griechisch pr´ogramma Vorschrift\) bezeichnet die T¨atigkeit, " Computerprogramme zu erstellen. 2 / 35 Programmierung Begriffserkl¨arung Programmierung (von griechisch pr´ogramma Vorschrift\) bezeichnet die T¨atigkeit, " Computerprogramme zu erstellen. Dies umfasst vor Allem die Umsetzung (Implementierung) des Softwareentwurfs in Quellcode sowie { je nach Programmiersprache { das Ubersetzen¨ des Quellcodes in die Maschinensprache, meist unter Verwendung eines Compilers. 2 / 35 Programme werden unter Verwendung von Programmiersprachen formuliert ( kodiert\). " In eine solche Sprache ubersetzt\¨ der Programmierer die (z. B. im Pflichtenheft) " vorgegebenen Anforderungen und Algorithmen. Zunehmend wird er dabei durch Codegeneratoren unterstutzt,¨ die zumindest
    [Show full text]
  • The MSX Red Book (Revised Version 1997/08/06) Notes from The
    The MSX Red Book (revised version 1997/08/06) Notes from the editor: - The book was scanned and converted (via O.C.R.) by one person and edited by another (using an IBM PC compatible), independently. - All pages have a fix size of 64 lines. The width was not justified to make future modifications easier, though no line is longer than 80 columns. - This book only covers standard MSX. The BIOS entry points from 0000H to 01B5H should be used instead of the called entries described in the book, because other machines (MSX2, MSX2+, MSX turbo R and customized ones) have different positions for the routines. The use of internal BIOS routine addresses are responsible for many programs only running in MSX. - Some errors present in the original book were fixed, though it was tried to keep it as unaltered as possible. All page numbers match the originals, except undetected errors already present in the original. - Most figures were modificated due to the text-only nature of this file. The character set used during edition was the International IBM PC's one. The following special characters were used and should be changed to the corresponding ones of other character sets: Frame ÚÄÂÄ¿ Pound: œ characters: ³ ³ ³ Micro: æ ÃÄÅÄ´ ³ ³ ³ ÀÄÁÄÙ ------------------------------------------------------------------------------- CONTENTS Introduction .............................. 1 1. Programmable Peripheral Interface ...... 3 2. Video Display Processor ................ 8 3. Programmable Sound Generator ........... 21 4. ROM BIOS ............................... 26 5. ROM BASIC Interpreter .................. 89 6. Memory Map ............................. 208 7. Machine Code Programs .................. 240 Contents Copyright 1985 Avalon Software Iver Lane, Cowley, Middx, UB8 2JD MSX is a trademark of Microsoft Corp.
    [Show full text]
  • Freebasic-Einsteigerhandbuch
    FreeBASIC-Einsteigerhandbuch Grundlagen der Programmierung in FreeBASIC von S. Markthaler Stand: 11. Mai 2015 Einleitung 1. Über das Buch Dieses Buch ist für Programmieranfänger gedacht, die sich mit der Sprache FreeBASIC beschäftigen wollen. Es setzt keine Vorkenntnisse über die Computerprogrammierung voraus. Sie sollten jedoch wissen, wie man einen Computer bedient, Programme installiert und startet, Dateien speichert usw. Wenn Sie bereits mit Q(uick)BASIC gearbeitet haben, finden Sie in Kapitel 1.3 eine Zusammenstellung der Unterschiede zwischen beiden Sprachen. Sie erfahren dort auch, wie Sie Q(uick)BASIC-Programme für FreeBASIC lauffähig machen können. Wenn Sie noch über keine Programmiererfahrung verfügen, empfiehlt es sich, die Kapitel des Buches in der vorgegebenen Reihenfolge durchzuarbeiten. Wenn Ihnen einige Konzepte bereits bekannt sind, können Sie auch direkt zu den Kapiteln springen, die Sie interessieren. 2. In diesem Buch verwendete Konventionen In diesem Buch tauchen verschiedene Elemente wie Variablen, Schlüsselwörter und besondere Textabschnitte auf. Damit Sie sich beim Lesen schnell zurechtfinden, werden diese Elemente kurz vorgestellt. Befehle und Variablen, die im laufenden Text auftauchen, werden in nichtproportionaler Schrift dargestellt. Schlüsselwörter wie PRINT werden in Fettdruck geschrieben, während für andere Elemente wie variablenname die normale Schriftstärke eingesetzt wird. Quelltexte werden vollständig in nichtproportionaler Schrift gesetzt und mit einem Begrenzungsrahmen dargestellt. Auch hier werden Schlüsselwörter fett gedruckt. Der Dateiname des Programms wird oberhalb des Quelltextes angezeigt. Quelltext 1.1: Hallo Welt ’ Kommentar: Ein gewoehnliches Hallo-Welt-Programm CLS PRINT "Hallo FreeBASIC-Welt!" SLEEP 5 END ii Einleitung Es empfiehlt sich, die Programme abzutippen und zu testen. Die meisten Programme sind sehr kurz und können schnell abgetippt werden – auf der anderen Seite werden Sie Codebeispiele, die Sie selbst getippt haben, leichter behalten.
    [Show full text]
  • BASIC Programming with Unix Introduction
    LinuxFocus article number 277 http://linuxfocus.org BASIC programming with Unix by John Perr <johnperr(at)Linuxfocus.org> Abstract: About the author: Developing with Linux or another Unix system in BASIC ? Why not ? Linux user since 1994, he is Various free solutions allows us to use the BASIC language to develop one of the French editors of interpreted or compiled applications. LinuxFocus. _________________ _________________ _________________ Translated to English by: Georges Tarbouriech <gt(at)Linuxfocus.org> Introduction Even if it appeared later than other languages on the computing scene, BASIC quickly became widespread on many non Unix systems as a replacement for the scripting languages natively found on Unix. This is probably the main reason why this language is rarely used by Unix people. Unix had a more powerful scripting language from the first day on. Like other scripting languages, BASIC is mostly an interpreted one and uses a rather simple syntax, without data types, apart from a distinction between strings and numbers. Historically, the name of the language comes from its simplicity and from the fact it allows to easily teach programming to students. Unfortunately, the lack of standardization lead to many different versions mostly incompatible with each other. We can even say there are as many versions as interpreters what makes BASIC hardly portable. Despite these drawbacks and many others that the "true programmers" will remind us, BASIC stays an option to be taken into account to quickly develop small programs. This has been especially true for many years because of the Integrated Development Environment found in Windows versions allowing graphical interface design in a few mouse clicks.
    [Show full text]
  • GWBASIC User's Manual
    GWBASIC User's Manual User's Guide GW-BASIC User's Guide Chapters 1. Welcome Microsoft Corporation 2. Getting Started Information in this document is subject to change without 3. Reviewing and Practicing notice and does not represent a commitment on the part of 4. The Screen Editor Microsoft Corporation. The software described in this 5. Creating and Using Files document is furnished under a license agreement or 6. Constants, Variables, nondisclosure agreement. It is against the law to copy this Expressions and Operators software on magnetic tape, disk, or any other medium for any Appendicies purpose other than the purchaser's personal use. A. Error Codes and Messages © Copyright Microsoft Corporation, 1986, 1987. All rights B. Mathematical Functions reserved. C. ASCII Character Codes D. Assembly Language Portions copyright COMPAQ Computer Corporation, 1985 E. Converting Programs Simultaneously published in the United States and Canada. F. Communications G. Hexadecimal Equivalents Microsoft®, MS-DOS®, GW-BASIC® and the Microsoft logo H. Key Scan Codes are registered trademarks of Microsoft Corporation. I. Characters Recognized Compaq® is a registered trademark of COMPAQ Computer Glossary Corporation. DEC® is a registered trademark of Digital Equipment Corporation. User's Reference Document Number 410130001-330-R02-078 ABS Function ASC Function ATN Function GW-BASIC User's Reference AUTO Command Microsoft Corporation BEEP Statement BLOAD Command Information in this document is subject to change without BSAVE Command notice and does not represent a commitment on the part of Microsoft Corporation. The software described in this CALL Statement document is furnished under a license agreement or CDBL Function nondisclosure agreement.
    [Show full text]
  • Volume 158 March, 2020 Pclinuxos Family Hhaappppyy Member Spotlight: Tunnelrat Mind Your Step: Vintage Computing on Pclinuxos Sstt
    Volume 158 March, 2020 PCLinuxOS Family HHaappppyy Member Spotlight: tunnelrat Mind Your Step: Vintage Computing On PCLinuxOS SStt.. PPaattrriicckk''ss Short Topix: Google Chrome To Start Blocking Downloads GIMP Tutorial: DDaayy Photo Editing Revisited PCLinuxOS Recipe Corner: Chicken Gloria Casserole ms_meme's Nook: When I'm Sixty-Five A Very Bad Time For Android Apps? Or Just Cleaning Up The Mess? Racing Back To The Past: Horizon Chase Turbo On PCLinuxOS! PCLinuxOS Puzzled Partitions PCLinuxOS Magazine And more inside! Page 1 In This Issue ... 3 From The Chief Editor's Desk... 5 Mind Your Step: Vintage Computing on PCLinuxOS The PCLinuxOS name, logo and colors are the trademark of 11 Screenshot Showcase Texstar. 12 A Very Bad Time For Android Apps? The PCLinuxOS Magazine is a monthly online publication containing PCLinuxOS-related materials. It is published Or Just Cleaning Up The Mess? primarily for members of the PCLinuxOS community. The magazine staff is comprised of volunteers from the 14 PCLinuxOS Recipe Corner: Chicken Gloria Casserole PCLinuxOS community. 15 Screenshot Showcase Visit us online at http://www.pclosmag.com 16 ms_meme's Nook: Sentimental Forum This release was made possible by the following volunteers: 17 Short Topix: Google Chrome To Start Blocking Downloads Chief Editor: Paul Arnote (parnote) Assistant Editor: Meemaw 21 Screenshot Showcase Artwork: Sproggy, Timeth, ms_meme, Meemaw Magazine Layout: Paul Arnote, Meemaw, ms_meme 22 GIMP Tutorial: Photo Editing Revisited HTML Layout: YouCanToo 24 PCLinuxOS Family Member
    [Show full text]
  • Beginning Microsoft® Small Basic
    ® Beginning Microsoft Small Basic ® ® ® ™ Plus a Porting Guide to Microsoft Visual Basic , C# , and Java © PHILIP CONROD & LOU TYLEE, 2010 Kidware Software PO Box 701 Maple Valley, WA 98038 http://www.computerscienceforkids.com http://www.kidwaresoftware.com Copyright © 2010 by Philip Conrod & Lou Tylee. All rights reserved Kidware Software PO Box 701 Maple Valley, Washington 98038 1.425.413.1185 www.kidwaresoftware.com www.computerscienceforkids.com www.biblebytebooks.com All Rights Reserved. No part of the contents of this book may be reproduced or transmitted in any form or by any means without the written permission of the publisher. Printed in the United States of America ISBN-13: 978-1-937161-19-4 Book Cover Illustration by Kevin Brockschmidt Copy Editor: Stephanie Conrod This copy of the Beginning Microsoft Small Basic book and the associated software is licensed to a single user. Copies of the course are not to be distributed or provided to any other user. Multiple copy licenses are available for educational institutions. Please contact Kidware Software for school site license information. This guide was developed for the course, “Beginning Microsoft Small Basic,” produced by Kidware Software, Maple Valley, Washington. It is not intended to be a complete reference to the Small Basic language. Please consult the Microsoft website for detailed reference information. This guide refers to several software and hardware products by their trade names. These references are for informational purposes only and all trademarks are the property of their respective companies and owners. Microsoft, Visual Studio, Small Basic, Visual Basic, Visual J#, and Visual C#, IntelliSense, Word, Excel, MSDN, and Windows are all trademark products of the Microsoft Corporation.
    [Show full text]
  • Gambas Almost Means Basic Today’S Menu
    Gambas Gambas Almost Means BASic Today’s Menu... • Gambas – What ? – Why ? • How it works • Demo I - Hello, World! • Features – I • Demo II - Analog Clock • Features - II • Gambas vs VB • Demo IV – Movie Player • Its future Gambas – A better Visual Basic • Gambas is a – Graphical Development Environment based on a Basic interpreter – Intended to be a better Visual Basic • VB replacement for Linux, not a VB clone Gambas - Why? • Leveraging the power of Linux • Leveraging our current knowledge • Unique mix of features - help thousands of VB developers to migrate from Windows to Linux • Converting legacy code Gambas can help bring more applications and users more quickly to Linux Demo - I Hello, World! Gambas- How it works • .project file • .form files • .class files • "gbc" -> binary "pcode". • pcode in ".gambas“ • "gbx" • Components – qt-component – GTK component? - Write them! ;-) • "gba" –> project + pcode = so called "executable file" Gambas – Features • Component Model – designed to be extensible. base language and all the rest = components – Even the graphical toolkit is just a component. – Soon, GTK+ component • Can write multi language programs – RAD offers a wizard to translate • Gambas offers database access – Currently can manage MySQL, PostgreSQL and Sqlite Gambas – Features (cont..) • Distribution wizards – can distribute your program as source code – also create binary packages • Can write network applications using Gambas – TCP, Unix and UDP sockets, clients and servers, serial port devices – queries to HTTP servers, FTP client • XML is work in progress Demo II Analog Clock Gambas v/s VB • Non Language-Specific Differences – Gambas - separate, in a .form and a .class file, VB - combined – Form controls in Gambas programs are private by default.
    [Show full text]
  • PC Update June 2019
    >PC_Update June 2019 Joshua tree, Nevada desert outside Las Vegas. Editorial >PC_Update Is there a “Them and Us?” June 2019 I surrender the editor’s desk in a couple of months, and lose the abil- The newsletter of ity to write editorials. So I should Melbourne PC User Group Inc. get this off my chest while I can. Suite 26, Level 1, 479 Warrigal Road Moorabbin 3189 Phone (03) 9276 4000 Invariably, as a committee member, Office hours 9.30am-4.30pm (Mon-Friday) you catch echoes of rumblings from email [email protected] non-committee members that ABN: 43 196 519 351 “they” should do this, why aren’t Victorian Association Registration A0003293V “they” doing that? I may at one time Editor: David Stonier-Gibson [email protected] have been one of those grumblers in the corridors, but then I decided to Tech editors: Roger Brown, Kevin Martin, Dennis Parsons, stand for the committee on the Miles ground that you have more chance Proof Readers: Harry Lewis, Tim McQueen, Paul Woolard, of bringing about change if you are Hugh Macdonald inside the tent than outside. It’s not about the desire for power, or the trappings of power. It’s Librarians: Malin Robertson [email protected] about being prepared to put in many hours and invest a Choy Lai [email protected] lot of emotional capital in order to try and bring about the vision you have to help the club thrive and prosper. Committee Executive President: John Hall A few years ago we had a president who tried to run the Vice President: Stephen Zuluaga club like he probably ran his business, by dictatorially mak- Secretary: John Swale ing unilateral decisions and riding roughshod over other Treasurer: Stewart Gruneklee committee members, not to mention non-committee Members: Hugh Macdonald • Bahador Nayebifar • Rob members.
    [Show full text]
  • Assignment #6—Basic Due Date: Friday, March 13 Note: Assignment #6 Will Not Be Accepted After 5:00P.M
    Eric Roberts Handout #44 CS 106B February 27, 2015 Assignment #6—Basic Due date: Friday, March 13 Note: Assignment #6 will not be accepted after 5:00P.M. on Monday, March 16 – 2 – In 1975, Bill Gates and Paul Allen started the company that would become Microsoft by writing a BASIC interpreter for the first microcomputer, the Altair 8800 developed by the MITS Corporation of Albuquerque, New Mexico. By making it possible for users to write programs for a microcomputer without having to code in machine language, the Altair and its implementation of BASIC helped to start the personal computer revolution. In this assignment, your mission is to build a minimal BASIC interpreter, starting with the code for the integer expression evaluator presented in Chapter 19. This assignment is designed to accomplish the following objectives: • To increase your familiarity with expression trees and class inheritance. • To give you a better sense of how programming languages work. Learning how an interpreter operates—particularly one that you build yourself—provides useful insights into the programming process. • To offer you the chance to adapt an existing program into one that solves a different but related task. The majority of programming that people do in the industry consists of modifying existing systems rather than creating them from scratch. What is BASIC? The programming language BASIC—the name is an acronym for Beginner’s All-purpose Symbolic Instruction Code—was developed in the mid-1960s at Dartmouth College by John Kemeny and Thomas Kurtz. It was one of the first languages designed to be easy to use and learn.
    [Show full text]
  • Fastbasic 4.3 - Fast BASIC Interpreter for the Atari 8-Bit Computers
    FastBasic 4.3 - Fast BASIC interpreter for the Atari 8-bit computers Contents 1 Introduction 1 2 First Steps 2 3 Compiling The Program To Disk3 4 About The Syntax4 5 Expressions 4 5.1 Numeric Values . .5 5.2 Numeric Variables . .5 5.3 Numeric Operators . .5 5.4 Boolean Operators . .6 5.5 Arrays . .6 5.6 String Values . .7 5.7 String Variables . .8 5.8 Standard Functions . .9 5.9 Atari Specific Functions . .9 5.10 Floating Point Functions . 10 5.11 String Functions . 11 5.12 Low level Functions . 11 6 List Of Statements 12 6.1 Console Print and Input Statements . 12 6.2 Control Statements . 13 6.3 Graphic and Sound Statements . 16 6.4 Device Input and Output Statements . 18 6.5 General Statements . 20 6.6 Floating Point Statements . 21 6.7 Low Level Statements . 22 6.8 Display List Interrupts . 23 1 Introduction FastBasic is a fast interpreter for the BASIC language on the Atari 8-bit computers. One big dierence from other BASIC interpreters in 1980s era 8-bit computers is the lack of line numbers, as well as an integrated full-screen editor. This is similar to newer programming environments, giving 1 FastBasic 4.3 - Fast BASIC interpreter for the Atari 8-bit computers the programmer a higher degree of flexibility. Another big dierence is that default variables and operations are done using integer numbers; this is one of the reasons that the programs run so fast relative to its peers from the 1980s. The other reason is that the program is parsed on run, generating optimized code for very fast execution.
    [Show full text]
  • Part 1 of Lll 8080 Basic Interpreter
    SOFTWARE SECTION MICROCOMPUTER DEVELOPMENT SOFTWARE PART 1 OF LLL 8080 BASIC INTERPRETER Submitted by E. R. Fisher By Jerry Barber & Royce Eckard Lawrence Livermore Laboratory FOREWARD Execution time The BASIC interpreter was developed at the Univer­ Operation on 8080 (m secl sity of Idaho by John Dickenson. Jerry Barber. and John Teeter under a contract with the Lawrence Liver­ ADD 2.4 m sec SUBSTRACT more Laboratory. The floating point package was 2.4 m sec MULTIPLY developed by David Mead. modified by Hal Brand and 5.4 m sec DIVIDE 7.0 m sec Frank Olken. In addition. Jerry Barber. as an LLL summer employee. made significant contributions to this document and to implementing the BASIC lan­ BASIC INTERPRETER LANGUAGE GRAMMAR guage in an MCS-8080 microprocessor. COMMANDS - Six BASIC interpreter commands INTRODUCTION are provided. These commands are: This article is Part 1 of a series of four articles RUN Begins program execution covering the LLL 8080 BASIC interpreter just released Clears program from merrory to the public domain by Lawrence Livermore Labor­ SCR Lists ASCII program in merrory atory. The other three articles that will be published in LIST Punches paper-tape copy of program the next three months are: PLST PTAPE Reads paper-tape copy of program PART 2 - LLL 8080 BASIC INTERPRETER SOURCE using high-speed reader PROGRAM WITHOUT FLOAT O\ITRL S Interrupts program during execution PART 3 - LLL 8080 BASIC FLOAT SOURCE PRO­ GRAM PART 4 - LLL 8080 OCTAL DEBUGGING SOURCE The LIST and PLST commands can be followed by PROGRAM one or two line numbers to indicate that only a part of the program is to be listed.
    [Show full text]