57
|
1 TINY BASIC SUMMARY
|
|
2
|
|
3 Editing Standard Basic
|
|
4
|
|
5 Direct Mode All Verbs Usable
|
|
6
|
|
7 Statement Types
|
|
8
|
|
9 PRINT Item List
|
|
10 LET Var = Expr (LET is optional)
|
|
11 IF Expr Relop Expr Statement
|
|
12 INPUT Variable List
|
|
13 GOTO Line Number
|
|
14 GOSUB Line Number
|
|
15 RETURN
|
|
16 POKE POKE(Expr) = Expr
|
|
17 STOP
|
|
18 LIST Line Number, Line Number (Line Numbers are optional)
|
|
19 RUN
|
|
20 NEW
|
|
21
|
|
22 Functions
|
|
23
|
|
24 USR Variable = USR(Expr,Expr)
|
|
25 PEEK Variable = PEEK(Expr)
|
|
26 MEM Variable = MEM
|
|
27
|
|
28 Number Integers to _+32767 or Hex Integers preceded by a $ symbol
|
|
29
|
|
30 Variable Letters A-Z
|
|
31
|
|
32 Expression Variables, Numbers, and Functions combined with the following
|
|
33 operators +, -, *, /, (, ).
|
|
34
|
|
35 Relop Comparison operators =, <, >, <=, >=, <>.
|
|
36
|
|
37 Line Number Numbers 1 through 9999
|
|
38
|
|
39 String "ALPHANUMERICS"
|
|
40
|
|
41 Item List Expressions and Strings seperated by format control
|
|
42 characters , and ;.
|
|
43
|
|
44 Control Chars. Control H or "Back Space" deletes last input character.
|
|
45 Control X or "Cancel" deletes entire input line.
|
|
46 Control C Terminates Basic program or List operation and
|
|
47 returns control to command mode.
|
|
48
|
|
49 Memory Usage Tiny Basic V1.37
|
|
50
|
|
51 $0080 - $009F Tiny Basic interpreter scratch area.
|
|
52 $00A0 - $00FD Not used by Tiny Basic interpreter. (usable USR routines)
|
|
53 $**** - $**** Pointer to Interrupt Vector Table. (Identical to LILBUG)
|
|
54 $D800 - $DFFF Input Buffer, Basic Program storage, Stack Space, and
|
|
55 Variables in RAM.
|
|
56 $**** - $**** Optional Power Up Basic Program and/or USR functions in ROM.
|
|
57 $E800 - $EFFF Tiny Basic interpreter ROM.
|
|
58
|
|
59 $E800 Cold Start Address.
|
|
60 $E803 Warm Start Address.
|
|
61
|
|
62 Tiny Basic USR Function
|
|
63
|
|
64 The USR function in Tiny Basic takes 2 arguments and returns a value to a
|
|
65 variable. The form of the USR function is "LET V = USR(Expr,Expr)".
|
|
66 The USR function can be used in any expression in Tiny Basic as an example
|
|
67 "LET V = A * ( B + USR( $EF00, K))". The USR function can also be used with
|
|
68 the PRINT statement.
|
|
69
|
|
70 The first argument of the USR function is evaluated to determine the address
|
|
71 or the machine language code to be called. The second argument is evaluated
|
|
72 and the value is send to the machine code routine in the D accumulator. The
|
|
73 second argument is optional, if it is present the Carry bit in the condition
|
|
74 code register will be cleared when the machine code routine is called. If the
|
|
75 second argument is not present the Carry Bit will be set when the machine code
|
|
76 is called. The machine code routine may return a result to the BASIC program
|
|
77 in the D accumulator, the value in the D accumulator on return from the machine
|
|
78 code routine will be used by the BASIC program as the value of the function.
|
|
79
|
|
80 The machine code routine must execute a RTS instruction to return conterol to
|
|
81 the BASIC program. The machine code routine may use all the processor registers
|
|
82 freely and need not save and restore any registers. It is important that the
|
|
83 machine code routine not modify any memory used by the Tiny Basic interpreter.
|
|
84 Consult the memory map provided with your version of Tiny Basic to determine
|
|
85 which memory areas are not used.
|
|
86
|
|
87 Tiny Basic handles interrupts with the same interrupt vectoring technique used
|
|
88 by LILBUG. Consult the LILBUG manual for details on interrupt vector usage.
|
|
89
|
|
90
|
|
91
|
|
92 JPB 12-APR-82
|