Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!burl!ulysses!mhuxl!houxm!houxz!vax135!cornell!uw-beaver!tektronix!hplabs!sri-unix!waters%viking.DEC@decwrl.ARPA From: waters%viking.DEC@decwrl.ARPA Newsgroups: net.micro.pc Subject: .OBJ/.COM Files Message-ID: <12261@sri-arpa.UUCP> Date: Mon, 6-Aug-84 15:49:07 EDT Article-I.D.: sri-arpa.12261 Posted: Mon Aug 6 15:49:07 1984 Date-Received: Sun, 12-Aug-84 00:24:45 EDT Lines: 20 From: waters%viking.DEC@decwrl.ARPA (Lester Waters) The relocatable object modules under MS-DOS are quite complex in nature. As far as I can tell, segments are not necessarily contiguous. Instead, there are link lists of pointers to the various parts of a segment. The code that is actually generated is placed in the object module in the same relative order in which it is defined. It is up to the LINKer to concatonate segments of the same class together. Microsoft followed Intel's object module format. For those of you who would like to read further, obtain the "8086 RELOCATABLE OBJECT MODULE FORMATS" manual (order number: 121748-001) from Intel. I found the manual to be difficult reading, but seems to be the only info on the subject. As for creating .COM files which are beginning at 0200h instead of 0100h, try removing the ORG statement. CI's C86 assembler may be adding 0100h to the base address. I have not heard of anyone else having this problem. Do you have anything defined BEFORE your ORG statement? - Lester Waters