Skip to main content
6 events
when toggle format what by license comment
Feb 16, 2022 at 23:33 comment added Edw590 Ah! Got it. Will have to go read about relocations it seems. It's more complex than I first though. Thank you.
Feb 16, 2022 at 22:25 comment added Igor Skochinsky The predefined address was probably occupied, so the loader picked something available. The actual address may change depending on the environment and what happened before. Relocations are there for exactly such a situation - they allow the program to be “fixed up” to run at another location from the one it was linked for.
Feb 13, 2022 at 1:19 comment added Edw590 @IgorSkochinsky but on the header it's said that the the code segment must begin at address 0x10000, not whatever DOS/32 or DOS/4G decide (seems they both decide differently, from what I saw here). One puts at 0x1928A8 and the other on 0x222898. Then they have to change all addresses when they load the program. Why not just load as it's specified in the header? Like IDA does, which loads them in the address they should? (In the header, on the "Object Table Layout", the field I mean is called "Relocation base address".) Unless I'm not understanding something here - what am I missing?
Feb 12, 2022 at 12:58 comment added Igor Skochinsky Yes the program may be modified at load time thanks to relocations aka fixups.
Feb 11, 2022 at 1:17 history edited Edw590 CC BY-SA 4.0
added 300 characters in body
Feb 11, 2022 at 1:11 history answered Edw590 CC BY-SA 4.0