Added RESTORE LOCAL statement
This commit is contained in:
1 parent
68415af1b6
commit
ae939a3acb
5 files changed
+21
-20
No files matched your search
+5
-3
@@ -1,4 +1,4 @@
|
||||
New features in BBC BASIC (Z80) version 5.00, June 2024:
|
||||
New features in BBC BASIC (Z80) version 5.00, January 2025:
|
||||
|
||||
1. BASIC V statements
|
||||
|
||||
@@ -54,8 +54,9 @@ New features in BBC BASIC (Z80) version 5.00, June 2024:
|
||||
4.4 RETURNed parameters from FN/PROC
|
||||
4.5 Compound assignment (+=, -=, *=, /= etc.)
|
||||
4.6 Assigning to a sub-string: LEFT$()=, MID$()= , RIGHT$()=
|
||||
4.7 Hooks for CIRCLE,ELLIPSE,FILL,LINE,MOUSE,ORIGIN,RECTANGLE,SYS,TINT,WAIT
|
||||
4.8 Hooks for ON, OFF, MODE function, TINT function, WIDTH function
|
||||
4.7 Hooks for CIRCLE, ELLIPSE, FILL, LINE, ORIGIN, RECTANGLE (graphics)
|
||||
4.8 Hooks for MOUSE, OFF, ON, SYS, TINT, WAIT (statements)
|
||||
4.9 Hooks for MODE function, TINT function, WIDTH function
|
||||
|
||||
5. Extensions to Acorn's BASIC V, compatible with BB4W, BBCSDL and BBCTTY
|
||||
|
||||
@@ -67,6 +68,7 @@ New features in BBC BASIC (Z80) version 5.00, June 2024:
|
||||
5.6 == synonymous with = in comparisons
|
||||
5.7 DIM a global array inside a FN/PROC (use RETURN)
|
||||
5.8 DIM var LOCAL -1 returns the stack pointer, even outside a FN/PROC
|
||||
5.9 RESTORE LOCAL restores local variables without exiting the FN/PROC
|
||||
|
||||
Note: The token for PUT has changed from &CE in version 3 to &0E in version 5.
|
||||
If this token is present in existing programs it will list as ENDWHILE rather
|
||||
|
||||
Binary file not shown.
Binary file not shown.
+16
-17
@@ -13,6 +13,7 @@
|
||||
;VERSION 5.0, 12-07-2024
|
||||
;VERSION 5.1, 28-12-2024
|
||||
;VERSION 5.2, 11-01-2025
|
||||
;VERSION 5.3, 31-01-2025
|
||||
;
|
||||
GLOBAL XEQ
|
||||
GLOBAL RUN0
|
||||
@@ -1823,32 +1824,30 @@ CLR: CALL CLEAR
|
||||
LD HL,(PAGE)
|
||||
JR RESTR1
|
||||
;
|
||||
;RESTORE ERROR
|
||||
;RESTORE DATA / ERROR / LOCAL
|
||||
;
|
||||
RESERR: INC IY
|
||||
LD A,2
|
||||
RESDEL: INC IY ;Skip DATA / ERROR / LOCAL
|
||||
LD A,C ;Save error code
|
||||
EX AF,AF'
|
||||
LD A,B ;1=DATA, 2=ERROR, 0=LOCAL
|
||||
CALL RESLOC
|
||||
JR NZ,XEQGO5
|
||||
LD A,53 ;ON ERROR not LOCAL
|
||||
ERROR5: JP ERROR
|
||||
;
|
||||
;RESTORE DATA
|
||||
;
|
||||
RESDAT: INC IY
|
||||
LD A,1
|
||||
CALL RESLOC
|
||||
JR NZ,XEQGO5
|
||||
LD A,54 ;'DATA not LOCAL'
|
||||
EX AF,AF' ;Get error code
|
||||
DEFB 21H
|
||||
NOLINE: LD A,41 ;'No such line'
|
||||
JR ERROR5
|
||||
ERROR5: JP ERROR
|
||||
;
|
||||
;RESTORE [line]
|
||||
;RESTORE [line | +n | DATA | ERROR | LOCAL]
|
||||
;
|
||||
RESTOR: CP TERROR
|
||||
JR Z,RESERR
|
||||
LD BC,200H + 53 ;'ON ERROR not LOCAL'
|
||||
JR Z,RESDEL
|
||||
CP TDATA
|
||||
JR Z,RESDAT
|
||||
LD BC,100H + 54 ;'DATA not LOCAL'
|
||||
JR Z,RESDEL
|
||||
CP TLOCAL
|
||||
LD BC,12 ;'Not in a FN or PROC'
|
||||
JR Z,RESDEL
|
||||
CP '+'
|
||||
JR Z,RESREL
|
||||
LD HL,(PAGE)
|
||||
|
||||
Binary file not shown.
Reference in new issue
Block a user