From dd3ec6742a93b9f8772a91a05af7165de152bd97 Mon Sep 17 00:00:00 2001 From: Bryan Bishop Date: Sat, 21 Apr 2012 18:59:58 -0500 Subject: hmm duplicate insertions original-commit-id: 4f683d642176ed57fc8c27f08849cdf4065ef612 --- crystal.py | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'crystal.py') diff --git a/crystal.py b/crystal.py index 994943c..a66eb7d 100644 --- a/crystal.py +++ b/crystal.py @@ -4219,7 +4219,7 @@ def to_asm(some_object): asmr = asmr.replace("\n"+spacing+"\n", "\n\n"+spacing) asm += spacing + asmr #show the address of the next byte below this - asm += "\n; " + hex(last_address) + asm += "\n; " + hex(last_address) + "\n" return asm def flattener(x): @@ -4637,11 +4637,26 @@ class Asm: if self.debug: print "object.__class__="+str(object.__class__) + " object is: " + str(object) self.insert(object) - def insert_all(self): + def insert_all(self, limit=100): + count = 0 for each in script_parse_table.items(): + if count == limit: break object = each[1] if type(object) == str: continue self.insert_single_with_dependencies(object) + count += 1 + def insert_and_dump(self, limit=100, filename="output.txt"): + self.insert_all(limit=limit) + fh = open(filename, "w") + for each in self.parts: + if hasattr(each, "to_asm"): + if isinstance(each, AsmSection) or isinstance(each, Incbin) or isinstance(each, AsmLine): + fh.write(each.to_asm()+"\n") + else: + #print "each is: " + str(each) + fh.write(to_asm(each)) + else: + fh.write(each + "\n") def index(seq, f): """return the index of the first item in seq -- cgit v1.2.3