Skip to content

Commit 7ebdfbd

Browse files
committed
Bugfix: Do not use undef label
When not using the HEAP, ZX Basic should not refer to any label using it. Fixed. This just defined the ZX_BASIC User data END area as an in-place label declaration.
1 parent 6bf953c commit 7ebdfbd

544 files changed

Lines changed: 2212 additions & 34974 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

arch/zx48k/backend/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2229,7 +2229,7 @@ def emit_end():
22292229
output.append(OPTIONS.heap_start_label.value + ':')
22302230
output.append('; Defines DATA END\n' + 'ZXBASIC_USER_DATA_END EQU ZXBASIC_MEM_HEAP + ZXBASIC_HEAP_SIZE')
22312231
else:
2232-
output.append('; Defines DATA END --> HEAP size is 0\n' + 'ZXBASIC_USER_DATA_END EQU ZXBASIC_MEM_HEAP')
2232+
output.append('; Defines DATA END --> HEAP size is 0\n' + 'ZXBASIC_USER_DATA_END:')
22332233

22342234
output.append('; Defines USER DATA Length in bytes\n' +
22352235
'ZXBASIC_USER_DATA_LEN EQU ZXBASIC_USER_DATA_END - ZXBASIC_USER_DATA')

tests/functional/00.asm

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,11 @@ __END_PROGRAM:
2626
ret
2727
__CALL_BACK__:
2828
DEFW 0
29-
3029
ZXBASIC_USER_DATA:
3130
_a:
3231
DEFB 00, 00, 00, 00, 00
33-
; Defines DATA END --> HEAP size is 0
34-
ZXBASIC_USER_DATA_END EQU ZXBASIC_MEM_HEAP
32+
; Defines DATA END --> HEAP size is 0
33+
ZXBASIC_USER_DATA_END:
3534
; Defines USER DATA Length in bytes
3635
ZXBASIC_USER_DATA_LEN EQU ZXBASIC_USER_DATA_END - ZXBASIC_USER_DATA
3736
END

tests/functional/02.asm

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,11 @@ __END_PROGRAM:
2626
ret
2727
__CALL_BACK__:
2828
DEFW 0
29-
3029
ZXBASIC_USER_DATA:
3130
_a:
3231
DEFB 00, 00
33-
; Defines DATA END --> HEAP size is 0
34-
ZXBASIC_USER_DATA_END EQU ZXBASIC_MEM_HEAP
32+
; Defines DATA END --> HEAP size is 0
33+
ZXBASIC_USER_DATA_END:
3534
; Defines USER DATA Length in bytes
3635
ZXBASIC_USER_DATA_LEN EQU ZXBASIC_USER_DATA_END - ZXBASIC_USER_DATA
3736
END

tests/functional/03.asm

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,11 @@ __END_PROGRAM:
2626
ret
2727
__CALL_BACK__:
2828
DEFW 0
29-
3029
ZXBASIC_USER_DATA:
3130
_a:
3231
DEFB 00
33-
; Defines DATA END --> HEAP size is 0
34-
ZXBASIC_USER_DATA_END EQU ZXBASIC_MEM_HEAP
32+
; Defines DATA END --> HEAP size is 0
33+
ZXBASIC_USER_DATA_END:
3534
; Defines USER DATA Length in bytes
3635
ZXBASIC_USER_DATA_LEN EQU ZXBASIC_USER_DATA_END - ZXBASIC_USER_DATA
3736
END

tests/functional/04.asm

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,11 @@ __END_PROGRAM:
2626
ret
2727
__CALL_BACK__:
2828
DEFW 0
29-
3029
ZXBASIC_USER_DATA:
3130
_a:
3231
DEFB 00, 00
33-
; Defines DATA END --> HEAP size is 0
34-
ZXBASIC_USER_DATA_END EQU ZXBASIC_MEM_HEAP
32+
; Defines DATA END --> HEAP size is 0
33+
ZXBASIC_USER_DATA_END:
3534
; Defines USER DATA Length in bytes
3635
ZXBASIC_USER_DATA_LEN EQU ZXBASIC_USER_DATA_END - ZXBASIC_USER_DATA
3736
END

