Re: A85: Rigel, where'd it go??


[Prev][Next][Index][Thread]

Re: A85: Rigel, where'd it go??



Ben Sferrazza wrote:
> 
> Sure.  Since Usgard uses some sort of fixup table for all relocation,
> you must have at least two bytes for every fixup.  Ah, the beauty of
> fixed address relocation.

As Sam & Andi has mentioned, it's one byte most of the time. The format
is very simple: if the next byte in the relocation table is >0, it's
the relative address from the previous relocation address. If it's 0,
the next word in the table is the relative address from the previous
relocation address.

Personally, I've never liked fixed address relocation because it
seems very unstable, especially if you're going to support libraries,
TSR, deleting/resizing vars etc. Deleting a variable between
the fixed program and libraries in use (+ TSR programs running) must
require quite a lot of code since you have to rerelocate the library
and the TSR program.

-- 
Jimmy Mårdell                "The nice thing about standards is that 
mailto:mja@algonet.se         there are so many of them to choose from."
http://www.algonet.se/~mja    
IRC: Yarin                   "Sanity? I'm sure I have it on tape
somewhere!"


Follow-Ups: References: