Hello all,
Please excuse my ignorance, I am extremely new to MASM and can safely say I am a novice!
I am using MASM 6.11 sat underneath a Meridian Ada 83 compiler (16Bit Extended Mode).
My RS232 routine (Modified standard UCR routine) compile in MASM 6.11 just fine. However, when I include and try to link using my Meridian compiler, I get a Segment Fixup Error.
My question is, what are common causes of segment fixup errors? I need to get a handle on this, because I am currently dumb struck!
Again, apologies for my ignorance.
Best Regards, David
Hello David,
I would guess that the most common cause of a fixup error would be a relocation item that is too far from the base of the segment it's being placed in. But for this or any other common cause I would expect a mainstream compiler/linker to return a specific error. I think a non-specific fixup error likely indicates a problem that the designers did not anticipate, and this in turn suggests that the problem is not just some small error, but a major error or multiple errors. To solve the problem I think you will need to know the specifics of how Ada interfaces to other languages. In the short time I spent searching I could not find anything similar for Ada 83, but Ada 95 has an annex devoted to interfacing with other languages:
http://www.csupomona.edu/reference/ada/rm95html-1.0/rm9x-B.html