From 2f4eb4843c23bfcaa95d694c6ed5962f44e00452 Mon Sep 17 00:00:00 2001 From: David Schmenk Date: Sat, 24 May 2014 18:25:55 -0700 Subject: [PATCH] Make EXPORTed symbols agree with EDASM REL format --- PLASMA/src/cmd.pla | 2 +- PLASMA/src/codegen.c | 2 +- PLASMA/src/plvm.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/PLASMA/src/cmd.pla b/PLASMA/src/cmd.pla index ba229f61..c13fe94c 100644 --- a/PLASMA/src/cmd.pla +++ b/PLASMA/src/cmd.pla @@ -1157,7 +1157,7 @@ def loadmod(mod) ; ; EXPORT symbol - add it to the global symbol table. ; - addr = (esd):1 + modfix + addr = (esd):1 + modfix - MODADDR if uword_isge(addr, bytecode) ; ; Use the def directory address for bytecode. diff --git a/PLASMA/src/codegen.c b/PLASMA/src/codegen.c index 4c7c34c6..bb5ec00b 100755 --- a/PLASMA/src/codegen.c +++ b/PLASMA/src/codegen.c @@ -374,7 +374,7 @@ void emit_esd(void) { 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%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); diff --git a/PLASMA/src/plvm.c b/PLASMA/src/plvm.c index 911e61a8..a69707d4 100755 --- a/PLASMA/src/plvm.c +++ b/PLASMA/src/plvm.c @@ -394,7 +394,7 @@ int load_mod(byte *mod) else if (esd[0] & 0x08) { addr = esd[1] | (esd[2] << 8); - addr += modfix; + addr += modfix - MOD_ADDR; if (show_state) printf("\tEXPORT %s@$%04X\n", string, addr); if (addr >= bytecode) addr = def_lookup(cdd, addr);