diff options
author | Bryan Bishop <kanzure@gmail.com> | 2013-02-03 15:10:14 -0600 |
---|---|---|
committer | Bryan Bishop <kanzure@gmail.com> | 2013-02-03 15:10:14 -0600 |
commit | c789a2962ace456d1e539864f07bc9f946a8df84 (patch) | |
tree | 7a8586a9f3e2dd731937deebd7100fa497700a5b /gbz80disasm.py | |
parent | 4089cf486d83d78fddaab98316952e1bbeaafd47 (diff) |
enable labels in gbz80disasm
fixes #102
original-commit-id: 82b8b5121a574b6e29c72a95fd305134fd0a08cf
Diffstat (limited to 'gbz80disasm.py')
-rw-r--r-- | gbz80disasm.py | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/gbz80disasm.py b/gbz80disasm.py index f2ba483..088a32f 100644 --- a/gbz80disasm.py +++ b/gbz80disasm.py @@ -568,8 +568,6 @@ def load_labels(filename="labels.json"): crystal.scan_for_predefined_labels() def find_label(local_address, bank_id=0): - return None - global all_labels # keep an integer @@ -577,17 +575,19 @@ def find_label(local_address, bank_id=0): local_address1 = int(local_address.replace("$", "0x"), 16) else: local_address1 = local_address - # turn local_address into a string + # turn local_address into an integer + if type(local_address) == str: + if "0x" in local_address: + local_address = local_address.replace("0x", "$") + elif "$" in local_address: + local_address = local_address.replace("$", "") + if type(local_address) == str: - if "0x" in local_address: local_address = local_address.replace("0x", "$") - elif not "$" in local_address: local_address = "$" + local_address - if type(local_address) == int: - local_address = "$%.x" % (local_address) - local_address = local_address.upper() + local_address = int(local_address, 16) for label_entry in all_labels: - if label_entry["local_pointer"].upper() == local_address: - if label_entry["bank_id"] == bank_id or (local_address1 < 0x8000 and (label_entry["bank_id"] == 0 or label_entry["bank_id"] == 1)): + if label_entry["address"] == local_address: + if label_entry["bank"] == bank_id or (local_address1 < 0x8000 and (label_entry["bank"] == 0 or label_entry["bank"] == 1)): return label_entry["label"] return None |