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