tests/functional/05.asm

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@ _a.__DATA__:
4646
__LABEL0:
4747
DEFW 0000h
4848
DEFB 01h
49-
; Defines DATA END --> HEAP size is 0
50-
ZXBASIC_USER_DATA_END EQU ZXBASIC_MEM_HEAP
49+
; Defines DATA END --> HEAP size is 0
50+
ZXBASIC_USER_DATA_END:
5151
; Defines USER DATA Length in bytes
5252
ZXBASIC_USER_DATA_LEN EQU ZXBASIC_USER_DATA_END - ZXBASIC_USER_DATA
5353
END

tests/functional/053opt.asm

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -65,20 +65,16 @@ __LABEL__enddispara:
6565
ld c, l
6666
jp __END_PROGRAM
6767
#line 1 "abs8.asm"
68-
6968
; Returns absolute value for 8 bit signed integer
7069
;
7170
__ABS8:
7271
or a
7372
ret p
7473
neg
7574
ret
76-
7775
#line 56 "053opt.bas"
7876
#line 1 "lti8.asm"
79-
8077
#line 1 "lei8.asm"
81-
8278
__LEI8: ; Signed <= comparison for 8bit int
8379
; A <= H (registers)
8480
PROC
@@ -87,10 +83,8 @@ __LEI8: ; Signed <= comparison for 8bit int
8783
jr nz, __LTI
8884
inc a
8985
ret
90-
9186
__LTI8: ; Test 8 bit values A < H
9287
sub h
93-
9488
__LTI: ; Generic signed comparison
9589
jp po, checkParity
9690
xor 0x80
@@ -102,14 +96,13 @@ checkParity:
10296
ENDP
10397
#line 2 "lti8.asm"
10498
#line 57 "053opt.bas"
105-
10699
ZXBASIC_USER_DATA:
107100
_subeEgg:
108101
DEFB 00
109102
_sail:
110103
DEFB 00
111-
; Defines DATA END --> HEAP size is 0
112-
ZXBASIC_USER_DATA_END EQU ZXBASIC_MEM_HEAP
104+
; Defines DATA END --> HEAP size is 0
105+
ZXBASIC_USER_DATA_END:
113106
; Defines USER DATA Length in bytes
114107
ZXBASIC_USER_DATA_LEN EQU ZXBASIC_USER_DATA_END - ZXBASIC_USER_DATA
115108
END

tests/functional/06.asm

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@ _a.__DATA__:
4141
__LABEL0:
4242
DEFW 0000h
4343
DEFB 02h
44-
; Defines DATA END --> HEAP size is 0
45-
ZXBASIC_USER_DATA_END EQU ZXBASIC_MEM_HEAP
44+
; Defines DATA END --> HEAP size is 0
45+
ZXBASIC_USER_DATA_END:
4646
; Defines USER DATA Length in bytes
4747
ZXBASIC_USER_DATA_LEN EQU ZXBASIC_USER_DATA_END - ZXBASIC_USER_DATA
4848
END

tests/functional/07.asm

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,8 @@ __LABEL0:
6060
DEFW 0001h
6161
DEFW 0004h
6262
DEFB 02h
63-
; Defines DATA END --> HEAP size is 0
64-
ZXBASIC_USER_DATA_END EQU ZXBASIC_MEM_HEAP
63+
; Defines DATA END --> HEAP size is 0
64+
ZXBASIC_USER_DATA_END:
6565
; Defines USER DATA Length in bytes
6666
ZXBASIC_USER_DATA_LEN EQU ZXBASIC_USER_DATA_END - ZXBASIC_USER_DATA
6767
END

tests/functional/08.asm

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,11 @@ __END_PROGRAM:
2626
ret
2727
__CALL_BACK__:
2828
DEFW 0
29-
3029
ZXBASIC_USER_DATA:
3130
_x:
3231
DEFB 05h
33-
; Defines DATA END --> HEAP size is 0
34-
ZXBASIC_USER_DATA_END EQU ZXBASIC_MEM_HEAP
32+
; Defines DATA END --> HEAP size is 0
33+
ZXBASIC_USER_DATA_END:
3534
; Defines USER DATA Length in bytes
3635
ZXBASIC_USER_DATA_LEN EQU ZXBASIC_USER_DATA_END - ZXBASIC_USER_DATA
3736
END

0 commit comments

Comments
 (0)