diff basic/basic.txt @ 57:2088fd998865

sbc09 directry clean up
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 23 Jul 2018 16:07:12 +0900
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/basic/basic.txt	Mon Jul 23 16:07:12 2018 +0900
@@ -0,0 +1,92 @@
+				TINY BASIC SUMMARY
+ 
+Editing		Standard Basic
+ 
+Direct Mode	All Verbs Usable
+ 
+Statement Types
+ 
+	PRINT	Item List
+	LET	Var = Expr	(LET is optional)
+	IF	Expr Relop Expr  Statement
+	INPUT	Variable List
+	GOTO	Line Number
+	GOSUB	Line Number
+	RETURN
+	POKE	POKE(Expr) = Expr
+	STOP
+	LIST	Line Number, Line Number	(Line Numbers are optional)
+	RUN
+	NEW
+ 
+Functions
+ 
+	USR	Variable = USR(Expr,Expr)
+	PEEK	Variable = PEEK(Expr)
+	MEM	Variable = MEM
+ 
+Number		Integers to _+32767 or Hex Integers preceded by a $ symbol
+ 
+Variable	Letters A-Z
+ 
+Expression	Variables, Numbers, and Functions combined with the following
+		operators +, -, *, /, (, ).
+ 
+Relop		Comparison operators =, <, >, <=, >=, <>.
+ 
+Line Number	Numbers 1 through 9999
+ 
+String		"ALPHANUMERICS"
+ 
+Item List	Expressions and Strings seperated by format control
+		characters , and ;.
+ 
+Control Chars.	Control H or "Back Space" deletes last input character.
+		Control X or "Cancel" deletes entire input line.
+		Control C Terminates Basic program or List operation and
+			  returns control to command mode.
+ 
+Memory Usage	Tiny Basic V1.37
+ 
+$0080 - $009F	Tiny Basic interpreter scratch area.
+$00A0 - $00FD	Not used by Tiny Basic interpreter. (usable USR routines)
+$**** - $****	Pointer to Interrupt Vector Table. (Identical to LILBUG)
+$D800 - $DFFF	Input Buffer, Basic Program storage, Stack Space, and
+		Variables in RAM.
+$**** - $****	Optional Power Up Basic Program and/or USR functions in ROM.
+$E800 - $EFFF	Tiny Basic interpreter ROM.
+ 
+$E800		Cold Start Address.
+$E803		Warm Start Address.
+
+			Tiny Basic USR Function
+ 
+The USR function in Tiny Basic takes 2 arguments and returns a value to a
+variable. The form of the USR function is "LET V = USR(Expr,Expr)".
+The USR function can be used in any expression in Tiny Basic as an example
+"LET V = A * ( B + USR( $EF00, K))". The USR function can also be used with
+the PRINT statement.
+ 
+The first argument of the USR function is evaluated to determine the address
+or the machine language code to be called. The second argument is evaluated
+and the value is send to the machine code routine in the D accumulator. The
+second argument is optional, if it is present the Carry bit in the condition
+code register will be cleared when the machine code routine is called. If the
+second argument is not present the Carry Bit will be set when the machine code
+is called. The machine code routine may return a result to the BASIC program
+in the D accumulator, the value in the D accumulator on return from the machine
+code routine will be used by the BASIC program as the value of the function.
+ 
+The machine code routine must execute a RTS instruction to return conterol to
+the BASIC program. The machine code routine may use all the processor registers
+freely and need not save and restore any registers. It is important that the
+machine code routine not modify any memory used by the Tiny Basic interpreter.
+Consult the memory map provided with your version of Tiny Basic to determine
+which memory areas are not used.
+ 
+Tiny Basic handles interrupts with the same interrupt vectoring technique used
+by LILBUG. Consult the LILBUG manual for details on interrupt vector usage.
+ 
+ 
+ 
+							JPB  12-APR-82