Split I&D PDP/11's (was: Re: Data in text segment)
The Beach Bum
jfh at rpp386.Dallas.TX.US
Tue Oct 25 06:31:35 AEST 1988
In article <1988Oct21.173920.17017 at utzoo.uucp> henry at utzoo.uucp (Henry Spencer) writes:
>In article <31029 at oliveb.olivetti.com> jerry at olivey.UUCP (Jerry Aguirre) writes:
>>... If an instuction refference a value that is PC
>>relative then the value is fetched from text space. This is fairly easy
>>to do in the hardware and doesn't require adding new instructions or
>>addressing modes. I am pretty sure this is the way the PDPs handled
>>split I/D.
>
>Nope, sorry, wrong. Split-space pdp11s fetched from instruction space
>only when the thing being fetched was logically part of the instruction
>stream. PC-relative fetches went to data space. There was absolutely
>no way to read data from text space.
The only two addressing modes which generated I-space references where the
PC post-increment ones. So
MOV (PC)+,R0 ; Really just a
.WORD 1234 ; MOV #1234,R0
would fetch the word 1234 from I-space and stuff it into R0, and then
MOV @(PC)+,R0 ; Really just a
.WORD 1234 ; MOV @#1234,R0
would fetch from the word at address 1234 in D-space. The regular
register-plus-displacement and register-indirect[-with-displacement]
didn't generate I-space references.
>>My supprise was that the compiler was smart enough to realize the the
>>string could never be written to and placed it in the shared readonly
>>area...
>
>Actually, the compiler was probably assuming this rather than discovering
>it. K&R says that strings are modifiable, but many people disliked this
>and felt it should have been otherwise. Some of them wrote compilers.
I believe the idiom was to run sed over the .s file from compiling with
cc -S foo.c. I don't know that any C compiler for the '11 would put
strings into a readonly data segment on its own.
And as we have now beaten to death, you can't put strings in I-space
because they are then lost forever ...
--
John F. Haugh II +----Make believe quote of the week----
VoiceNet: (214) 250-3311 Data: -6272 | Nancy Reagan on Richard Stallman:
InterNet: jfh at rpp386.Dallas.TX.US | "Just say `Gno'"
UucpNet : <backbone>!killer!rpp386!jfh +--------------------------------------
More information about the Comp.unix.wizards
mailing list