Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!rlgvax!dennis From: dennis@rlgvax.UUCP (Dennis.Bednar) Newsgroups: comp.sys.ibm.pc Subject: ASM segment questions Message-ID: <700@rlgvax.UUCP> Date: Fri, 13-Nov-87 00:20:35 EST Article-I.D.: rlgvax.700 Posted: Fri Nov 13 00:20:35 1987 Date-Received: Sun, 15-Nov-87 02:46:39 EST References: <585@ihnet.ATT.COM> Organization: Computer Consoles Inc, Reston VA Lines: 32 Summary: Some qustions on the segment directive In article <585@ihnet.ATT.COM>, tjr@ihnet.ATT.COM (Tom Roberts) writes: > > compiler to utilize that hardware. In the most common memory model > (SMALL), the above macros will not let you reference outside of your > DGROUP "segment" (DGROUP is a segment to the HW, but a "group" to the > linker - thanks a bunch Microsoft (:-(); Tom and the net: Its unclear to me exactly how the segment assembler directive is used by LINK. I even read one of the MS_DOS reference books, but the discussion was very cloudy (not even the technical editors understand this very well, it seems :-} ). I have my own vague notion that you use it to ensure that the segments declared in separate .asm files will be forced to reside at different non-overlapping offsets within in the same physical 64K segment (thats what you want for data, since it avoids constantly reloading the DS register if data were otherwise scattered over lots of different 64k physical segments, right?) So my question is this, given the following ASM statement: label segment para public 'CODE' how does the linker use label (if at all) and CODE (if at all)? Please post replies to the net, as I am sure others would be interested. -- FullName: Dennis Bednar UUCP: {uunet|sundc}!rlgvax!dennis USMail: CCI; 11490 Commerce Park Dr.; Reston VA 22091 Telephone: +1 703 648 3300