Make EXPORTed symbols agree with EDASM REL format

This commit is contained in:
David Schmenk
2014-05-24 18:25:55 -07:00
parent e9f854c06a
commit 2f4eb4843c
3 changed files with 3 additions and 3 deletions

View File

@@ -1157,7 +1157,7 @@ def loadmod(mod)
; ;
; EXPORT symbol - add it to the global symbol table. ; EXPORT symbol - add it to the global symbol table.
; ;
addr = (esd):1 + modfix addr = (esd):1 + modfix - MODADDR
if uword_isge(addr, bytecode) if uword_isge(addr, bytecode)
; ;
; Use the def directory address for bytecode. ; Use the def directory address for bytecode.

View File

@@ -374,7 +374,7 @@ void emit_esd(void)
{ {
emit_dci(&idglobal_name[i][1], idglobal_name[i][0]); emit_dci(&idglobal_name[i][1], idglobal_name[i][0]);
printf("\t%s\t$08\t\t\t; ENTRY SYMBOL FLAG\n", DB); printf("\t%s\t$08\t\t\t; ENTRY SYMBOL FLAG\n", DB);
printf("\t%s\t%s-_SEGBEGIN\t\t\n", DW, tag_string(idglobal_tag[i], idglobal_type[i])); printf("\t%s\t%s\t\t\n", DW, tag_string(idglobal_tag[i], idglobal_type[i]));
} }
} }
printf("\t%s\t$00\t\t\t; END OF ESD\n", DB); printf("\t%s\t$00\t\t\t; END OF ESD\n", DB);

View File

@@ -394,7 +394,7 @@ int load_mod(byte *mod)
else if (esd[0] & 0x08) else if (esd[0] & 0x08)
{ {
addr = esd[1] | (esd[2] << 8); addr = esd[1] | (esd[2] << 8);
addr += modfix; addr += modfix - MOD_ADDR;
if (show_state) printf("\tEXPORT %s@$%04X\n", string, addr); if (show_state) printf("\tEXPORT %s@$%04X\n", string, addr);
if (addr >= bytecode) if (addr >= bytecode)
addr = def_lookup(cdd, addr); addr = def_lookup(cdd, addr);