summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBryan Bishop <kanzure@gmail.com>2012-05-15 22:15:08 -0500
committerBryan Bishop <kanzure@gmail.com>2012-05-15 22:15:08 -0500
commit9ea58a882434887ad855eaa1a0025508d767a3c7 (patch)
treeb1c6d25072f6a905293610caa753c742d490ed42
parent6b8b380535343ec72cecfb9f7f25a7425cb92261 (diff)
only recalculate a PointerLabelParam parsed_address if necessary
original-commit-id: 7244cb256ee7a7c2fd3b56061dc4541bd5245734
-rw-r--r--crystal.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/crystal.py b/crystal.py
index 0a8539b..98f5c25 100644
--- a/crystal.py
+++ b/crystal.py
@@ -1466,7 +1466,11 @@ class PointerLabelParam(MultiByteParam):
bank = self.bank
#we pass bank= for whether or not to include a bank byte when reading
#.. it's not related to caddress
- caddress = calculate_pointer_from_bytes_at(self.address, bank=self.bank)
+ caddress = None
+ if not (hasattr(self, "parsed_address") and self.parsed_address != None):
+ caddress = calculate_pointer_from_bytes_at(self.address, bank=self.bank)
+ else:
+ caddress = self.parsed_address
label = get_label_for(caddress)
pointer_part = label #use the label, if it is found