diff --git a/arch/zx48k/translator.py b/arch/zx48k/translator.py index e1c9bbd33..dcf49f860 100644 --- a/arch/zx48k/translator.py +++ b/arch/zx48k/translator.py @@ -364,7 +364,7 @@ def visit_LETARRAYSUBSTR(self, node): else: offset = node_.offset if scope == SCOPE.global_: - self.ic_load(gl.PTR_TYPE, entry.t, '%s + %i' % (entry.mangled, offset)) + self.ic_load(gl.PTR_TYPE, entry.t, '%s.__DATA__ + %i' % (entry.mangled, offset)) elif scope == SCOPE.parameter: self.ic_pload(gl.PTR_TYPE, node_.t, entry.offset - offset) elif scope == SCOPE.local: diff --git a/tests/functional/let_array_substr10.asm b/tests/functional/let_array_substr10.asm index 09f53ddca..1987ff1e7 100644 --- a/tests/functional/let_array_substr10.asm +++ b/tests/functional/let_array_substr10.asm @@ -25,7 +25,7 @@ __START_PROGRAM: push hl ld hl, 3 push hl - ld hl, (_a + 8) + ld hl, (_a.__DATA__ + 8) call __LETSUBSTR ld hl, 0 ld b, h diff --git a/tests/functional/let_array_substr11.asm b/tests/functional/let_array_substr11.asm index a86c27be3..8edd48907 100644 --- a/tests/functional/let_array_substr11.asm +++ b/tests/functional/let_array_substr11.asm @@ -25,7 +25,7 @@ __START_PROGRAM: push hl ld hl, 65534 push hl - ld hl, (_a + 6) + ld hl, (_a.__DATA__ + 6) call __LETSUBSTR ld hl, 0 ld b, h diff --git a/tests/functional/let_array_substr12.asm b/tests/functional/let_array_substr12.asm index 7c5680031..93d8ffc7e 100644 --- a/tests/functional/let_array_substr12.asm +++ b/tests/functional/let_array_substr12.asm @@ -25,7 +25,7 @@ __START_PROGRAM: push hl ld hl, 5 push hl - ld hl, (_a + 6) + ld hl, (_a.__DATA__ + 6) call __LETSUBSTR ld hl, 0 ld b, h diff --git a/tests/functional/let_array_substr13.asm b/tests/functional/let_array_substr13.asm index abe0a6ef2..02ba114d2 100644 --- a/tests/functional/let_array_substr13.asm +++ b/tests/functional/let_array_substr13.asm @@ -25,7 +25,7 @@ __START_PROGRAM: push hl ld hl, 5 push hl - ld hl, (_a + 6) + ld hl, (_a.__DATA__ + 6) call __LETSUBSTR ld hl, 0 ld b, h diff --git a/tests/functional/let_array_substr2.asm b/tests/functional/let_array_substr2.asm index d233829bd..01348a61e 100644 --- a/tests/functional/let_array_substr2.asm +++ b/tests/functional/let_array_substr2.asm @@ -25,7 +25,7 @@ __START_PROGRAM: push hl ld hl, 5 push hl - ld hl, (_a + 6) + ld hl, (_a.__DATA__ + 6) call __LETSUBSTR ld hl, 0 ld b, h diff --git a/tests/functional/let_array_substr3.asm b/tests/functional/let_array_substr3.asm index e7b4125e0..68cb5f692 100644 --- a/tests/functional/let_array_substr3.asm +++ b/tests/functional/let_array_substr3.asm @@ -25,7 +25,7 @@ __START_PROGRAM: push hl ld hl, 5 push hl - ld hl, (_a + 6) + ld hl, (_a.__DATA__ + 6) call __LETSUBSTR ld hl, 0 ld b, h diff --git a/tests/functional/let_array_substr7.asm b/tests/functional/let_array_substr7.asm index 0d2745f94..12e21c615 100644 --- a/tests/functional/let_array_substr7.asm +++ b/tests/functional/let_array_substr7.asm @@ -25,7 +25,7 @@ __START_PROGRAM: push hl ld hl, 1 push hl - ld hl, (_a + 6) + ld hl, (_a.__DATA__ + 6) call __LETSUBSTR ld hl, 0 ld b, h diff --git a/tests/functional/let_array_substr9.asm b/tests/functional/let_array_substr9.asm index 3e8aab46e..dfb10a3dd 100644 --- a/tests/functional/let_array_substr9.asm +++ b/tests/functional/let_array_substr9.asm @@ -25,7 +25,7 @@ __START_PROGRAM: push hl ld hl, 65534 push hl - ld hl, (_a + 6) + ld hl, (_a.__DATA__ + 6) call __LETSUBSTR ld hl, 0 ld b, h