[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Problems using large files with Merlin 16+
I'm having "problems" with a Merlin 16+ assembler project.
Specifically, I get BAD ADDRESS MODE & UNKNOWN LABEL
messages on labels & code that _worked_fine_before_.
I've checked out the meaning of these errors, and the
code conforms to all syntax rules, etc.
Here's my idea of what's going on:
My source is getting _larger_ every day.
(88K to 100K total, split over about 17 files,
my main file being about 27K)
Although, in general, this is no sweat for 4 megs
of RAM, it seems to be a problem for Merlin 16+.
About half my files are "USE" files, the other half
are "PUT" files. I understand that "USE" files are
supposed to remain in memory during assembly, but
it seems the assembler has been "forgetting" several
of my early equates.
It seems to me that I have reached the delicate point
of having just a little too much code & labels
but not enough to trigger any sort of _memory_
error.
For example, I "used" the file "Equates",
which had the line:
ToolDPptr = 0 (a zero page pointer equate)
And when I went to assemble it, it showed me
BAD ADDRESS MODE IN LINE xxx
xxx LDA [ToolDPptr]
which had _always_ worked before, and even still
work in other places in the source BEFORE line xxx
I'm able to "remind" Merlin about certain labels,
which is a patch by patch solution at best.
For example, if I get an UNKNOWN LABEL in line 457,
I can put an equate command in line 456, and it
works. But then a different label pops up to be
dealt with.
I have my Merlin 8/16 docs, but have misplaced my
Merlin 16+ docs, so I can't research this as
much as I would like.
For now, I will break my project into link files
so that the assembler won't be overwhelmed by
assembling the entire project all the time.
I assume that my problem is that I have too many
labels and/or too much source code to assemble
properly altogether. My problem occured after
adding a few labels, and writing another
200 lines of code.
My Question: #1 Why is this happening?
(Is it some upper limit on # of labels?)
(Am I approching the limits of use/put?)
#2 Is there a simple way to solve the problem?
E-mail preferred, but posting is OK.
Thank you very much in advance.
* Andrew Schwerin *
* schwerin@k12.ucs.umass.edu *