On Sep 18, 17:16, Derek Peschel wrote:
On Wed, Sep 18, 2002 at 08:05:27AM +0000, Pete
Turnbull wrote:
> Well, I'd say the "right thing to
do" is to use absolute addressing
modes.
What modes
6/7 do is generate references which are relative to the
Sorry, I meant "the right thing for MACRO to do". Jerome and you didn't
seem to like the output format as it currently stands. How would you
change it? Jerome apparently wants to add some kind of warning lines.
Would you distinguish between ordinary relocation and PIC?
I'm really asking what the situations are (what the loader is capable of,
how you would define "relocatable" on the -11, tec.) as well as what
algorithms make sense to you.
I'm not sure what LINK does, and what input it needs. It's a long time
since I used MACRO-11, but I'd have expected it to generate the "correct"
values, for a start. What Pat's output showed was:
7 001000 012767 000110 177566' MOV #110,XBUF
but if you were entering that in ODT, what you'd want would be
7 001000 012767 000110 176552' MOV #110,XBUF
In other words, you'd want MACRO to do the calculation for you, and have
LINK adjust that if the eventual loading address was other than 001000.
If I were redesigning MACRO from scratch, I'd have it mark the PC-relative
addresses more obviously, perhaps something like this:
7 001000 012767 000110 [176552] MOV #110,XBUF
but then it would be more reasonable to put the target address, 177566, in
the listing, rather than the offset, 176552. Maybe it could do both, but
it gets a bit clumsy:
7 001000 012767 000110 [177566] (+176552) MOV #110,XBUF
This is just for the listing, obviously; what it puts in the .OBJ file
would not change. However, I imagine any such changes would bring howls of
protest from generations of MACRO programmers :-)
I tried the real MACRO (under RSX-11M) and it adds an
apostrophe to the
initial setting of . (which is what I'd expect, since . was never given
a numeric value, only incremented from its default) but still no
apostrophes
after the addresses later in the listing.
I don't have any listing readily to hand. Were the addresses shown as the
target addresses, or the offsets required to reach those tagets?
--
Pete Peter Turnbull
Network Manager
University of York