Fixed += not checking for String too long
This commit is contained in:
1 parent
e26b0441e4
commit
68415af1b6
4 files changed
+20
-15
No files matched your search
Binary file not shown.
Binary file not shown.
+10
-8
@@ -1,8 +1,8 @@
|
|||||||
TITLE BBC BASIC (C) R.T.RUSSELL 1981-2024
|
TITLE BBC BASIC (C) R.T.RUSSELL 1981-2025
|
||||||
;
|
;
|
||||||
;BBC BASIC INTERPRETER - Z80 VERSION
|
;BBC BASIC INTERPRETER - Z80 VERSION
|
||||||
;EVALUATE EXPRESSION MODULE - "EVAL"
|
;EVALUATE EXPRESSION MODULE - "EVAL"
|
||||||
;(C) COPYRIGHT R.T.RUSSELL 1981-2024
|
;(C) COPYRIGHT R.T.RUSSELL 1981-2025
|
||||||
;
|
;
|
||||||
;THE NAME BBC BASIC IS USED WITH THE PERMISSION
|
;THE NAME BBC BASIC IS USED WITH THE PERMISSION
|
||||||
;OF THE BRITISH BROADCASTING CORPORATION AND IS
|
;OF THE BRITISH BROADCASTING CORPORATION AND IS
|
||||||
@@ -12,6 +12,7 @@
|
|||||||
;VERSION 3.0, 08-03-1987
|
;VERSION 3.0, 08-03-1987
|
||||||
;VERSION 5.0, 31-05-2024
|
;VERSION 5.0, 31-05-2024
|
||||||
;VERSION 5.1, 28-12-2024
|
;VERSION 5.1, 28-12-2024
|
||||||
|
;VERSION 5.2, 11-01-2025
|
||||||
;
|
;
|
||||||
;BINARY FLOATING POINT REPRESENTATION:
|
;BINARY FLOATING POINT REPRESENTATION:
|
||||||
; 32 BIT SIGN-MAGNITUDE NORMALIZED MANTISSA
|
; 32 BIT SIGN-MAGNITUDE NORMALIZED MANTISSA
|
||||||
@@ -640,7 +641,7 @@ CONS2: LD A,(IY)
|
|||||||
RET
|
RET
|
||||||
;
|
;
|
||||||
ARRAY: LD A,14 ;'Bad use of array'
|
ARRAY: LD A,14 ;'Bad use of array'
|
||||||
JP ERROR
|
JR ERROR0
|
||||||
;
|
;
|
||||||
; ARRLEN - Get start address and number of elements of an array
|
; ARRLEN - Get start address and number of elements of an array
|
||||||
; Inputs: HL addresses array descriptor
|
; Inputs: HL addresses array descriptor
|
||||||
@@ -724,20 +725,21 @@ LOADS: LD DE,ACCS
|
|||||||
EXX
|
EXX
|
||||||
OR A
|
OR A
|
||||||
LD C,A
|
LD C,A
|
||||||
LD A,80H ;STRING MARKER
|
REPDUN: LD A,80H ;STRING MARKER
|
||||||
RET Z
|
RET Z
|
||||||
LD B,0
|
LD B,0
|
||||||
LDIR
|
LDIR
|
||||||
RET
|
RET
|
||||||
;
|
;
|
||||||
LOADS2: LD A,(HL)
|
LOADS2: PUSH IX
|
||||||
|
POP HL
|
||||||
|
LOADS3: LD A,(HL)
|
||||||
LD (DE),A
|
LD (DE),A
|
||||||
INC HL
|
INC HL
|
||||||
CP CR
|
CP CR
|
||||||
REPDUN: LD A,80H ;STRING MARKER
|
JR Z,REPDUN
|
||||||
RET Z
|
|
||||||
INC E
|
INC E
|
||||||
JR NZ,LOADS2
|
JR NZ,LOADS3
|
||||||
RET ;RETURN NULL STRING
|
RET ;RETURN NULL STRING
|
||||||
;
|
;
|
||||||
; Version 5 extensions:
|
; Version 5 extensions:
|
||||||
|
|||||||
+10
-7
@@ -1,8 +1,8 @@
|
|||||||
TITLE BBC BASIC (C) R.T.RUSSELL 1981-2024
|
TITLE BBC BASIC (C) R.T.RUSSELL 1981-2025
|
||||||
;
|
;
|
||||||
;BBC BASIC INTERPRETER - Z80 VERSION
|
;BBC BASIC INTERPRETER - Z80 VERSION
|
||||||
;STATEMENT EXECUTION MODULE - "EXEC"
|
;STATEMENT EXECUTION MODULE - "EXEC"
|
||||||
;(C) COPYRIGHT R.T.RUSSELL 1981-2024
|
;(C) COPYRIGHT R.T.RUSSELL 1981-2025
|
||||||
;
|
;
|
||||||
;THE NAME BBC BASIC IS USED WITH THE PERMISSION
|
;THE NAME BBC BASIC IS USED WITH THE PERMISSION
|
||||||
;OF THE BRITISH BROADCASTING CORPORATION AND IS
|
;OF THE BRITISH BROADCASTING CORPORATION AND IS
|
||||||
@@ -12,6 +12,7 @@
|
|||||||
;VERSION 3.1, 11-06-1987
|
;VERSION 3.1, 11-06-1987
|
||||||
;VERSION 5.0, 12-07-2024
|
;VERSION 5.0, 12-07-2024
|
||||||
;VERSION 5.1, 28-12-2024
|
;VERSION 5.1, 28-12-2024
|
||||||
|
;VERSION 5.2, 11-01-2025
|
||||||
;
|
;
|
||||||
GLOBAL XEQ
|
GLOBAL XEQ
|
||||||
GLOBAL RUN0
|
GLOBAL RUN0
|
||||||
@@ -451,7 +452,6 @@ LET: CALL ASSIGN
|
|||||||
JR C,SYNTAX ;"Syntax error"
|
JR C,SYNTAX ;"Syntax error"
|
||||||
JP P,LETARR ;Numeric array
|
JP P,LETARR ;Numeric array
|
||||||
JP PE,LETARR ;String array
|
JP PE,LETARR ;String array
|
||||||
LD A,D ;Type
|
|
||||||
PUSH DE
|
PUSH DE
|
||||||
PUSH HL
|
PUSH HL
|
||||||
CALL EXPRS
|
CALL EXPRS
|
||||||
@@ -2363,7 +2363,7 @@ MODIFY: LD A,E
|
|||||||
CALL FPP
|
CALL FPP
|
||||||
POP IX
|
POP IX
|
||||||
POP DE
|
POP DE
|
||||||
JP C,ERROR
|
JR C,ERRORC
|
||||||
STORE0: LD A,D ;Type
|
STORE0: LD A,D ;Type
|
||||||
STOREN: CP 5
|
STOREN: CP 5
|
||||||
JR Z,STORE5
|
JR Z,STORE5
|
||||||
@@ -2400,14 +2400,17 @@ MODIFS: LD A,L ;Operator
|
|||||||
CP '+'
|
CP '+'
|
||||||
LD A,H ;Type
|
LD A,H ;Type
|
||||||
JR NZ,STACCS
|
JR NZ,STACCS
|
||||||
PUSH IY
|
|
||||||
PUSH IX
|
PUSH IX
|
||||||
POP IY
|
EX (SP),IY
|
||||||
CALL PUSHS
|
CALL PUSHS
|
||||||
PUSH IY
|
PUSH IY
|
||||||
POP IX
|
POP IX
|
||||||
CALL LOADS
|
CALL LOADS
|
||||||
POP BC
|
POP BC
|
||||||
|
LD A,E
|
||||||
|
ADD C
|
||||||
|
LD A,19 ;String too long
|
||||||
|
ERRORC: JR C,ERROR6
|
||||||
LD A,B ;Type
|
LD A,B ;Type
|
||||||
INC C
|
INC C
|
||||||
DEC C
|
DEC C
|
||||||
@@ -2480,7 +2483,7 @@ CHECK: PUSH HL
|
|||||||
POP HL
|
POP HL
|
||||||
RET C
|
RET C
|
||||||
XOR A
|
XOR A
|
||||||
JP ERROR ;"No room"
|
ERROR6: JP ERROR ;"No room"
|
||||||
;
|
;
|
||||||
STORS3: LD C,E
|
STORS3: LD C,E
|
||||||
PUSH IX
|
PUSH IX
|
||||||
|
|||||||
Reference in new issue
Block a user