From 5fa8c69bd2986c443eb49c8567ce92c3b8036e23 Mon Sep 17 00:00:00 2001 From: Chris Pressey Date: Tue, 13 Feb 2018 17:17:27 +0000 Subject: [PATCH] Don't fudge the name of IndexRefs; dig in to find the ref's name. --- src/sixtypical/compiler.py | 8 ++++---- src/sixtypical/model.py | 3 +-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/sixtypical/compiler.py b/src/sixtypical/compiler.py index 3473d96..6ea7c4e 100644 --- a/src/sixtypical/compiler.py +++ b/src/sixtypical/compiler.py @@ -156,9 +156,9 @@ class Compiler(object): elif isinstance(src, ConstantRef): self.emitter.emit(LDA(Immediate(Byte(src.value)))) elif isinstance(src, IndexedRef) and src.index == REG_X: - self.emitter.emit(LDA(AbsoluteX(self.get_label(src.name)))) + self.emitter.emit(LDA(AbsoluteX(self.get_label(src.ref.name)))) elif isinstance(src, IndexedRef) and src.index == REG_Y: - self.emitter.emit(LDA(AbsoluteY(self.get_label(src.name)))) + self.emitter.emit(LDA(AbsoluteY(self.get_label(src.ref.name)))) elif isinstance(src, IndirectRef) and isinstance(src.ref.type, PointerType): self.emitter.emit(LDA(IndirectY(self.get_label(src.ref.name)))) else: @@ -169,7 +169,7 @@ class Compiler(object): elif isinstance(src, ConstantRef): self.emitter.emit(LDX(Immediate(Byte(src.value)))) elif isinstance(src, IndexedRef) and src.index == REG_Y: - self.emitter.emit(LDX(AbsoluteY(self.get_label(src.name)))) + self.emitter.emit(LDX(AbsoluteY(self.get_label(src.ref.name)))) else: self.emitter.emit(LDX(Absolute(self.get_label(src.name)))) elif dest == REG_Y: @@ -178,7 +178,7 @@ class Compiler(object): elif isinstance(src, ConstantRef): self.emitter.emit(LDY(Immediate(Byte(src.value)))) elif isinstance(src, IndexedRef) and src.index == REG_X: - self.emitter.emit(LDY(AbsoluteX(self.get_label(src.name)))) + self.emitter.emit(LDY(AbsoluteX(self.get_label(src.ref.name)))) else: self.emitter.emit(LDY(Absolute(self.get_label(src.name)))) else: diff --git a/src/sixtypical/model.py b/src/sixtypical/model.py index 3cc7f94..dde7da9 100644 --- a/src/sixtypical/model.py +++ b/src/sixtypical/model.py @@ -202,8 +202,7 @@ class IndexedRef(Ref): @property def name(self): - return self.ref.name - #return '{}+{}'.format(self.ref.name, self.index.name) + return '{}+{}'.format(self.ref.name, self.index.name) def is_constant(self): return False