kelvin@arizona.UUCP (Kelvin Nilsen) (12/08/84)
I'm stuck with a Digital Research C compiler, linker, etc. and am trying to improve its library routines (give them DOS 2.0 facilities and remove their stupid startup code that messes up file redirection...) The reason I'm stuck with Digital Research is that I'm a grad student without much money to pay for even a DeSmet compiler right now. Anyway, does anyone have any experience at all linking stand alone programs using link86? Specifically, how do I get a handle on where the data segment is supposed to start? (I'm linking without prefix as I don't like the prefix code that DR insists on linking in to every program). To refresh your memory, when an EXE file loads, its stack and code segments are initialized but the data and extra segments point to the system prefix. The startup code must somehow initialize the data segment to match what the linker put out. I assume the solution to my problem is either an assembler directive that permits me to symbolically represent the start of a segment, or a magic cookie hidden away somewhere in the load image. (I've been unsuccesful with either approach so far). Thanks for the help.