|
12 | 12 | from .link import make_binary |
13 | 13 | garbage_collect('after import') |
14 | 14 |
|
15 | | - |
16 | | -def src_to_binary(src, cpu): |
| 15 | +def src_to_binary_ext(src, cpu): |
17 | 16 | assembler = Assembler(cpu) |
18 | 17 | src = preprocess(src) |
19 | 18 | assembler.assemble(src, remove_comments=False) # comments already removed by preprocessor |
20 | 19 | garbage_collect('before symbols export') |
21 | 20 | addrs_syms = assembler.symbols.export() |
22 | | - for addr, sym in addrs_syms: |
23 | | - print('%04d %s' % (addr, sym)) |
24 | | - |
25 | 21 | text, data, bss_len = assembler.fetch() |
26 | | - return make_binary(text, data, bss_len) |
| 22 | + return make_binary(text, data, bss_len), addrs_syms |
27 | 23 |
|
| 24 | +def src_to_binary(src, cpu): |
| 25 | + binary, addrs_syms = src_to_binary_ext(src, cpu) |
| 26 | + for addr, sym in addrs_syms: |
| 27 | + print('%04d %s' % (addr, sym)) |
| 28 | + return binary |
28 | 29 |
|
29 | 30 | def assemble_file(filename, cpu): |
30 | 31 | with open(filename) as f: |
|
0 commit comments