This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Help using public / extern please

Using A166 assembler in segmented mode...

I want to allocate some variables that are effectively used globally in one .asm file. They are located in a section that places them at the exact desired place in memory. I add a public declaration in the file where they are declared. BUT, in another .asm file in which I want to use them, I declare them as extern. So, they are visible, but when trying to use the variable I get a missing DPP information warning!

I understand that each file is translated on its own and the extern statement is effectively telling the assembler to "trust me and just use that symbol".

Is there anyway to make sure the assembler can do the DPP allocation for me, otherwise I have to do it all manually which is a massive job.

Eg

In Vars.asm

public someVariable

FIXED_LOC_VARIABLES SECTION DATA WORD 'ACQUIRE' ; These are in the first segment.

someVariable dsw 1

FIXED_LOC_VARIABLES ENDS

In Anotherfile.asm

extern someVariable:word

...

mov R0, someVariable <- D'oh, Missing DPP information warning

If I instead did either of these, it is OK:
extern DPP3:someVariable:word
mov R0, DPP3:someVariable
exts #0, #1
mov R0,someVariable

Anybody know a tidy solution that doesn't involve manually specifying every DPP use. That is pretty scary for maintenance!