Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!caip!think!mit-eddie!genrad!decvax!cwruecmp!hal!ncoast!allbery From: allbery@ncoast.UUCP (Brandon Allbery) Newsgroups: net.unix Subject: Split I/D vs. Z8000 Message-ID: <1270@ncoast.UUCP> Date: Sat, 28-Jun-86 10:34:09 EDT Article-I.D.: ncoast.1270 Posted: Sat Jun 28 10:34:09 1986 Date-Received: Mon, 30-Jun-86 04:48:29 EDT References: <374@chinet.UUCP> <796@tekcrl.UUCP> Reply-To: allbery@ncoast.UUCP (Brandon Allbery) Followup-To: net.unix Distribution: net Organization: North Coast Computer Resources Lines: 37 Expires: Quoted from <796@tekcrl.UUCP> ["Re: cc(1): Questions about "-i""], by terryl@tekcrl.UUCP... +--------------- | In article <374@chinet.UUCP>, megabyte@chinet.UUCP (Mark E. Sunderlin) writes: | > | > My SYSIII machine has a -i option to its ld(1) command. It is described | > as such: | > -i Seperate the program text and data areas when the output file is | > executed. Text occupies segement 0; its origin is 0x0000. Data and bss | > occupy segement 1;data's origin is 0x0000. Bss follows data. | > ... | > If it means anything , I am running on a Zilog S8000 wih ZEUS 3.21 which is a | > sysIII port. | | Now to the -i flag to the loader. When you specify the -i option to the | loader, the program instructions and data are NOT really mixed in among each | other, even though it may look like that. What you have to remember is that | a program running in VIRTUAL space actually has two address spaces to access: | instruction space, and data space. Each space is separate (hence the name | separate I/D) and independent of one another. It is up to the loader to | link the file correctly with the correct address in either instruction space | or data space, so the program can run correctly. It is then up to the opera- | ting system to set up both sets of memory management registers (at least on | the PDP) correctly so the program can run. +--------------- Just one comment. The Z8000 (to be precise, the Z8001) is segmented rather similarly to the 8086; but the Z8001 can handle memory management. As a result, the PDP-11 style of memory management is used on Z8001's. (Why Z8001? The Z8000 doesn't have segment registers and can only address 64K. Period.) --Brandon -- ihnp4!sun!cwruecmp!ncoast!allbery ncoast!allbery@Case.CSNET ncoast!tdi2!brandon (ncoast!tdi2!root for business) 6615 Center St. #A1-105, Mentor, OH 44060-4101 Phone: +01 216 974 9210 CIS 74106,1032 MCI MAIL BALLBERY (part-time)