> Yes, it sounds like a COM file, with no relocation dictionary, etc., would have to be loaded at the same virtual memory address.
Because of x86's real mode segmented architecture, it only has to be loaded at the beginning of a segment (i.e. at offset 0 - although actually it's offset 256, with the first 256 bytes reserved for the program segment prefix). The segment part of the address could be anything.
And since real mode segments overlap, this means that the program can be loaded anywhere at the 16-byte ("paragraph") boundary, with no need for any kind of relocation.
Because of x86's real mode segmented architecture, it only has to be loaded at the beginning of a segment (i.e. at offset 0 - although actually it's offset 256, with the first 256 bytes reserved for the program segment prefix). The segment part of the address could be anything.
And since real mode segments overlap, this means that the program can be loaded anywhere at the 16-byte ("paragraph") boundary, with no need for any kind of relocation.