Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sun-barr!apple!snorkelwacker!usc!samsung!uunet!bfmny0!tneff From: tneff@bfmny0.BFM.COM (Tom Neff) Newsgroups: comp.sys.intel Subject: Re: iC86 absolute mapping of vars Message-ID: <15843@bfmny0.BFM.COM> Date: 11 Sep 90 06:36:35 GMT References: <9779@discus.technion.ac.il> Reply-To: tneff@bfmny0.BFM.COM (Tom Neff) Lines: 16 In article <9779@discus.technion.ac.il> dario%techunix.bitnet@lilac.berkeley.edu (Dario Ringach) writes: >Does anyone know how to place an iC86 variable at a specific >absolute address? Thanks. One approach would be to initialize a pointer to the variable using an absolute value, e.g. char *bios_copyright = (char *) 0xf8000064; But if you absolutely must define a name with external scope which the linker will map to a given absolute address, your best bet is to create an ASM86 module with the proper absolute origin, and defining the variable as a FAR symbol. Assemble with NOTYPE and link with your program, declaring the symbol in C with the 'far' keyword. For most purposes I would go with the first method.