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
|
||||
;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
|
||||
;OF THE BRITISH BROADCASTING CORPORATION AND IS
|
||||
@@ -12,6 +12,7 @@
|
||||
;VERSION 3.0, 08-03-1987
|
||||
;VERSION 5.0, 31-05-2024
|
||||
;VERSION 5.1, 28-12-2024
|
||||
;VERSION 5.2, 11-01-2025
|
||||
;
|
||||
;BINARY FLOATING POINT REPRESENTATION:
|
||||
; 32 BIT SIGN-MAGNITUDE NORMALIZED MANTISSA
|
||||
@@ -640,7 +641,7 @@ CONS2: LD A,(IY)
|
||||
RET
|
||||
;
|
||||
ARRAY: LD A,14 ;'Bad use of array'
|
||||
JP ERROR
|
||||
JR ERROR0
|
||||
;
|
||||
; ARRLEN - Get start address and number of elements of an array
|
||||
; Inputs: HL addresses array descriptor
|
||||
@@ -724,20 +725,21 @@ LOADS: LD DE,ACCS
|
||||
EXX
|
||||
OR A
|
||||
LD C,A
|
||||
LD A,80H ;STRING MARKER
|
||||
REPDUN: LD A,80H ;STRING MARKER
|
||||
RET Z
|
||||
LD B,0
|
||||
LDIR
|
||||
RET
|
||||
;
|
||||
LOADS2: LD A,(HL)
|
||||
LOADS2: PUSH IX
|
||||
POP HL
|
||||
LOADS3: LD A,(HL)
|
||||
LD (DE),A
|
||||
INC HL
|
||||
CP CR
|
||||
REPDUN: LD A,80H ;STRING MARKER
|
||||
RET Z
|
||||
JR Z,REPDUN
|
||||
INC E
|
||||
JR NZ,LOADS2
|
||||
JR NZ,LOADS3
|
||||
RET ;RETURN NULL STRING
|
||||
;
|
||||
; 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
|
||||
;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
|
||||
;OF THE BRITISH BROADCASTING CORPORATION AND IS
|
||||
@@ -12,6 +12,7 @@
|
||||
;VERSION 3.1, 11-06-1987
|
||||
;VERSION 5.0, 12-07-2024
|
||||
;VERSION 5.1, 28-12-2024
|
||||
;VERSION 5.2, 11-01-2025
|
||||
;
|
||||
GLOBAL XEQ
|
||||
GLOBAL RUN0
|
||||
@@ -451,7 +452,6 @@ LET: CALL ASSIGN
|
||||
JR C,SYNTAX ;"Syntax error"
|
||||
JP P,LETARR ;Numeric array
|
||||
JP PE,LETARR ;String array
|
||||
LD A,D ;Type
|
||||
PUSH DE
|
||||
PUSH HL
|
||||
CALL EXPRS
|
||||
@@ -2363,7 +2363,7 @@ MODIFY: LD A,E
|
||||
CALL FPP
|
||||
POP IX
|
||||
POP DE
|
||||
JP C,ERROR
|
||||
JR C,ERRORC
|
||||
STORE0: LD A,D ;Type
|
||||
STOREN: CP 5
|
||||
JR Z,STORE5
|
||||
@@ -2400,14 +2400,17 @@ MODIFS: LD A,L ;Operator
|
||||
CP '+'
|
||||
LD A,H ;Type
|
||||
JR NZ,STACCS
|
||||
PUSH IY
|
||||
PUSH IX
|
||||
POP IY
|
||||
EX (SP),IY
|
||||
CALL PUSHS
|
||||
PUSH IY
|
||||
POP IX
|
||||
CALL LOADS
|
||||
POP BC
|
||||
LD A,E
|
||||
ADD C
|
||||
LD A,19 ;String too long
|
||||
ERRORC: JR C,ERROR6
|
||||
LD A,B ;Type
|
||||
INC C
|
||||
DEC C
|
||||
@@ -2480,7 +2483,7 @@ CHECK: PUSH HL
|
||||
POP HL
|
||||
RET C
|
||||
XOR A
|
||||
JP ERROR ;"No room"
|
||||
ERROR6: JP ERROR ;"No room"
|
||||
;
|
||||
STORS3: LD C,E
|
||||
PUSH IX
|
||||
|
||||
Reference in new issue
Block a user